Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visiting /experimental gives empty blank page with Firefox #8082

Closed
TNW9imKLC3fv opened this issue Jan 9, 2019 · 7 comments
Closed

Visiting /experimental gives empty blank page with Firefox #8082

TNW9imKLC3fv opened this issue Jan 9, 2019 · 7 comments
Assignees
Labels
P1 S-Critical Prevents work, causes data loss and/or has no workaround T-Defect X-Regression

Comments

@TNW9imKLC3fv
Copy link

  • Browser: Firefox 43,0.1 (one of the last good versions before Mozilla went crazy and made changes that broke a lot of important addons like Self Destructing Cookies with very little time for warning and no consent from users) with NoScript addon (allowing JavaScript from riot.im)
  • OS: Windows 7 64-bit

Description

Visiting the /experimental address gives nothing but a white page, even after allowing JavaScript from riot.im with NoScript (Discord works fine with the older browser)

Steps to reproduce

  • Visiting the /experimental address with Firefox 43.0.1 with NoScript, whilst riot.im JavaScript is set to allow

Blank page instead of any content shown.

Log: sent/not sent? N/A, page has no no script content whatsoever, not even errors

@ara4n
Copy link
Member

ara4n commented Jan 9, 2019

what does the javascript console say?

@lampholder lampholder added the X-Needs-Info This issue is blocked awaiting information from the reporter label Jan 10, 2019
@TNW9imKLC3fv
Copy link
Author

unreachable code after return statement bundle.js:41596:4
unreachable code after return statement bundle.js:59558:12
unreachable code after return statement bundle.js:149977:4
SyntaxError: class is a reserved identifier bundle.js:264096:0

[ https://riot.im/experimental/bundles/a3fb9ff5e8dbf575e66e/bundle.js ]

CSS console:
Error in parsing value for 'display'. Declaration dropped. theme-status.css:8956:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:8991:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:9002:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:9013:13
Error in parsing value for 'justify-content'. Declaration dropped. theme-status.css:9019:25
Error in parsing value for 'word-break'. Declaration dropped. theme-status.css:9031:16
Unknown pseudo-class or pseudo-element '-webkit-input-placeholder'. Ruleset ignored due to bad selector. theme-status.css:9092:36
Error in parsing value for 'display'. Declaration dropped. theme-status.css:9124:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:9443:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:9496:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:9505:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:9701:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:9778:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:9806:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:9838:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:10193:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:10228:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:10239:13
Expected end of value but found 'content'. Error in parsing value for 'flex'. Declaration dropped. theme-status.css:10322:18
Error in parsing value for 'display'. Declaration dropped. theme-status.css:10459:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:10505:13
Expected end of value but found 'block'. Error in parsing value for 'display'. Declaration dropped. theme-status.css:10512:20
Error in parsing value for 'display'. Declaration dropped. theme-status.css:10590:13
Unknown pseudo-class or pseudo-element '-webkit-input-placeholder'. Ruleset ignored due to bad selector. theme-status.css:10617:32
Error in parsing value for 'display'. Declaration dropped. theme-status.css:10670:13
Unrecognized at-rule or error parsing at-rule '@charset'. theme-status.css:10713:0
Unknown property 'mask-repeat'. Declaration dropped. theme-status.css:10756:23
Unknown property 'mask-position'. Declaration dropped. theme-status.css:10758:25
Error in parsing value for 'display'. Declaration dropped. theme-status.css:10781:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:11098:13
Error in parsing value for 'display'. Declaration dropped. theme-status.css:11198:13
Unknown pseudo-class or pseudo-element '-webkit-input-placeholder'. Ruleset ignored due to bad selector. theme-status.css:11330:33
Error in parsing value for 'display'. Declaration dropped. theme-status.css:11390:17
Error in parsing value for 'display'. Declaration dropped. theme-light.css:213:13
Unknown pseudo-class or pseudo-element 'selection'. Ruleset ignored due to bad selector. theme-light.css:394:2
Error in parsing value for 'display'. Declaration dropped. theme-light.css:449:13
Error in parsing value for 'overflow-y'. Declaration dropped. theme-light.css:514:16
Error in parsing value for 'word-break'. Declaration dropped. theme-light.css:810:16
Error in parsing value for 'display'. Declaration dropped. theme-light.css:818:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:841:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:903:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:910:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:911:13
Unknown property 'grid-template-columns'. Declaration dropped. theme-light.css:913:29
Unknown property 'grid-template-rows'. Declaration dropped. theme-light.css:915:26
Error in parsing value for 'display'. Declaration dropped. theme-light.css:922:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:932:17
Error in parsing value for 'display'. Declaration dropped. theme-light.css:953:13
Unknown property 'user-select'. Declaration dropped. theme-light.css:964:23
Unknown property 'grid-column'. Declaration dropped. theme-light.css:1005:19
Unknown property 'grid-row'. Declaration dropped. theme-light.css:1007:16
Unknown property 'grid-column'. Declaration dropped. theme-light.css:1012:19
Unknown property 'grid-row'. Declaration dropped. theme-light.css:1014:16
Unknown property 'grid-column'. Declaration dropped. theme-light.css:1019:19
Unknown property 'grid-row'. Declaration dropped. theme-light.css:1021:16
Unknown property 'grid-column'. Declaration dropped. theme-light.css:1026:19
Unknown property 'grid-row'. Declaration dropped. theme-light.css:1028:16
Unknown property 'grid-column'. Declaration dropped. theme-light.css:1033:19
Unknown property 'grid-row'. Declaration dropped. theme-light.css:1035:16
Unknown property 'grid-column'. Declaration dropped. theme-light.css:1040:19
Unknown property 'grid-row'. Declaration dropped. theme-light.css:1042:16
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1062:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1077:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1143:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1215:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1227:13
Unknown property 'user-select'. Declaration dropped. theme-light.css:1235:23
Error in parsing value for 'word-break'. Declaration dropped. theme-light.css:1282:16
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1298:13
Unknown property 'user-select'. Declaration dropped. theme-light.css:1327:23
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1351:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1455:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1486:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1519:13
Error in parsing value for 'word-break'. Declaration dropped. theme-light.css:1650:16
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1682:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1708:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1774:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1787:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1803:13
Unknown property 'mask-repeat'. Declaration dropped. theme-light.css:1825:27
Unknown property 'mask-position'. Declaration dropped. theme-light.css:1827:29
Unknown property 'mask-size'. Declaration dropped. theme-light.css:1829:25
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1867:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1886:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1904:13
Expected end of value but found ','. Error in parsing value for 'cursor'. Declaration dropped. theme-light.css:1912:16
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1917:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:1939:13
Error in parsing value for 'word-break'. Declaration dropped. theme-light.css:1987:16
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2069:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2090:13
Error in parsing value for 'word-break'. Declaration dropped. theme-light.css:2175:16
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2177:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2194:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2413:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2519:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2552:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2568:13
Error in parsing value for 'position'. Declaration dropped. theme-light.css:2649:18
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2714:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2778:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2784:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2797:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:2831:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:3033:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:3057:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:3087:13
Unknown property 'mask-position'. Declaration dropped. theme-light.css:3160:25
Unknown property 'mask-position'. Declaration dropped. theme-light.css:3167:25
Unknown property 'mask-repeat'. Declaration dropped. theme-light.css:3184:27
Error in parsing value for 'display'. Declaration dropped. theme-light.css:3215:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:3326:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:3627:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:3806:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:3827:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:3881:12
Error in parsing value for 'display'. Declaration dropped. theme-light.css:3921:11
Unknown property 'speak'. Declaration dropped. theme-light.css:3952:9
Error in parsing value for 'display'. Declaration dropped. theme-light.css:4041:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:4108:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:4216:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:4301:13
Expected ']' to terminate attribute selector but found 'i'. Ruleset ignored due to bad selector. theme-light.css:4335:44
Error in parsing value for 'display'. Declaration dropped. theme-light.css:4400:13
Error in parsing value for 'word-wrap'. Declaration dropped. theme-light.css:4441:15
Error in parsing value for 'display'. Declaration dropped. theme-light.css:4571:13
Expected end of selector or a user action pseudo-class after pseudo-element but found ':'. Ruleset ignored due to bad selector. theme-light.css:4740:56
Unknown pseudo-class or pseudo-element 'selection'. Ruleset ignored due to bad selector. theme-light.css:4744:18
Unknown property 'user-select'. Declaration dropped. theme-light.css:4758:27
Error in parsing value for 'display'. Declaration dropped. theme-light.css:4897:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5005:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5098:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5136:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5158:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5159:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5186:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5263:13
Error in parsing value for 'align-items'. Declaration dropped. theme-light.css:5266:21
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5300:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5315:13
Unknown property 'mask-repeat'. Declaration dropped. theme-light.css:5357:27
Unknown property 'user-select'. Declaration dropped. theme-light.css:5428:23
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5718:13
Unknown property 'user-select'. Declaration dropped. theme-light.css:5753:23
Unknown property 'user-select'. Declaration dropped. theme-light.css:5805:23
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5926:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:5987:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:6011:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:6041:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:6159:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:6457:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:6566:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:6642:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:6650:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:6666:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:6693:13
Expected color but found '#\37 6CFA67F'. Error in parsing value for 'background-color'. Declaration dropped. theme-light.css:6777:22
Error in parsing value for 'display'. Declaration dropped. theme-light.css:6879:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7258:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7337:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7349:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7360:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7471:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7487:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7534:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7590:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7598:13
Unknown property 'user-select'. Declaration dropped. theme-light.css:7604:23
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7619:13
Unknown property 'user-select'. Declaration dropped. theme-light.css:7624:23
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7647:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:7745:13
Unknown property 'user-select'. Declaration dropped. theme-light.css:8067:15
Error in parsing value for 'text-align'. Declaration dropped. theme-light.css:8152:16
Error in parsing value for 'overflow-x'. Declaration dropped. theme-light.css:8217:16
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8382:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8455:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8542:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8554:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8698:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8758:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8831:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8866:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8877:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8888:13
Error in parsing value for 'justify-content'. Declaration dropped. theme-light.css:8894:25
Error in parsing value for 'word-break'. Declaration dropped. theme-light.css:8906:16
Unknown pseudo-class or pseudo-element '-webkit-input-placeholder'. Ruleset ignored due to bad selector. theme-light.css:8967:36
Error in parsing value for 'display'. Declaration dropped. theme-light.css:8999:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:9318:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:9367:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:9376:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:9572:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:9649:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:9677:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:9709:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:10054:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:10089:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:10100:13
Expected end of value but found 'content'. Error in parsing value for 'flex'. Declaration dropped. theme-light.css:10183:18
Error in parsing value for 'display'. Declaration dropped. theme-light.css:10320:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:10366:13
Expected end of value but found 'block'. Error in parsing value for 'display'. Declaration dropped. theme-light.css:10373:20
Error in parsing value for 'display'. Declaration dropped. theme-light.css:10451:13
Unknown pseudo-class or pseudo-element '-webkit-input-placeholder'. Ruleset ignored due to bad selector. theme-light.css:10478:32
Error in parsing value for 'display'. Declaration dropped. theme-light.css:10531:13
Unrecognized at-rule or error parsing at-rule '@charset'. theme-light.css:10574:0
Unknown property 'mask-repeat'. Declaration dropped. [theme-light.css:10617:23]
Unknown property 'mask-position'. Declaration dropped. theme-light.css:10619:25
Error in parsing value for 'display'. Declaration dropped. theme-light.css:10642:13
Error in parsing value for 'display'. Declaration dropped. theme-light.css:10959:13
downloadable font: kern: Too large subtable., table discarded (font-family: "Open Sans" style:normal weight:normal stretch:normal src index:0) source: https://riot.im/experimental/fonts/Open_Sans/OpenSans-Regular.ttf theme-light.css:9:12

[ https://riot.im/experimental/bundles/a3fb9ff5e8dbf575e66e/theme-status.css ]
[ https://riot.im/experimental/bundles/a3fb9ff5e8dbf575e66e/theme-light.css ]

Alt Text

@jryans
Copy link
Collaborator

jryans commented Jan 11, 2019

(As an aside, I would urge you to use an up to date browser, as Firefox 43 is now quite an old version, and there are literally hundreds of known vulnerabilities that could potentially affect you.)

It appears that somehow, a single module SdkConfig is not being compiled down to ES5, so it still has the keyword class from ES6 / ES2015 classes, which were first supported in Firefox 45.

@jryans
Copy link
Collaborator

jryans commented Jan 11, 2019

It appears this is a regression because of the following line:

https://github.com/vector-im/riot-web/blob/710e295b44c78d72bc96011fe91f72148e0e9868/src/vector/rageshakesetup.js#L29

which was added as part of v0.17.8. Since it uses matrix-react-sdk/src instead of lib, the untransformed original source is used, which includes the class keyword.

@jryans jryans added T-Defect P1 X-Regression S-Critical Prevents work, causes data loss and/or has no workaround and removed X-Needs-Info This issue is blocked awaiting information from the reporter redesign labels Jan 11, 2019
@jryans jryans self-assigned this Jan 11, 2019
jryans added a commit to jryans/element-web that referenced this issue Jan 11, 2019
This was originally added in element-hq#7755, which pulled in the original source for the
module, breaking ancient browsers without support for classes (element-hq#8082).
jryans added a commit that referenced this issue Jan 11, 2019
This was originally added in #7755, which pulled in the original source for the
module, breaking ancient browsers without support for classes (#8082).
jryans added a commit to jryans/element-web that referenced this issue Jan 11, 2019
This was originally added in element-hq#7755, which pulled in the original source for the
module, breaking ancient browsers without support for classes (element-hq#8082).
jryans added a commit that referenced this issue Jan 11, 2019
This was originally added in #7755, which pulled in the original source for the
module, breaking ancient browsers without support for classes (#8082).
@jryans
Copy link
Collaborator

jryans commented Jan 11, 2019

This should now be fixed on experimental and develop. Please try experimental again to confirm it's fixed on your end as well.

@TNW9imKLC3fv
Copy link
Author

TNW9imKLC3fv commented Jan 12, 2019

Registration gets as far as "This Home Server would like to make sure you are not a robot" stage, but there is nothing beneath those words other than a language selector and page footer, no errors shown on page (scripts from matrix.org and riot.im allowed). https://stackoverflow.com/questions/2170484/shouldnt-we-use-noscript-element/10480048#10480048 might be relevant

Looking at NoScript I saw that it had blocked scripts from google.com without permission (because of the dubious though not-yet-illegal tracking without consent they do including invisible 1x1 gifs / web beacons), so I temporarily allowed google.com and refreshed the page but instead it took me to the main chat page as an anonymous account instead of continuing the registration (when I refreshed I didn't get an option to resubmit form data)

  1. I manually went back to the registration page

  2. I typed in the username and password twice again

  3. Click register

  4. Back to the same page (logged in as anonymous chat, registration page gone and no mention of having tried to register) a second time, same issue, except this time it's gstatic.com - I refresh and again it loses all registration process without any option on refresh to resend the form data

  5. Have to manually revist the registration page again

  6. Have to refill the form again

  7. Works, but might put some people off from keeping trying (needed to fill in registration form 3 times)

( And yeah I know but I've got limited ways to protest Mozilla employees seem to keep putting "growth" and self-interest over their users, if self harm is all there is that's all I have I guess (Self-Destructing Cookies addon was made unusable with the new Firefox along with NoScript even too, just completely uncaring, and ironically about a year before GDPR Mozilla Corporation also deliberately removed the functionality Firefox ALREADY HAD in Privacy tab to 'prompt before accepting cookies' )

@jryans
Copy link
Collaborator

jryans commented Jan 14, 2019

It sounds you hit a few snags through the registration flow, but overall, the app is at least working, so I'll go ahead and close this. Thanks again for the report!

@jryans jryans closed this as completed Jan 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 S-Critical Prevents work, causes data loss and/or has no workaround T-Defect X-Regression
Projects
None yet
Development

No branches or pull requests

4 participants