{"record":{"id":"70bc77f23cabc595","repo":"TanStack/table","slug":"feature-not-supported-in-current-reactivity-implem-70bc77","errorCode":null,"errorMessage":"Feature not supported in current reactivity implementation","messagePattern":"Feature not supported in current reactivity implementation","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/table-core/src/store-reactivity-bindings.ts","lineNumber":24,"sourceCode":" * with `createOptionsStore: true` so `table.optionsStore` is available for subscriptions.\n *\n * @example\n * ```ts\n * import { constructTable, tableFeatures } from '@tanstack/table-core'\n * import { storeReactivityBindings } from '@tanstack/table-core/store-reactivity-bindings'\n *\n * const table = constructTable({\n *   features: tableFeatures({ coreReactivityFeature: storeReactivityBindings() }),\n *   // ...\n * })\n * ```\n */\nexport function storeReactivityBindings(): TableReactivityBindings {\n  return {\n    createOptionsStore: true,\n    wrapExternalAtoms: false,\n    addSubscription: () => {\n      throw new Error(\n        'Feature not supported in current reactivity implementation',\n      )\n    },\n    unmount: () => {\n      throw new Error(\n        'Feature not supported in current reactivity implementation',\n      )\n    },\n    batch,\n    schedule: (fn) => queueMicrotask(fn),\n    untrack: (fn) => fn(),\n    createReadonlyAtom: (fn, options) => {\n      return createAtom(() => fn(), {\n        compare: options?.compare,\n      })\n    },\n    createWritableAtom: (value, options) => {\n      return createAtom(value, {","sourceCodeStart":6,"sourceCodeEnd":42,"githubUrl":"https://github.com/TanStack/table/blob/d01c01bedbab0ff6c2641f18b2fc9a11545d9bf6/packages/table-core/src/store-reactivity-bindings.ts#L6-L42","documentation":"storeReactivityBindings in packages/table-core/src/store-reactivity-bindings.ts creates store-based bindings where createOptionsStore is true but addSubscription still throws. Subscriptions are not part of the supported surface even in the store implementation; any caller registering a subscription hits this guard.","triggerScenarios":"Calling bindings.addSubscription(...) on bindings from storeReactivityBindings (store-reactivity-bindings.ts:24) — invoked via features, initTableWorker, testFeatures, or createTable consumers.","commonSituations":"Custom feature code modeled after external-subscription patterns (e.g. observable integrations); tests calling addSubscription directly; copy-pasted adapter code from other reactive libraries.","solutions":["Use the atoms / store API (createOptionsStore is true) instead of manual subscriptions.","Replace subscription needs with store.subscribe or framework store mechanisms outside the bindings layer.","Provide a custom TableReactivityBindings whose addSubscription is implemented if you genuinely need it."],"exampleFix":"// before\nbindings.addSubscription((fn) => store.subscribe(fn))\n// after\nconst unsub = store.subscribe((value) => { /* react */ })\n// later: unsub()","handlingStrategy":"validation","validationCode":"const bindings = storeReactivityBindings()\nif (bindings.addSubscription === undefined || isThrowingStub(bindings.addSubscription)) {\n  // use store.subscribe instead of addSubscription\n}","typeGuard":"function addSubscriptionSupported(b: TableReactivityBindings): boolean {\n  return !isThrowingStub(b.addSubscription)\n}","tryCatchPattern":"try {\n  bindings.addSubscription(cb)\n} catch (e) {\n  if ((e as Error).message.includes('Feature not supported')) {\n    const unsub = store.subscribe(cb) // supported alternative\n  } else throw e\n}","preventionTips":["Use the store API (store.subscribe) rather than bindings.addSubscription","Keep feature code within the documented bindings surface","Check bindings capability before integrating external observables"],"tags":["reactivity","unsupported-operation","store"],"backgroundTag":"reactivity-binding-unsupported","analyzedSha":"d01c01bedbab0ff6c2641f18b2fc9a11545d9bf6","analyzedAt":"2026-08-28T21:52:44.679Z","schemaVersion":2},"datasetVersion":"2026-08-29T02:17:18.158Z"}