Summary: | Prevent uncaught error on multiple attempts to 'define' on 'CustomElementsRegistry' in islands.ts | ||
---|---|---|---|
Product: | Koha | Reporter: | Paul Derscheid <paul.derscheid> |
Component: | Architecture, internals, and plumbing | Assignee: | Paul Derscheid <me> |
Status: | Signed Off --- | QA Contact: | Testopia <testopia> |
Severity: | minor | ||
Priority: | P5 - low | CC: | david |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
GIT URL: | Change sponsored?: | --- | |
Patch complexity: | --- | Documentation contact: | |
Documentation submission: | Text to go in the release notes: | ||
Version(s) released in: | Circulation function: | ||
Attachments: |
[DO NOT PUSH] Bug 40150: Set up a duplicate call to hydrate()
Bug 40150: Prevent uncaught error on multiple attempts to 'define' on 'CustomElementsRegistry' in islands.ts Bug 40150: Set up a duplicate call to hydrate() Bug 40150: Prevent uncaught error on multiple attempts to 'define' on 'CustomElementsRegistry' in islands.ts |
Description
Paul Derscheid
2025-06-16 14:58:35 UTC
Created attachment 183287 [details] [review] [DO NOT PUSH] Bug 40150: Set up a duplicate call to hydrate() Created attachment 183288 [details] [review] Bug 40150: Prevent uncaught error on multiple attempts to 'define' on 'CustomElementsRegistry' in islands.ts If the name is already in use, we just return. It might make sense to have a console.debug() or similar to notify developers that this is happening. Open for other opinions. To test: 1) Apply the first patch which adds an additional hydrate call in main-container.inc 2) Go to acqui/acqui-home.pl 3) Verify that you see this error in the dev tool's console tab: Uncaught (in promise) NotSupportedError: Failed to execute 'define' on 'CustomElementRegistry': the name "acquisitions-menu" has already been used with this registry 4) Apply the second patch 5) Run `yarn js:build` in ktd (assuming ktd). 6) Reload the page without cached assets (Ctrl/Cmd + Shift + R) and verify that the uncaught error is gone. 7) Sign off. There's an additional problem here I (and probably you) noticed. But that's unrelated to this bug. Created attachment 183292 [details] [review] Bug 40150: Set up a duplicate call to hydrate() Signed-off-by: David Nind <david@davidnind.com> Created attachment 183293 [details] [review] Bug 40150: Prevent uncaught error on multiple attempts to 'define' on 'CustomElementsRegistry' in islands.ts If the name is already in use, we just return. It might make sense to have a console.debug() or similar to notify developers that this is happening. Open for other opinions. To test: 1) Apply the first patch which adds an additional hydrate call in main-container.inc 2) Go to acqui/acqui-home.pl 3) Verify that you see this error in the dev tool's console tab: Uncaught (in promise) NotSupportedError: Failed to execute 'define' on 'CustomElementRegistry': the name "acquisitions-menu" has already been used with this registry 4) Apply the second patch 5) Run `yarn js:build` in ktd (assuming ktd). 6) Reload the page without cached assets (Ctrl/Cmd + Shift + R) and verify that the uncaught error is gone. 7) Sign off. There's an additional problem here I (and probably you) noticed. But that's unrelated to this bug. Signed-off-by: David Nind <david@davidnind.com> Added assignee.
For some reason, the name for the [DO NOT PUSH] patch was changed. I'll obsolete my signed off patch.
> There's an additional problem here I (and probably you) noticed. But that's unrelated to this bug.
[Violation] 'setTimeout' handler took 62ms?
Otherwise, no idea. 8-)
|