{"record":{"id":"34a9aa8789179b1f","repo":"perspective-dev/perspective","slug":"viewer-charts-plugins-already-registered-alread","errorCode":null,"errorMessage":"viewer-charts plugins already registered (${already_registered.length}); skipping duplicate registration (Perspective was loaded more than once on this page).","messagePattern":"viewer-charts plugins already registered \\((.+?)\\); skipping duplicate registration \\(Perspective was loaded more than once on this page\\)\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/viewer-charts/src/ts/index.ts","lineNumber":55,"sourceCode":"            }\n\n            customElements.define(\n                tagName,\n                class extends HTMLPerspectiveViewerWebGLPluginElement {\n                    _chartType = chart;\n                    static _chartType = chart;\n                },\n            );\n\n            customElements.whenDefined(\"perspective-viewer\").then(async () => {\n                const Viewer = customElements.get(\"perspective-viewer\") as any;\n                await Viewer.registerPlugin(tagName);\n            });\n        }\n    });\n\n    if (already_registered.length > 0) {\n        console.warn(\n            `viewer-charts plugins already registered (${already_registered.length}); skipping duplicate registration (Perspective was loaded more than once on this page).`,\n        );\n    }\n}\n\nregister();\n","sourceCodeStart":37,"sourceCodeEnd":62,"githubUrl":"https://github.com/perspective-dev/perspective/blob/11c8238c0c9c0b9e490b5a6a2dc277afad1e980a/packages/viewer-charts/src/ts/index.ts#L37-L62","documentation":"Error \"viewer-charts plugins already registered (${already_registered.length}); skipping duplicate registration (Perspective was loaded more than once on this page).\" thrown in perspective-dev/perspective.","triggerScenarios":"Thrown at packages/viewer-charts/src/ts/index.ts:55 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Deduplicate imports of the viewer-charts package so it is evaluated only once per page","Check bundler config for the package being emitted into multiple chunks","If multiple copies are intentional, treat the warning as informational — duplicate registration is safely skipped","Ensure all perspective-viewer and plugin builds come from a single package version"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"11c8238c0c9c0b9e490b5a6a2dc277afad1e980a","analyzedAt":"2026-09-09T00:35:19.377Z","contentChangedAt":"2026-09-09T00:35:19.377Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}