Uh oh!
There was an error while loading. Please reload this page.
feat: Add in-memory fallback for localStorage collections in SSR environments - #696
Conversation
…ronments Prevents LocalStorageCollectionError when localStorage collections are imported on the server by automatically falling back to an in-memory store. This addresses issue #691 where importing client code with localStorage collections in server environments would throw errors during module initialization. Changes: - Add createInMemoryStorage() to provide in-memory StorageApi fallback - Add createNoOpStorageEventApi() for server environments without window - Update localStorageCollectionOptions to use fallbacks instead of throwing errors - Remove unused NoStorageAvailableError and NoStorageEventApiError imports - Update tests to verify fallback behavior instead of expecting errors - Update JSDoc to document fallback behavior This allows isomorphic JavaScript applications to safely import localStorage collection modules without errors, though data will not persist across reloads or sync across tabs when using the in-memory fallback. Fixes#691 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…or classes These error classes are no longer used after implementing the in-memory fallback for localStorage collections in SSR environments. Removes dead code to keep the codebase clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: acba6a9 The changes in this PR will be included in the next version bump. This PR includes changesets to release 12 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
More templates@tanstack/angular-db@tanstack/db@tanstack/db-ivm@tanstack/electric-db-collection@tanstack/query-db-collection@tanstack/react-db@tanstack/rxdb-db-collection@tanstack/solid-db@tanstack/svelte-db@tanstack/trailbase-db-collection@tanstack/vue-dbcommit: |
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Size Change: -47 B (-0.06%) Total Size: 83.6 kB
ℹ️ View Unchanged
|
Size Change: 0 B Total Size: 2.89 kB ℹ️ View Unchanged
|
samwillis
left a comment
There was a problem hiding this comment.
This looks great! Perfect that's it's picked up that the api is designed to be plugable.
Should we have it emit a debug warning when this happens?
It should only happen in non-web environments in which case this is fine — so probably don't need any |
Uh oh!
There was an error while loading. Please reload this page.
🎉 This PR has been released! Thank you for your contribution! |
Prevents LocalStorageCollectionError when localStorage collections are imported on the server by automatically falling back to an in-memory store. This addresses issue #691 where importing client code with localStorage collections in server environments would throw errors during module initialization.
Changes:
This allows isomorphic JavaScript applications to safely import localStorage collection modules without errors, though data will not persist across reloads or sync across tabs when using the in-memory fallback.
Fixes#691
🤖 Generated with Claude Code
🎯 Changes
✅ Checklist
pnpm test:pr.🚀 Release Impact