Repository navigation
Fix crashes from the October 9 error reports - #134
Merged
Merged
Conversation
- Treat Safari's "Cross-origin script load denied" as a chunk load failure, so page imports blocked by a network filter retry and reload. Community pages that still fail show a "could not load" screen with a working Try again, and are not reported as crashes. - Ask browsers not to machine-translate the editor and embed. The old meta tag used value= instead of content=, and Edge's translator kept crashing React with removeChild errors. - DOMElementRenderer only removes its element if it still contains it. - The sprite list no longer crashes when it mounts in the middle of a drag. - Restore points save with a blank thumbnail when there is no renderer (no WebGL), instead of failing and throwing from a leftover timer. - The gamepad addon stops early when there is no renderer. - A project that needs an extension MistWarp does not have shows a clear load error naming the extension, instead of the crash screen. Embeds no longer offer "Start a new project" inside the project page.
Deploying scratch-gui with
|
| Latest commit: |
8033094
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://f7a4e570.scratch-gui.pages.dev |
| Branch Preview URL: | https://oct10-error-fixes.scratch-gui.pages.dev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes from the October 9 error report export (60 open reports). Every report came from a build that already included #129, so these are new problems rather than repeats.
What changed
React.lazycached the failure), and the failure is not reported as a crash.removeChildcrashes (8 reports, all Edge 154).index.ejsandembed.ejshad<meta name="google" value="notranslate">, which browsers ignore. It now usescontent=, and the<html>element hastranslate="no", so the editor and embed are no longer machine-translated under React. The community site, which has a separate template, can still be translated.DOMElementRendereronly removes the stage canvas if it still contains it (2 of those 8 reports).SortableHOCno longer crashes with "Cannot destructure property 'top' of 'this.containerBox'" when it mounts in the middle of a drag.reading 'draw'. The gamepad addon also stops early instead of throwingreading 'canvas'.p7videosharingfrom another Scratch mod, now gets a load error that names the extension instead of the crash screen. Embeds no longer offer "Start a new project", which would open the editor inside the project page. The load error screen now also fills the embed.Engine fixes from the same export are in MistWarp/scratch-blocks and MistWarp/scratch-paint PRs on the
oct10-error-fixesbranch.Treated as noise, not changed: third-party extension errors (Shaders.js, roturVoice Advanced.js, Canvas.js, data: URL extensions, the Lily ClonesPlus.js load, and lab/text.js reading the null that
makeClonereturns at the clone limit, which TurboWarp does too), maze recursion,appVersion: dev, and the stale chunk on theux-bug-pass-octpreview.Screenshots
Editor opening a project that needs a missing extension:

The same screen in the dark theme:

The same project in an embed, with no "Start a new project" link:

A community page whose code chunk was blocked:

Testing
DOMElementRendererunmount, the missing-extension screen, the embed screen and the Safari message. The sortable test fails without the fix with the reported error.check:community-css,deps:check,test:unit:ci(2453 passed),build:deployandvalidate-deploy.Preview: https://oct10-error-fixes.scratch-gui.pages.dev/editor (for the missing-extension screen, open the editor with
?project_url=pointing at a project.json whoseextensionslists an unknown ID).