Skip to content

[party-stack] Upgrade persistence and Expo runtime support - #188

Merged
robertf224 merged 2 commits into
mainfrom
codex/mobile-runtime-db-refresh
Oct 14, 2026
Merged

robertf224 merged 2 commits into
mainfrom
codex/mobile-runtime-db-refresh

Conversation

@robertf224

Copy link
Copy Markdown
Owner

This updates persistence and mobile runtime support needed by the Streamline migration, and adds awaitable Foundry collection refresh without recreating installations.

Changes

  • Upgrade TanStack DB and its integrations, and update persistence coordination to carry explicit eager/managed storage targets.
  • Implement IndexedDB managed cache generations with transactional claim validation, expiry, rotation, private recovery, and retired-generation collection. Upgrade the database to version 4 while preserving eager/local data. Derive adapter options from SQLite core and remove unused lifecycle callback options.
  • Port upstream SQLite managed-cache and recovery contracts to shared SQLite, fake IndexedDB, and native Chromium suites, including concurrent claim/revocation races and the complete retired-storage matrix. Document source attribution and exclusions.
  • Expose optional adapter-provided collection.utils.refresh(). Foundry replaces rows atomically from a fresh source snapshot, keeps subscriptions alive, replays queued live updates, and propagates errors. Reconnect and operation acknowledgement use fresh snapshots when edit history is unavailable.
  • Align Expo runtime dependencies on SDK 57. Add the required @party-stack/expo-runtime/polyfill entry point for Expo Blob and a compatible global File; retain Expo's default fetch. Cover Expo FormData filename handling.
  • Hash Expo storage and attachment names into bounded filenames, read incoming bytes before overwriting cached files, and verify idempotent cleanup closes SQLite before deletion.

Validation

  • pnpm exec vp run ci — all 126 tasks pass, including checks, builds, and tests.
  • IndexedDB contracts run against upstream SQLite, fake IndexedDB, and native Chromium IndexedDB.
  • Expo runtime: 12 tests pass, including Blob/File bytes, the actual Expo FormData patch, and storage lifecycle ordering.

Expo native APIs are mocked in runtime tests; a simulator/device attachment round trip remains to be verified. Consumers must upgrade to Expo SDK 57 and import the polyfill before application code. No legacy Expo filesystem migration is included because this runtime has no production installations.

@changeset-bot

changeset-bot Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8215cc6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 20 packages
Name Type
@party-stack/better-auth Patch
@party-stack/blobs Patch
@party-stack/connections Patch
@party-stack/db-indexeddb-persistence Minor
@party-stack/durable-object-ontology Patch
@party-stack/expo-runtime Patch
@party-stack/foundry-ontology Minor
@party-stack/node-runtime Patch
@party-stack/oauth Patch
@party-stack/ontology Minor
@party-stack/ontology-devtools Patch
@party-stack/remote-ontology Patch
@party-stack/runtime Patch
@party-stack/salesforce-ontology Patch
@party-stack/sqlite-ontology Patch
@party-stack/web-runtime Patch
@party-stack/issue-tracker Patch
@party-stack/ontology-explorer Patch
@party-stack/salesforce-task-manager Patch
@party-stack/remote-notes Patch

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

@robertf224
robertf224 merged commit e3e984c into main Oct 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant