Production builds of TanStack DB shorten error messages to a code, the inputs that the error can show, and a link to this page. For example:
TanStack DB error 17 (key=1, collectionId="todos"): https://tanstack.com/db/latest/docs/errors#error-17Development builds keep the full messages below. The error classes, their name values, and their fields are the same in both builds. See Error Handling for how to catch them.
Development builds show the full message. For example:
Multiple instances of @tanstack/db detected!
This causes transaction context to be lost because each instance maintains its own transaction stack.
Common causes:
1. Different versions of @tanstack/db installed
2. Incompatible peer dependency versions in packages
3. Module resolution issues in bundler configuration
To fix:
1. Check installed versions: npm list @tanstack/db (or pnpm/yarn list)
2. Force a single version using package manager overrides:
- npm: "overrides" in package.json
- pnpm: "pnpm.overrides" in package.json
- yarn: "resolutions" in package.json
3. Clear node_modules and lockfile, then reinstall
To temporarily disable this check (not recommended):
Set environment variable: TANSTACK_DB_DISABLE_DUP_CHECK=1
See: https://tanstack.com/db/latest/docs/troubleshooting#duplicate-instancesDevelopment builds show the full message. For example:
Invalid sync persistence capability at metadata.persistence: reason. Custom sync wrappers must forward metadata.persistence unchanged.Development builds show the full message. For example:
Collection requires a configDevelopment builds show the full message. For example:
Collection requires a sync configDevelopment builds show the full message. For example:
Schema must implement the standard-schema interfaceDevelopment builds show the full message. For example:
Schema validation must be synchronousDevelopment builds show the full message. For example:
Cannot perform operation on collection "collection-1" - collection is in error state. Try calling cleanup() and restarting the collection.Development builds show the full message. For example:
Invalid collection status transition from "pending" to "ready" for collection "collection-1"Development builds show the full message. For example:
Collection is in error stateDevelopment builds show the full message. For example:
Active subscribers count is negative - this should never happenDevelopment builds show the full message. For example:
Cannot subscribe to a disposed LiveQueryObserverDevelopment builds show the full message. For example:
Cannot subscribe to a disposed LiveQueryWindowControllerDevelopment builds show the full message. For example:
An object was created without a defined key: {"name":"item"}Development builds show the full message. For example:
getKey returned an invalid key type. Expected string or number, but got null: null. Item: {"name":"item"}getKey returned an invalid key type. Expected string or number, but got object: {"id":1}. Item: {"name":"item"}Development builds show the full message. For example:
Cannot insert document with ID "key-1" because it already exists in the collectionDevelopment builds show the full message. For example:
Cannot insert document with key "123" from sync because it already exists in the collection "collection-1"Cannot insert document with key "key-1" from sync because it already exists in the collection "collection-1". This collection uses a custom getKey with .distinct(). The .distinct() operator deduplicates by the ENTIRE selected object (standard SQL behavior), but your custom getKey extracts only a subset of fields. This causes multiple distinct rows (with different values in non-key fields) to receive the same key. To fix this, either: (1) ensure your SELECT only includes fields that uniquely identify each row, (2) use .groupBy() with min()/max() aggregates to select one value per group, or (3) remove the custom getKey to use the default key behavior.Cannot insert document with key "key-1" from sync because it already exists in the collection "collection-1". This collection uses a custom getKey with joined queries. Joined queries can produce multiple rows with the same key when relationships are not 1:1. Consider: (1) using a composite key in your getKey function (e.g., `${item.key1}-${item.key2}`), (2) ensuring your join produces unique rows per key, or (3) removing the custom getKey to use the default composite key behavior.Development builds show the full message. For example:
The first argument to update is missingDevelopment builds show the full message. For example:
No keys were passed to updateDevelopment builds show the full message. For example:
The key "key-1" was passed to update but an object for this key was not found in the collectionDevelopment builds show the full message. For example:
Updating the key of an item is not allowed. Original key: "old-key", Attempted new key: "new-key". Please delete the old item and create a new one if a key change is necessary.Development builds show the full message. For example:
No keys were passed to deleteDevelopment builds show the full message. For example:
Collection.delete was called with key 'key-1' but there is no item in the collection with this keyDevelopment builds show the full message. For example:
Collection.insert called directly (not within an explicit transaction) but no 'onInsert' handler is configured.Development builds show the full message. For example:
Collection.update called directly (not within an explicit transaction) but no 'onUpdate' handler is configured.Development builds show the full message. For example:
Collection.delete called directly (not within an explicit transaction) but no 'onDelete' handler is configured.Development builds show the full message. For example:
Queue capacity exceeded; the mutation was not admittedDevelopment builds show the full message. For example:
Queue has been cleaned up; the mutation was not admittedDevelopment builds show the full message. For example:
Throttle call was dropped because trailing execution is disabledDevelopment builds show the full message. For example:
Debounce call was dropped because trailing execution is disabledDevelopment builds show the full message. For example:
mutationFn is required when creating a transactionDevelopment builds show the full message. For example:
onMutate must be synchronous and cannot return a promise. Remove async/await or returned promises from onMutate.Development builds show the full message. For example:
You can no longer call .mutate() as the transaction is no longer pendingDevelopment builds show the full message. For example:
You can no longer call .rollback() as the transaction is already completedDevelopment builds show the full message. For example:
You can no longer call .commit() as the transaction is no longer pendingDevelopment builds show the full message. For example:
No pending sync transaction to write toDevelopment builds show the full message. For example:
The pending sync transaction is already committed, you can't still write to it.Development builds show the full message. For example:
A sync update for key "key-1" wrote a row object that changed in place since it was last written. The change overwrote the row's previous value. Write a new object, or pass the row's previous value as `previousValue`.Development builds show the full message. For example:
No pending sync transaction to commitDevelopment builds show the full message. For example:
The pending sync transaction is already committed, you can't commit it again.Development builds show the full message. For example:
Sync queue invariant failed: invariant detailDevelopment builds show the full message. For example:
Only one source is allowed in the join clauseDevelopment builds show the full message. For example:
A sub query passed to a join clause must have a from clause itselfDevelopment builds show the full message. For example:
Invalid source for live query: The value provided for alias "todos" is not a Collection or subquery. Live queries only accept Collection instances or subqueries. Please ensure you're passing a valid Collection or QueryBuilder, not a plain array or other data type.Development builds show the full message. For example:
Invalid source for from clause: Expected an object with a single key-value pair like { alias: collection }. For example: .from({ todos: todosCollection }). Got: stringInvalid source for join clause: Expected an object with a single key-value pair like { alias: collection }. For example: .join({ todos: todosCollection }, ({ todo, todos }) => eq(todo.id, todos.id)). Got: numberInvalid source for unionAll clause: Expected an object with one or more key-value pairs like { alias: collection }. For example: .unionAll({ todos: todosCollection, events: eventsCollection }). Got: undefinedDevelopment builds show the full message. For example:
Join condition must be an equality expression or a nonempty conjunction of equality expressionsDevelopment builds show the full message. For example:
Query must have a from clauseDevelopment builds show the full message. For example:
Invalid where() expression: Expected a query expression, but received a boolean. This usually happens when using JavaScript's comparison operators (===, !==, <, >, etc.) directly. Instead, use the query builder functions:
❌ .where(({ user }) => user.id === 'abc')
✅ .where(({ user }) => eq(user.id, 'abc'))
Available comparison functions: eq, gt, gte, lt, lte, and, or, not, like, ilike, isNull, isUndefinedDevelopment builds show the full message. For example:
Unsafe alias path segment "__proto__" is not allowed in .select(). Aliases must not contain "__proto__", "prototype", or "constructor".Development builds show the full message. For example:
DISTINCT requires a SELECT clause.Development builds show the full message. For example:
fn.select() cannot be used with groupBy(). groupBy requires the compiler to statically analyze aggregate functions (count, sum, max, etc.) in the SELECT clause, which is not possible with fn.select() since it is an opaque function. Use .select() instead of .fn.select() when combining with groupBy().Development builds show the full message. For example:
fn.select() cannot return query builder. Child query builders, query expressions, and helpers such as eq(), toArray(), materialize(), concat(toArray()), and caseWhen() are query-construction values. Use them as direct fields in .select() instead.Development builds show the full message. For example:
Top-level scalar select() is not supported by createLiveQueryCollection() or queryOnce(). Return an object from .select(), or use the scalar query inside toArray(...) or concat(toArray(...)).Development builds show the full message. For example:
HAVING clause requires GROUP BY clauseDevelopment builds show the full message. For example:
LIMIT and OFFSET require an ORDER BY clause to ensure deterministic resultsDevelopment builds show the full message. For example:
Input for alias "alias" (collection "collection-1") not found in inputs map. Available keys: key1, key2Input for collection "alias" not found in inputs mapDevelopment builds show the full message. For example:
Subquery uses alias "alias" which is already used in the parent query. Each alias must be unique across parent and subquery contexts. Parent query aliases: parent1, parent2. Please rename "alias" in either the parent query or subquery to avoid conflicts.Development builds show the full message. For example:
Unsupported FROM type: stringDevelopment builds show the full message. For example:
Unknown expression type: customDevelopment builds show the full message. For example:
Reference path cannot be emptyDevelopment builds show the full message. For example:
Unknown function: customFnDevelopment builds show the full message. For example:
Collection "collection-1" not found during compilation of joinDevelopment builds show the full message. For example:
Unsupported join type: OUTERDevelopment builds show the full message. For example:
Invalid join condition: both expressions refer to the same source "todos"Development builds show the full message. For example:
Invalid join condition: expressions must reference source aliasesDevelopment builds show the full message. For example:
Invalid join condition: left expression refers to an unavailable source "todos"Development builds show the full message. For example:
Invalid join condition: right expression does not refer to the joined source "comments"Development builds show the full message. For example:
Invalid join conditionDevelopment builds show the full message. For example:
Unsupported join source type: customDevelopment builds show the full message. For example:
Non-aggregate expression 'field' in SELECT must also appear in GROUP BY clauseDevelopment builds show the full message. For example:
Unsupported aggregate function: customAggDevelopment builds show the full message. For example:
Aggregate function in HAVING clause must also be in SELECT clause: countDevelopment builds show the full message. For example:
Unknown expression type in HAVING clause: customDevelopment builds show the full message. For example:
Cannot write item because it cannot be JSON serialized: circular referenceDevelopment builds show the full message. For example:
[LocalStorageCollection] storageKey must be provided.Development builds show the full message. For example:
[LocalStorageCollection] Invalid data format in storage key "storageKey" for key "key".Development builds show the full message. For example:
[LocalStorageCollection] Invalid data format in storage key "storageKey". Expected object format.Development builds show the full message. For example:
Collection "collection-1" sync cleanup function threw an error: Cleanup failedCollection "collection-1" sync cleanup function threw an error: Cleanup threwDevelopment builds show the full message. For example:
Sync transaction was aborted before applicationDevelopment builds show the full message. For example:
Collection preload was abandoned during cleanupDevelopment builds show the full message. For example:
Load subset operation was aborted before its result became visibleDevelopment builds show the full message. For example:
Cannot combine empty expression listDevelopment builds show the full message. For example:
Internal error: compiler returned aliases without inputs: alias1, alias2. This indicates a bug in query compilation. Please report this issue.Development builds show the full message. For example:
setWindow() can only be called on collections with an ORDER BY clause. Add .orderBy() to your query to enable window movement.Development builds show the full message. For example:
setWindow() cannot run reentrantly. Wait for the current window operation to return before starting another one.Development builds show the full message. For example:
Paced mutations are committed by their strategy. Await the transaction receipt or roll it back instead.Development builds show the full message. For example:
Query IR is not stably hashable at query.fnSelect: function selectDevelopment builds show the full message. For example:
IndexedDB collection requires a "db" configuration option. Create a database instance using createIndexedDB() and pass it to the collection.Development builds show the full message. For example:
Object store "todos" not found in database "app". Available stores: [users, posts]. Add "todos" to the stores array when calling createIndexedDB().Development builds show the full message. For example:
IndexedDB collection requires a "name" configuration option. This is the name of the object store within the database.Development builds show the full message. For example:
IndexedDB collection requires a "getKey" configuration option. This function extracts the unique key from each item.These errors are plain Error, TypeError, RangeError, or AggregateError values. Each heading names the source file under packages/db/src that throws it.
Development builds show this message, with ${...} replaced by values:
collectionOptions requires a non-empty explicit id so the descriptor is stable across DbClient instances and SSR boundaries.Development builds show this message, with ${...} replaced by values:
collectionOptions("${id}") requires a factory as its second argument.Development builds show this message, with ${...} replaced by values:
Collection descriptor "${id}" was created from a concrete config that cannot be safely reused across DbClient instances. Use collectionOptions("${id}", (client) => adapterCollectionOptions(...)) or an adapter options creator that supports DbClient materialization.Development builds show this message, with ${...} replaced by values:
Collection descriptor "${id}" materialized a config with id "${materialized.id}". Descriptor and collection ids must match.Development builds show this message, with ${...} replaced by values:
DbClient is missing the required "${key}" dependency. Pass it explicitly when constructing the client: new DbClient({ ${key} }).Development builds show this message, with ${...} replaced by values:
Dehydrated live query "${dehydratedQuery.queryHash}" has neither a snapshot nor a promise.Development builds show this message, with ${...} replaced by values:
limit cannot be used without orderByDevelopment builds show this message, with ${...} replaced by values:
Cannot specify both 'where' and 'whereExpression' options. Use one or the other.Development builds show this message, with ${...} replaced by values:
limit is requiredDevelopment builds show this message, with ${...} replaced by values:
Ordered snapshot was requested but no index was found. You have to call setOrderByIndex before requesting an ordered snapshot.Development builds show this message, with ${...} replaced by values:
Timeout waiting for event ${String(event)}Development builds show this message, with ${...} replaced by values:
Failed to evaluate index expression for key ${key}: ${error}Development builds show this message, with ${...} replaced by values:
Operation ${operation} not supported by BasicIndexDevelopment builds show this message, with ${...} replaced by values:
Operation ${operation} not supported by BTreeIndexDevelopment builds show this message, with ${...} replaced by values:
A live query must be a QueryBuilder, LiveQueryCollectionConfig, Collection, undefined, or null. Got: ${typeof value}Development builds show this message, with ${...} replaced by values:
useLiveInfiniteQuery: First argument must be either a pre-created live query collection or a query function. Received: ${typeof input}Development builds show this message, with ${...} replaced by values:
useLiveInfiniteQuery: Query function must return a query builder. Disabled null or undefined queries are not supported.Development builds show this message, with ${...} replaced by values:
useLiveInfiniteQuery: Infinite queries do not support single-result queries. Remove .findOne().Development builds show this message, with ${...} replaced by values:
useLiveInfiniteQuery: Pre-created live query collection must have an ORDER BY (orderBy) clause for infinite pagination to work. Please add .orderBy() to your createLiveQueryCollection query.Development builds show this message, with ${...} replaced by values:
Strategy callback called but transaction is in state "${transaction.state}". Expected "pending".Development builds show this message, with ${...} replaced by values:
Paced transaction has no strategy-owned commitDevelopment builds show this message, with ${...} replaced by values:
forEach callback must be a functionDevelopment builds show this message, with ${...} replaced by values:
concat(toArray(...)) currently supports only a single toArray(...) argumentDevelopment builds show this message, with ${...} replaced by values:
caseWhen() requires at least two argumentsDevelopment builds show this message, with ${...} replaced by values:
caseWhen() conditions must be expression-like valuesDevelopment builds show this message, with ${...} replaced by values:
Cannot use collection descriptor "${alias}" as a query source without a DbClient resolver. In React, wrap your tree in <DbProvider>.Development builds show this message, with ${...} replaced by values:
Conditional include branch is missing a field nameDevelopment builds show this message, with ${...} replaced by values:
toArray() must wrap a subquery builderDevelopment builds show this message, with ${...} replaced by values:
Conditional toArray() branch is missing a field nameDevelopment builds show this message, with ${...} replaced by values:
concat(toArray(...)) must wrap a subquery builderDevelopment builds show this message, with ${...} replaced by values:
Conditional concat(toArray(...)) branch is missing a field nameDevelopment builds show this message, with ${...} replaced by values:
toArray() must wrap a subquery builderDevelopment builds show this message, with ${...} replaced by values:
concat(toArray(...)) must wrap a subquery builderDevelopment builds show this message, with ${...} replaced by values:
materialize() must wrap a subquery builderDevelopment builds show this message, with ${...} replaced by values:
caseWhen() requires at least two argumentsDevelopment builds show this message, with ${...} replaced by values:
Includes subquery for "${fieldName}" must have a WHERE clause with an eq() condition that correlates a parent field with a child field. Example: .where(({child}) => eq(child.parentId, parent.id))Development builds show this message, with ${...} replaced by values:
concat(toArray(...)) for "${fieldName}" requires the subquery to select a scalar valueDevelopment builds show this message, with ${...} replaced by values:
Includes subquery for "${fieldName}" must select an object when materializing as a CollectionDevelopment builds show this message, with ${...} replaced by values:
${name} cannot be used inside expressions (e.g., coalesce(), eq(), not()). Use ${name} directly as a select field value instead.Development builds show this message, with ${...} replaced by values:
caseWhen() requires at least two argumentsDevelopment builds show this message, with ${...} replaced by values:
fn.select() cannot consume Collection-valued includes. Use toArray() or materialize() in the upstream select(), or use an expression select() to keep live Collections.Development builds show this message, with ${...} replaced by values:
Query row has negative multiplicityDevelopment builds show this message, with ${...} replaced by values:
Query row has no positive contributorDevelopment builds show this message, with ${...} replaced by values:
Query contributors with the same row key are not congruentDevelopment builds show this message, with ${...} replaced by values:
Duplicate source alias "${source.alias}" in unionAll query branches. Use distinct aliases in each branch before passing them to unionAll().Development builds show this message, with ${...} replaced by values:
Includes subqueries must be at the top level of select(). Found nested includes at "${parentPath}.${key}".Development builds show this message, with ${...} replaced by values:
Source collection '${collectionId}' was cleaned up while effect depends on itDevelopment builds show this message, with ${...} replaced by values:
Source collection '${collectionId}' entered error stateDevelopment builds show this message, with ${...} replaced by values:
No handler provided for operator: ${name}. Available handlers: ${Object.keys(handlers).join(`, `)}Development builds show this message, with ${...} replaced by values:
ORDER BY expression must be a field reference, got: ${clause.expression.type}Development builds show this message, with ${...} replaced by values:
extractSimpleComparisons requires a comparison or null check inside 'not' operator.Development builds show this message, with ${...} replaced by values:
extractSimpleComparisons requires a field reference for '${arg.name}' operator.Development builds show this message, with ${...} replaced by values:
extractSimpleComparisons requires simple field-value comparisons. Found complex expression for 'not(${arg.name})' operator.Development builds show this message, with ${...} replaced by values:
extractSimpleComparisons does not support 'not(${arg.name})'. NOT can only wrap comparison operators (eq, gt, gte, lt, lte, in) or null checks (isNull, isUndefined).Development builds show this message, with ${...} replaced by values:
extractSimpleComparisons does not support '${e.name}' operator. Use parseWhereExpression with custom handlers for complex expressions.Development builds show this message, with ${...} replaced by values:
extractSimpleComparisons requires a field reference for '${e.name}' operator.Development builds show this message, with ${...} replaced by values:
extractSimpleComparisons requires simple field-value comparisons. Found complex expression for '${e.name}' operator.Development builds show this message, with ${...} replaced by values:
extractSimpleComparisons encountered unknown operator: '${e.name}'Development builds show this message, with ${...} replaced by values:
Bucket facade row has no public keyDevelopment builds show this message, with ${...} replaced by values:
Source recovery failedDevelopment builds show this message, with ${...} replaced by values:
maybeRunGraph called without active sync run. This should not happen.Development builds show this message, with ${...} replaced by values:
scheduleGraphRun called without active sync run. This should not happen.Development builds show this message, with ${...} replaced by values:
Live query result key ${String(key)} changed by ${inserts - deletes} rows in one flush; a key has at most one result row.Development builds show this message, with ${...} replaced by values:
Could not apply changes: ${JSON.stringify(changes)}. This should never happen.Development builds show this message, with ${...} replaced by values:
Source collection '${collectionId}' was manually cleaned up while live query '${this.id}' depends on it. Live queries prevent automatic GC, so this was likely a manual cleanup() call.Development builds show this message, with ${...} replaced by values:
Query '${this.id}' has no collection sources. This should not happen; please report.Development builds show this message, with ${...} replaced by values:
Canonical query row has negative multiplicityDevelopment builds show this message, with ${...} replaced by values:
Canonical query row has no positive contributorDevelopment builds show this message, with ${...} replaced by values:
Query contributors for public key ${serializeValue(left.publicKey)} are not congruentDevelopment builds show this message, with ${...} replaced by values:
Materialization bucket row has negative multiplicityDevelopment builds show this message, with ${...} replaced by values:
Collection includes require a bucket facadeDevelopment builds show this message, with ${...} replaced by values:
Subset demand snapshot did not startDevelopment builds show this message, with ${...} replaced by values:
Failed to extract collection. Invalid FROM clause: ${JSON.stringify(query)}Development builds show this message, with ${...} replaced by values:
Scheduler detected unresolved dependencies for context ${String(contextId)}.Development builds show this message, with ${...} replaced by values:
A transaction created with createTransaction() cannot mutate collections from multiple DbClient instances. Use dbClient.createTransaction() for explicit client scope.Development builds show this message, with ${...} replaced by values:
Transaction is not associated with a TransactionScope.Development builds show this message, with ${...} replaced by values:
Transaction is not associated with an ambient scope.Development builds show this message, with ${...} replaced by values:
Unhandled mutation combination: ${_exhaustive}Development builds show this message, with ${...} replaced by values:
Index comparator must return a number, but returned ${String(result)}Development builds show this message, with ${...} replaced by values:
Cannot order Temporal values of different types: ${aTag} vs ${bTag}Development builds show this message, with ${...} replaced by values:
${aTag} has no defined orderingDevelopment builds show this message, with ${...} replaced by values:
Only leading-column cursors are supportedDevelopment builds show this message, with ${...} replaced by values:
Unknown errorDevelopment builds show this message, with ${...} replaced by values:
No secure random number generator available: neither crypto.randomUUID nor crypto.getRandomValues is defined in this environment.Development builds show this message, with ${...} replaced by values:
Source collection '${collectionId}' entered error stateDevelopment builds show this message, with ${...} replaced by values:
${syncFailure ? Adapter cleanup and local teardown both failed : Multiple local teardown steps failed}Development builds show this message, with ${...} replaced by values:
Mutation callback and restoration failedDevelopment builds show this message, with ${...} replaced by values:
IndexedDB is not available in this environment. Ensure you are running in a browser or provide a custom IDBFactory for testing.Development builds show this message, with ${...} replaced by values:
Failed to open IndexedDB database "${name}": ${error instanceof Error ? error.message : String(error)}Development builds show this message, with ${...} replaced by values:
Database upgrade failed for "${name}": ${error instanceof Error ? error.message : String(error)}Development builds show this message, with ${...} replaced by values:
Failed to open IndexedDB database "${name}": ${errorMessage}Development builds show this message, with ${...} replaced by values:
Cannot create object store "${storeName}": This operation is only allowed during a database upgrade. Ensure you are calling createObjectStore within the onUpgrade callback of openDatabase.Development builds show this message, with ${...} replaced by values:
Object store "${storeName}" already exists in the database. Check the database version and only create stores when needed.Development builds show this message, with ${...} replaced by values:
Failed to create object store "${storeName}": ${error instanceof Error ? error.message : String(error)}Development builds show this message, with ${...} replaced by values:
Failed to create transaction for stores [${storeNamesArray.join(', ')}]: ${error instanceof Error ? error.message : String(error)}Development builds show this message, with ${...} replaced by values:
Object store "${storeName}" not found in the database. Ensure the store was created during the database upgrade.Development builds show this message, with ${...} replaced by values:
Transaction was abortedDevelopment builds show this message, with ${...} replaced by values:
Failed to delete IndexedDB database "${name}": ${error instanceof Error ? error.message : String(error)}Development builds show this message, with ${...} replaced by values:
Failed to delete IndexedDB database "${name}": ${errorMessage}Development builds show this message, with ${...} replaced by values:
createIndexedDB requires at least one store in the stores array.Development builds show this message, with ${...} replaced by values:
createIndexedDB stores array contains duplicate store names.Development builds show this message, with ${...} replaced by values:
The "_versions" store is reserved for IndexedDB Collection metadata.Development builds show this message, with ${...} replaced by values:
createIndexedDB stores array contains invalid store names. Each store name must be a non-empty string.Development builds show this message, with ${...} replaced by values:
IndexedDB connection "${name}" closed. Recreate its Collections with a new database instance.Development builds show this message, with ${...} replaced by values:
The "_versions" store is reserved for IndexedDB Collection metadata.Development builds show this message, with ${...} replaced by values:
Duplicate imported key: ${key}Development builds show this message, with ${...} replaced by values:
Failed to get all keys from object store "${objectStore.name}": ${cause}Development builds show this message, with ${...} replaced by values:
Failed to write item to object store "${objectStore.name}": ${cause}Development builds show this message, with ${...} replaced by values:
Failed to delete item with key "${String(key)}" from object store "${objectStore.name}": ${cause}Development builds show this message, with ${...} replaced by values:
Failed to clear object store "${objectStore.name}": ${cause}Development builds show this message, with ${...} replaced by values:
Failed to get all items from object store "${objectStore.name}": ${cause}Development builds show this message, with ${...} replaced by values:
Failed to get item with key "${String(key)}" from object store "${objectStore.name}": ${cause}Development builds show this message, with ${...} replaced by values:
autoIndex: 'eager' requires defaultIndexType to be set. Import an index type and set it:
import { BasicIndex } from '@tanstack/db'
createCollection({ defaultIndexType: BasicIndex, autoIndex: 'eager', ... })Development builds show this message, with ${...} replaced by values:
No index type specified and no defaultIndexType set on collection. Either pass indexType in config, or set defaultIndexType on the collection:
import { BasicIndex } from '@tanstack/db'
createCollection({ defaultIndexType: BasicIndex, ... })Development builds show this message, with ${...} replaced by values:
You can't directly call "setStatus('ready'). You must use markReady instead.Development builds show this message, with ${...} replaced by values:
Cannot start collection "${this.id}" during cleanup. Restart after cleanup() completes.Development builds show this message, with ${...} replaced by values:
Collection "${this.id}" is configured with syncMode "on-demand" but the sync function did not return a loadSubset handler. Either provide a loadSubset handler or use syncMode "eager".Development builds show this message, with ${...} replaced by values:
Query uses alias "${alias}" more than once. Give each source in one query a distinct alias.Development builds show this message, with ${...} replaced by values:
Live query graph failed