Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

A malformed theme script address stops a widget's live preview

Open Beginner friendly
#172 0 comments 0 reactions 0 assignees View on GitHub

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
Domain
frontend, testing

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

bug

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from tsiger/widgetizer

All issues in tsiger/widgetizer

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.