A malformed theme script address stops a widget's live preview
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 84/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript
Research direction
Read packages/core/src/runtime/previewRuntime.js around morphWidget and the URL resolution inside its surrounding try block. Then run the runtime tests in packages/core/src/runtime/__tests__/previewRuntimeMedia.test.js and add a case for a syntactically invalid address. Done means the invalid address is skipped or left to the browser, the remaining morph still applies, and the runtime test passes.
Written by the indexing model from the issue text.
Description
A badly written theme script address stops a widget's live preview.
morphWidget in previewRuntime.js (~1042) resolves each enqueued stylesheet/script address with new URL(url, document.baseURI) to de-duplicate it. A syntactically invalid address (e.g. http://[cdn.example/x.js, not merely a 404) throws there, the surrounding try (~1012-1069) returns false, and the widget's new markup is never applied: the editor posts WIDGET_MORPH_FAILED, which nothing handles, so that widget stops updating until the preview reloads. A full page load only loses the one script. Not reproduced; only a broken theme triggers it.
Done when: An address that can't be resolved is skipped (or left to the browser) and the rest of the morph still applies, with a runtime test.
Start: previewRuntime.js, previewRuntimeMedia.test.js. Source: 2026-10-07 review of b9c9fc13.
- Dominant language
- JavaScript
- Stars
- 162
- Forks
- 6
- Avg merge
- 12h 55m
- Merged PRs (30d)
- 2
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from tsiger/widgetizer
-
question
Difficulty 1/5 1-3 hours Newbie friendliness 82/100
tsiger/widgetizer#194 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
tsiger/widgetizer#181 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
tsiger/widgetizer#175 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
tsiger/widgetizer#174 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
tsiger/widgetizer#173 ·
All issues in tsiger/widgetizer
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
521xueweihan/HelloGitHub#4115 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
outline/outline#14348 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
area:install bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day