{"record":{"id":"8ae2afdd7291172d","repo":"ruvnet/ruflo","slug":"wasm-module-name-already-registered-skipping","errorCode":null,"errorMessage":"WASM module '${name}' already registered, skipping","messagePattern":"WASM module '(.+?)' already registered, skipping","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"v3/plugins/ruvector-upstream/src/registry.ts","lineNumber":32,"sourceCode":"  bridge: WasmBridge;\n  loadedAt?: Date;\n  lastUsed?: Date;\n  useCount: number;\n}\n\n/**\n * WASM Module Registry\n */\nexport class WasmRegistry {\n  private modules: Map<string, RegistryEntry> = new Map();\n  private initPromises: Map<string, Promise<void>> = new Map();\n\n  /**\n   * Register a WASM bridge\n   */\n  register(name: string, bridge: WasmBridge): void {\n    if (this.modules.has(name)) {\n      console.warn(`WASM module '${name}' already registered, skipping`);\n      return;\n    }\n\n    this.modules.set(name, {\n      bridge,\n      useCount: 0,\n    });\n  }\n\n  /**\n   * Get a WASM bridge by name\n   */\n  async get<T = unknown>(name: string): Promise<WasmBridge<T> | null> {\n    const entry = this.modules.get(name);\n    if (!entry) {\n      return null;\n    }\n","sourceCodeStart":14,"sourceCodeEnd":50,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/plugins/ruvector-upstream/src/registry.ts#L14-L50","documentation":"Idempotence guard in WasmRegistry.register(): a bridge under the given name already exists, so the duplicate registration is skipped and the original bridge stays active. Harmless double-register, usually module re-initialization.","triggerScenarios":"register() is called with a WASM module name already present in the registry (duplicate plugin init or repeated load); the duplicate registration is skipped.","commonSituations":"See trigger scenarios.","solutions":["Check for duplicate registration of the same WASM module name and register each module once.","If re-registration is intentional, use an explicit replace/update API instead of relying on skip behavior.","Verify module names are unique across plugins to avoid collisions."],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}