JustOff / github-wc-polyfill

Ensure that all GitHub and GitLab scripts required for UXP and SeaMonkey are loaded correctly
https://justoff.github.io
Mozilla Public License 2.0
103 stars 19 forks source link

Mostly empty page on most page loads #68

Open jrfnl opened 2 years ago

jrfnl commented 2 years ago

As of today, I'm seeing mostly empty pages on initial page load:

image

This is accompanied by the following JS error:

12:32:57.307 TypeError: parent is null
Stack trace:
addEventListener@https://github.com/JustOff/github-wc-polyfill/issues:122:11
start@https://github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js:3:12196
connect@https://github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js:17:36272
connectedCallback@https://github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js:1:2610
Ve@https://github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js:17:42518
extractForeignFrameElement@https://github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js:17:40187
loadResponse@https://github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js:17:37295
 1 chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js:17:40476
    extractForeignFrameElement https://github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js:17:40476
    loadResponse https://github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js:17:37295

Doing a reload/F5 allows for the page to display, but having to do that every other click gets old fast.

Vangelis66 commented 2 years ago

I can replicate on recent (UXP-based) Serpent 52.9.0; it's quite random, though, but, as OP mentioned, quite annoying šŸ˜ž ...

It does happen also with latest palefill, which was recommended as a substitute for this, no longer maintained, extension...

Since the TypeError message is generated from the following GH script:

https://github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js

... I tried blocking it with uBlock Origin (legacy),

"My Filters" tab, add:

! github.com
||github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-539e3d6a1773.js$script,important

... and I haven't witnessed any breakage thus far... YMMV, of course šŸ˜‰ . This isn't a solution per se, just a "dirty" workaround...

Vangelis66 commented 2 years ago

... Today, GH have started serving another manuelpuyol_turbo script that breaks things for me (latest Serpent 52.9.0 32-bit),

https://github.githubassets.com/assets/vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-b12e520649c0.js

I've blocked that one too in uBlock Origin (legacy), so far so good:

! github.com
||github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-be659c79aff6.js$script,domain=github.com,important
||github.githubassets.com/assets/vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-b12e520649c0.js$script,domain=github.com,important

01/07/2022 EDIT: It looks like that second script is no more being served:

https://github.githubassets.com/assets/vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-b12e520649c0.js => Not Found 

so the blocking rule initially posted in my previous comment should be just enough for now... šŸ˜‰

jrfnl commented 2 years ago

Looks like the Palefill extension doesn't solve this issue so far and I don't have the uBlock origin extension.

rofl0r commented 2 years ago

... Today, GH have started serving another manuelpuyol

might make sense to contact that dude and tell him to fix his shit

dirkf commented 2 years ago

Looks like they flicked a switch that enables (eg, environment-e9a18cc2906a.js:1:1909) v=n(y=>y?.tagName==="TURBO-FRAME", ...) instead of v=n(y=>(y?y.tagName:null)==="TURBO-FRAME", ...) or v=n(y=>(y && y.tagName)==="TURBO-FRAME").

00:05:29.115 SyntaxError: expected expression, got '.'
vendors-node_modules_delegated-events_dist_index_js-node_modules_stacktrace-parser_dist_stack-74aed8-42898397c9f5.js:2:7624
00:05:29.122 SyntaxError: expected expression, got '.'
environment-e9a18cc2906a.js:1:1909
00:05:32.099 SyntaxError: expected expression, got '.'
github-elements-abe1614d4045.js:1:2185
00:05:32.101 SyntaxError: expected expression, got '.'
element-registry-a03b4cfb3296.js:1:927
00:05:32.121 SyntaxError: expected expression, got '.'
vendors-node_modules_github_paste-markdown_dist_index_esm_js-node_modules_github_quote-select-0221c5-f00978376043.js:22:39690
00:05:32.123 SyntaxError: expected expression, got '.'
app_assets_modules_github_behaviors_pjax_ts-026aa5602248.js:1:1483
00:05:32.125 SyntaxError: expected expression, got '.'
app_assets_modules_github_behaviors_keyboard-shortcuts-helper_ts-app_assets_modules_github_be-af52ef-8ba1beffba70.js:2:19
00:05:32.127 SyntaxError: expected expression, got '.'
app_assets_modules_github_behaviors_details_ts-app_assets_modules_github_behaviors_include-fr-019af8-b06209b0c355.js:1:2506
00:05:32.143 SyntaxError: expected expression, got '.'
behaviors-871d9186541b.js:1:1631
00:05:32.146 SyntaxError: expected expression, got '.'
notifications-global-04c0dc62c5c6.js:1:10454
00:05:32.159 SyntaxError: expected expression, got '.'
optimizely-306a62cb1dd2.js:1:1554
00:05:32.166 SyntaxError: expected expression, got '.'
vendors-node_modules_github_browser-support_lib_index_js-node_modules_github_catalyst_lib_ind-10bc67-064ae3c602cb.js:1:6122
00:05:32.168 SyntaxError: expected expression, got '.'
issues-42ac5417fe6e.js:1:9163
00:05:32.177 SyntaxError: expected expression, got '.'
structured-issues-7c2aa6e49a99.js:1:9510
Vangelis66 commented 2 years ago

might make sense to contact that dude and tell him to fix his s**t

... Well, he's on GitHub,

https://github.com/manuelpuyol

currently "Building UI @github" and committing code to https://github.com/github/browser-support (among others...)

@dirkf Is your log from SeaMonkey 2.53? Looks like they broke browsers without native Optional Chaining Operator ("?.") support :angry: ...

Addendum: In a Chromium 78 fork (360EEv12), at least one of the GH scripts now also requires native browser support for the Nullish Coalescing Operator ("??"):

Uncaught SyntaxError: Unexpected token '?'  https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-50b1c3ae31f7.js:49
dirkf commented 2 years ago

2.53.12. Forthcoming 2.53.13 has ?. but may break other extensions in interesting ways.

rofl0r commented 2 years ago

might make sense to contact that dude and tell him to fix his shit ... Well, he's on GitHub, https://github.com/manuelpuyol

ok, i'll use my magical powers to summon him @manuelpuyol @manuelpuyol @manuelpuyol

dirkf commented 2 years ago

Unfortunately it's not Manuel's source that's the problem, it's how GH sends the code, as well as their apparent complete lack of anything that might pass for version control or release management, which is really beyond ironic.

roytam1 commented 2 years ago

a test version with following commits from palefill included: https://github.com/martok/palefill/commit/1526928d28148b6cc27750360715b16d6effecbf (with fix in comment applied) https://github.com/martok/palefill/commit/7f939ebaae009929da6216b31124f5fcc674e19c https://github.com/martok/palefill/commit/c3b667959882275d09db4c1fde4f5801c145cd7a

(rename to .xpi to install) github-wc-polyfill-1.2.19.1-unofficial.zip

(EDIT: updated version in https://github.com/JustOff/github-wc-polyfill/issues/68#issuecomment-1218104421 )

AroKol78 commented 2 years ago

github-wc-polyfill-1.2.19.1-unofficial

generally solves the problem. sometimes "discussions" are displayed strangely (it helps to reload the page)

garoto commented 2 years ago

Just updated to latest Palemoon (v31.1.0) so just I could use this shit site again and vangelis66 uBlock directive made it finally usable. Thanks dude!

And while at it, holy shit, it's all getting to the point of no return faster and faster. Meanwhile, child of the moon can't commit a single C++ line of code to address any of these major websites breakages.

It was all a scam from the beggining. At this pace, SerenityOS libweb will be more compliant with shitty modern webtech standards faster then one can write "lol, just use Chrome dude".

wyatt8740 commented 2 years ago

@roytam1 Thanks for your work.

However, this does not appear to fix the problem in Seamonkey 2.53.7, though. Unsure why that is, since WebComponents is still largely an enigma to me.

I don't know if this will be useful to you, but... here's some console information from loading the github.com home page:

SyntaxError: expected expression, got '.'[Learn More]  vendors-node_modules_delegated-events_dist_index_js-node_modules_stacktrace-parser_dist_stack-74aed8-6575784e93e6.js:2:7614
SyntaxError: expected expression, got '.'[Learn More]  environment-926f8956f4a3.js:1:1892
SyntaxError: expected expression, got '.'[Learn More]  vendors-node_modules_github_catalyst_lib_index_js-node_modules_github_time-elements_dist_index_js-161222d671e3.js:1:4534
SyntaxError: expected expression, got '.'[Learn More]  github-elements-7dc552b55468.js:1:2185
SyntaxError: expected expression, got '.'[Learn More]  element-registry-9f412aa21311.js:1:927
SyntaxError: expected expression, got '?'[Learn More]  vendors-node_modules_lit-html_lit-html_js-50b1c3ae31f7.js:49:2049
SyntaxError: expected expression, got '.'[Learn More]  vendors-node_modules_github_remote-form_dist_index_js-node_modules_github_catalyst_lib_index_-bd1f73-5ee6d4eae317.js:1:6921
SyntaxError: expected expression, got '.'[Learn More]  app_assets_modules_github_behaviors_pjax_ts-683fa5a6e739.js:1:1483
SyntaxError: expected expression, got '.'[Learn More]  app_assets_modules_github_behaviors_keyboard-shortcuts-helper_ts-app_assets_modules_github_be-af52ef-8ba1beffba70.js:2:19
SyntaxError: expected expression, got '.'[Learn More]  app_assets_modules_github_behaviors_details_ts-app_assets_modules_github_behaviors_include-fr-019af8-b06209b0c355.js:1:2506
SyntaxError: expected expression, got '.'[Learn More]  behaviors-d4237c1eb484.js:1:1631
SyntaxError: expected expression, got '.'[Learn More]  notifications-global-e675abea1a31.js:1:9753
SyntaxError: expected expression, got '.'[Learn More]  dashboard-9b462821a067.js:1:3128
SyntaxError: expected expression, got '.'[Learn More]  vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_github_catalyst_lib-6e1996-edf16be7eea2.js:1:7489
SyntaxError: expected expression, got '.'[Learn More]  app_assets_modules_github_command-palette_items_help-item_ts-app_assets_modules_github_comman-7e29fd-8bf44b133599.js:1:5759
SyntaxError: expected expression, got '.'[Learn More]  command-palette-fc0a839e03b8.js:1:3452

Palefill also does not work.

roytam1 commented 2 years ago

However, this does not appear to fix the problem in Seamonkey 2.53.7,

please update your seamonkey to 2.53.13.

wyatt8740 commented 2 years ago

@roytam1 Good idea. I was actually just doing that since I realized after commenting how out of date 2.53.7 was.

Compiling it now. Will be back in a few hours if all goes well.

Vangelis66 commented 2 years ago

@wyatt8740

Your report is just a duplicate of dirkf's comment above šŸ˜‰ ; last Monday, Microsoft (current owners of GitHub) started serving newer scripts that contained the Optional Chaining (?.) and Nullish Coalescing (??) operators; both of them are supported by Chromium >=80, Firefox >=74 and Pale Moon == 31.1.0 (also, by most-up-to-date UXP forks), but NOT SeaMonkey <=2.53.12 šŸ˜¢ ...

The XPI kindly attached by @roytam1 is targeting platforms already supporting natively those two operators šŸ˜‰ ... BTW:

SyntaxError: expected expression, got '.'

signals that your browser/platform doesn't support "?.", while

`SyntaxError: expected expression, got '?'

signals it doesn't support "??"...

palefill also does not work.

See open issue https://github.com/martok/palefill/issues/29

EDIT: Newer comments showed up as I was typing this... If you can, yes, update to SM 2.53.13+...

wyatt8740 commented 2 years ago

@Vangelis66 @roytam1 thank you; finished my seamonkey 2.53.13b1 build and it is working. Sorry for the bother.

AroKol78 commented 2 years ago

slightly modified filter thought by Vangelis66 (previous comments) ||github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-$script,domain=github.com (resistant to changing numbers) (or ||github.githubassets.com/assets/*manuelpuyol_turbo_dist_turbo_es2017-esm_js-$script,domain=github.com)

github-wc-polyfill-1.2.19.1-unofficial despite the action, I blocked anyway (...manuelpuyol_turbo...) - the effect works faster and uses less memory

(by the way - broken https://github.community/)

dirkf commented 2 years ago

... Optional Chaining (?.) and Nullish Coalescing (??) operators ... NOT [supported by] SeaMonkey <=2.53.12 cry ...

??: 2.53.12+ ?.: 2.53.13+

There are some exotic cases of ?. that, reading between the lines of the release notes, haven't yet been sorted (in .13).

Vangelis66 commented 2 years ago

Well, I can't run any SM Windows build in this old x86 laptop past v2.49.5 (FxESR 52.9.1 based?), so I can't test myself... In retrospect, I should've been more careful when reading the log dirkf posted above, apparently on SM v2.53.12, in that only missing support for "?." is reported there - unlike the log by wyatt8740 (in SM v2.53.7 at the time), where both operators were missing...

??: 2.53.12+ ?.: 2.53.13+

Thanks :smile: , I got the "real" :wink: story already elsewhere - but you, too, follow that thread...

EDIT: In my defence, I did write:

both of them are supported by Chromium >=80, ... , but NOT SeaMonkey <=2.53.12

which seems to be a true statement, because 2.53.12 ONLY supports ONE of them :stuck_out_tongue_winking_eye: ...

AroKol78 commented 2 years ago

(by the way - broken https://github.community/)

on Serpent52.9.0 once I raised the version (68-->91 useragent) it seems to work (by the way, "webmasters" šŸ‘Ž is artificially inflating the requirements)


slightly modified filter thought by Vangelis66 (previous comments) ||github.githubassets.com/assets/chunk-vendors-node_modules_manuelpuyol_turbo_dist_turbo_es2017-esm_js-$script,domain=github.com (resistant to changing numbers) (or ||github.githubassets.com/assets/*manuelpuyol_turbo_dist_turbo_es2017-esm_js-$script,domain=github.com)

github-wc-polyfill-1.2.19.1-unofficial despite the action, I blocked anyway (...manuelpuyol_turbo...) - the effect works faster and uses less memory

i unlocked (...manuelpuyol_turbo...) - looks fixed, no longer have a lot of CPU and memory usage (at my place on Serpent52)

roytam1 commented 2 years ago

a test version with following commits from palefill included: martok/palefill@1526928 (with fix in comment applied) martok/palefill@7f939eb martok/palefill@c3b6679

(rename to .xpi to install) github-wc-polyfill-1.2.19.1-unofficial.zip

a slightly updated version for importing https://github.com/martok/palefill/commit/526488cc007c97f3979b8059d73835607fb65c4b and https://github.com/martok/palefill/commit/f6b16ce72d8b779d5328bd98b211fd23142acd61 : (rename to .xpi to install) github-wc-polyfill-1.2.19.2-unofficial.zip

(EDIT: my changes are now tracked in https://github.com/roytam1/github-wc-polyfill/tree/fixes )

AroKol78 commented 2 years ago

@roytam1 https://github.com/martok/palefill/issues/46#issuecomment-1244803756 maybe you can apply in https://github.com/roytam1/github-wc-polyfill/blob/fixes/bootstrap.js#L305 (github-wc-polyfill-1.2.19.2-unofficial)

roytam1 commented 2 years ago

@roytam1 martok/palefill#46 (comment) maybe you can apply

sure. github-wc-polyfill-1.2.19.3-unofficial.zip

decembre commented 1 year ago

I had this problem with Waterfox Classic too.

The "github-wc-polyfill-1.2.19.3-unofficial" seems fix it... Maybe you can update the official extension?