Repository navigation
v0.39.0
Minor Changes
-
Add
deepspace/native, React Native bindings for Expo SDK 57 apps:DeepSpaceNativeProvider,useDeepSpace,useAuth,RecordProvider,RecordScope,useQuery,useMutations, the user and presence hooks, the messaging hooks,integration, andcallActionfor server actions, plus everything indeepspace/expo.RecordScopereconnects when the app returns to the foreground.react-nativeis a new optional peer. The Expo client'sgetAuthTokennow refreshes a bearer that has expired or expires within 30 seconds (previously it returned a stored bearer until a request failed with 401), concurrent refreshes share one request, and the client gainssubscribe(listener)andorigin. Browser behavior is unchanged: the record socket and integration client now take the app origin from one platform module, which still answers the page origin.deepspace add mobilewrites an Expo client tomobile/that pins the app'sdeepspaceversion and reads its identity fromwrangler.toml.consentUrlOfandopenIntegrationConsenthandle per-user integration consent (for examplegoogle/*) from a native app.Fix: the Expo client's default SecureStore key contained
%and:from the encoded base URL, which iOS SecureStore rejects, so a client created withoutstorageKeycould never read or save a session on a device. The default key now escapes those characters. No stored session is lost: the old key could never have been written.