amark/gun · error · Error
Reactive for '${debugName}' already exists
Error message
Reactive for '${debugName}' already exists What it means
Duplicate reactive-setter registration in the EDIDE wave reactive system. initSetter() keeps a Map of variable name -> setter; when a new reactive is initialized under a name that already has a setter, it throws to prevent silently overwriting an existing reactive's update logic. The debugName in the message is the setter's type label (or the variable name).
Source
Thrown at lib/wave.js:279
setters = edide.keep(new Map); // varName => setter:func
dependees = edide.keep(new Map); // varName => deps:
setLinks = edide.keep(new Map); // for reactiveGraph, show setters inside reactive/setter:s
debugging = false; //edide.editorModule?
depsRequired = new Map; // varName : dependsOn
inInitCall = false; // TODO use dependsOn? instead
dependsOn = new Set(); // remove
initSetter = (name, setter) => {
var debugName, err, parent, ref, val;
debugName = (ref = setter.type) != null ? ref : name;
if ((setters.get(name)) != null) {
throw Error(`Reactive for '${debugName}' already exists`);
}
setters.set(name, setter);
if (inInitCall) {
throw Error(`can't create reactive setter (for '${debugName}') inside reactive context`);
}
inInitCall = name;
dependsOn.clear(); // TODO clear => new Set
try {
val = setter(); // TODO: some day add revar and unvar as params; helps with multiple reactives to keep the separated
} catch (error) {
err = error;
inInitCall = false;
err.message = `Reactive initialization of '${debugName}' failed: ${err.message}`;
throw err;
}
parent = null;
dependsOn.forEach((depName) => {
var deps;View on GitHub (pinned to 552227599d)
Solutions
- Rename the new reactive so it does not collide with the existing one
- Remove or unbind the old reactive for that name before creating a new one
- Check app init code for accidental double registration of the same reactive (e.g. hot reload or re-running a setup block)
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at lib/wave.js:279 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of amark/gun@552227599d (2026-09-02).
Data as JSON: /api/errors/50201b14d52842fd.
Report an issue: GitHub.