Skip to content

DF0039: Duplicate JSON-Render View

Message

A JSON-render view with id "{id}" already exists in scope "{scope}".

Cause

Each JSON-render view has a stable, author-supplied id that forms its shared-state key devframe:json-render:<scope>:<id>. Ids must be unique within a scope so the client keeps a stable subscription across reconnects. Creating a second view with the same id in the same scope throws instead of clobbering the first.

Example

ts
// ✗ Bad — same id twice in the same scope
createJsonRenderView(ctx, { id: 'metrics', spec })
createJsonRenderView(ctx, { id: 'metrics', spec }) // DF0039

// ✓ Good — dispose the previous view first, or use a distinct id
const view = createJsonRenderView(ctx, { id: 'metrics', spec })
view.dispose()
createJsonRenderView(ctx, { id: 'metrics', spec })

Fix

Give each view a stable id unique within its scope, or dispose the previous view before recreating it. Scope defaults to the context namespace (or global); pass scope to isolate ids explicitly.

Source

Released under the MIT License.