@oxyhq/services 19.1.2 → 19.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/android/build.gradle +21 -0
  2. package/android/src/main/AndroidManifest.xml +10 -0
  3. package/android/src/main/java/so/oxy/identity/OxyIdentityModule.kt +84 -0
  4. package/android/src/main/java/so/oxy/identity/OxyIdentityProvider.kt +77 -0
  5. package/android/src/main/java/so/oxy/identity/OxyIdentityStore.kt +76 -0
  6. package/expo-module.config.json +9 -0
  7. package/ios/OxyIdentity.podspec +28 -0
  8. package/ios/OxyIdentityModule.swift +33 -0
  9. package/lib/commonjs/index.js +7 -0
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/ui/context/OxyContext.js +53 -50
  12. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  13. package/lib/commonjs/ui/context/commitSessionFlow.js +91 -0
  14. package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -0
  15. package/lib/commonjs/ui/hooks/useOxyEvent.js +28 -0
  16. package/lib/commonjs/ui/hooks/useOxyEvent.js.map +1 -0
  17. package/lib/commonjs/ui/screens/FileManagementScreen.js +3 -9
  18. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  19. package/lib/commonjs/ui/session/createSessionClient.js +12 -8
  20. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  21. package/lib/commonjs/ui/session/tokenTransport.js +22 -32
  22. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  23. package/lib/module/index.js +1 -0
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/module/ui/context/OxyContext.js +54 -51
  26. package/lib/module/ui/context/OxyContext.js.map +1 -1
  27. package/lib/module/ui/context/commitSessionFlow.js +87 -0
  28. package/lib/module/ui/context/commitSessionFlow.js.map +1 -0
  29. package/lib/module/ui/hooks/useOxyEvent.js +25 -0
  30. package/lib/module/ui/hooks/useOxyEvent.js.map +1 -0
  31. package/lib/module/ui/screens/FileManagementScreen.js +3 -9
  32. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  33. package/lib/module/ui/session/createSessionClient.js +12 -8
  34. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  35. package/lib/module/ui/session/tokenTransport.js +23 -33
  36. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  37. package/lib/typescript/commonjs/index.d.ts +1 -0
  38. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  39. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  40. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +39 -0
  41. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -0
  42. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +3 -1
  43. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  44. package/lib/typescript/commonjs/ui/hooks/useOxyEvent.d.ts +8 -0
  45. package/lib/typescript/commonjs/ui/hooks/useOxyEvent.d.ts.map +1 -0
  46. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +12 -8
  48. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +11 -9
  50. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  51. package/lib/typescript/module/index.d.ts +1 -0
  52. package/lib/typescript/module/index.d.ts.map +1 -1
  53. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  54. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +39 -0
  55. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -0
  56. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +3 -1
  57. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  58. package/lib/typescript/module/ui/hooks/useOxyEvent.d.ts +8 -0
  59. package/lib/typescript/module/ui/hooks/useOxyEvent.d.ts.map +1 -0
  60. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  61. package/lib/typescript/module/ui/session/createSessionClient.d.ts +12 -8
  62. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  63. package/lib/typescript/module/ui/session/tokenTransport.d.ts +11 -9
  64. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  65. package/package.json +29 -17
  66. package/plugins/withSharedIdentityProvider.js +83 -0
  67. package/plugins/withSharedIdentityReader.js +46 -0
  68. package/src/index.ts +1 -0
  69. package/src/ui/context/OxyContext.tsx +51 -49
  70. package/src/ui/context/__tests__/commitSessionFlow.test.ts +192 -0
  71. package/src/ui/context/commitSessionFlow.ts +115 -0
  72. package/src/ui/context/oxyContextTypes.ts +3 -1
  73. package/src/ui/hooks/useOxyEvent.ts +22 -0
  74. package/src/ui/screens/FileManagementScreen.tsx +3 -9
  75. package/src/ui/session/__tests__/createSessionClient.test.ts +5 -5
  76. package/src/ui/session/__tests__/tokenTransport.test.ts +43 -60
  77. package/src/ui/session/createSessionClient.ts +13 -10
  78. package/src/ui/session/tokenTransport.ts +22 -41
@@ -3,7 +3,7 @@
3
3
  import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { Linking } from 'react-native';
5
5
  import { OxyServices, oxyClient } from '@oxyhq/core';
6
- import { KeyManager, installAuthRefreshHandler, startTokenRefreshScheduler, createAccountDialogController, refreshPersistedSession, logger as loggerUtil, syncHubAfterSignIn } from '@oxyhq/core';
6
+ import { KeyManager, installAuthRefreshHandler, startTokenRefreshScheduler, createAccountDialogController, logger as loggerUtil, syncHubAfterSignIn } from '@oxyhq/core';
7
7
  import { registerAccountDialogControls, notifyAccountDialogVisibility } from "../navigation/accountDialogManager.js";
8
8
  import { redirectToAuthorize } from "../components/oauthNavigation.js";
9
9
  import { isWebBrowser } from "../utils/isWebBrowser.js";
@@ -23,6 +23,7 @@ import { useAvatarPicker } from "../hooks/useAvatarPicker.js";
23
23
  import { useAccountStore } from "../stores/accountStore.js";
24
24
  import { createSessionClient, createPlatformAuthStateStore, deviceStateToClientSessions, activeSessionIdOf, activeUserOf, accountIdsOf } from "../session/index.js";
25
25
  import { DEFAULT_SESSION_VALIDITY_MS, loadUseFollowHook } from "./oxyContextHelpers.js";
26
+ import { commitDeviceSetAndResolve } from "./commitSessionFlow.js";
26
27
  import { useOxyAccountGraph } from "./useOxyAccountGraph.js";
27
28
  import { jsx as _jsx } from "react/jsx-runtime";
28
29
  const OxyContext = /*#__PURE__*/createContext(null);
@@ -237,8 +238,16 @@ export const OxyProvider = ({
237
238
  // the one-shot join redirect.
238
239
  const sessionClientPairRef = useRef(null);
239
240
  if (!sessionClientPairRef.current) {
240
- sessionClientPairRef.current = createSessionClient(oxyServices, authStore, () => {
241
- clearPersistedAuthSafe(authStore, logger);
241
+ sessionClientPairRef.current = createSessionClient(oxyServices, origin => {
242
+ // Erase the DURABLE device credential only on a `request`-origin verdict
243
+ // (a REST sign-out / revocation). A `push`-origin empty state is a socket
244
+ // broadcast that may be a transient reconnect artifact — clearing the
245
+ // credential on it would strand the user signed out with no way back, so
246
+ // we clear only the local UI session and keep the credential (a dead one
247
+ // re-mints to `no_active_session` and resolves signed-out on next boot).
248
+ if (origin === 'request') {
249
+ clearPersistedAuthSafe(authStore, logger);
250
+ }
242
251
  void clearSessionStateRef.current().catch(clearError => {
243
252
  logger('Failed to clear local state on remote sign-out', clearError);
244
253
  });
@@ -258,8 +267,12 @@ export const OxyProvider = ({
258
267
  return;
259
268
  }
260
269
  if (state.accounts.length === 0) {
270
+ // Clear the LOCAL UI session on any applied empty state, but NEVER the
271
+ // durable device credential here: `syncFromClient` runs for socket-pushed
272
+ // (possibly transient) states too, and wiping the credential on one would
273
+ // strand the user signed out. The credential wipe is gated on a
274
+ // `request`-origin verdict in `onUnauthenticated` above.
261
275
  sessionClientHost.setCurrentAccountId(null);
262
- clearPersistedAuthSafe(authStore, logger);
263
276
  await clearSessionState();
264
277
  return;
265
278
  }
@@ -286,7 +299,7 @@ export const OxyProvider = ({
286
299
  loginSuccess(activeUser);
287
300
  }
288
301
  sessionClientHost.setCurrentAccountId(latest.activeAccountId);
289
- }, [oxyServices, sessionClient, sessionClientHost, authStore, updateSessions, setActiveSessionId, loginSuccess, clearSessionState, logger]);
302
+ }, [oxyServices, sessionClient, sessionClientHost, updateSessions, setActiveSessionId, loginSuccess, clearSessionState, logger]);
290
303
  const syncFromClientRef = useRef(syncFromClient);
291
304
  syncFromClientRef.current = syncFromClient;
292
305
  const syncDeviceCredentialToHost = useCallback(async () => {
@@ -473,45 +486,27 @@ export const OxyProvider = ({
473
486
  setActiveSessionId(input.sessionId);
474
487
  }
475
488
 
476
- // Register into the device set. A deliberate sign-in ACTIVATES the account
477
- // (`registerAndActivate`); the cold boot only ensures membership and lets
478
- // the server's own `activeAccountId` win (`addCurrentAccount`). Both then
479
- // start the socket + project. Best-effort a failure never fails the
480
- // sign-in (cold boot re-registers on the next load).
481
- try {
482
- if (options.activate) {
483
- await sessionClient.registerAndActivate(input.userId);
484
- } else {
485
- await sessionClient.addCurrentAccount();
486
- }
487
- await sessionClient.start();
488
- await syncFromClient();
489
- } catch (registrationError) {
490
- loggerUtil.warn('commitSession: device-set registration failed', {
491
- component: 'OxyContext',
492
- method: 'commitSession'
493
- }, registrationError);
494
- }
495
-
496
- // Hydrate the full user (the commit input carries only minimal data). Fall
497
- // back to the minimal shape if the profile fetch fails.
498
- let fullUser = null;
499
- try {
500
- fullUser = await oxyServices.getCurrentUser();
501
- } catch (profileError) {
502
- if (__DEV__) {
503
- loggerUtil.debug('Failed to fetch full user on commit; using minimal fallback', {
504
- component: 'OxyContext',
505
- method: 'commitSession'
506
- }, profileError);
507
- }
508
- fullUser = input.user ?? null;
509
- }
510
- if (fullUser) {
511
- loginSuccess(fullUser);
512
- onAuthStateChangeRef.current?.(fullUser);
513
- }
514
- markAuthResolvedRef.current();
489
+ // Register into the device set, hydrate the full user, and flip the
490
+ // auth-resolution gate. A deliberate sign-in ACTIVATES the account and
491
+ // BLOCKS on the reconcile (register + socket + sessions projection) before
492
+ // resolving unchanged ordering. The cold boot resolves auth from the
493
+ // profile fetch FIRST and reconciles the device set in the background, so
494
+ // first paint is not held behind those extra round-trips. Reconcile is
495
+ // best-effort — a failure never fails the sign-in (cold boot re-registers
496
+ // on the next load).
497
+ await commitDeviceSetAndResolve({
498
+ activate: options.activate,
499
+ userId: input.userId,
500
+ fallbackUser: input.user ?? null,
501
+ registerAndActivate: userId => sessionClient.registerAndActivate(userId),
502
+ addCurrentAccount: () => sessionClient.addCurrentAccount(),
503
+ startSocket: () => sessionClient.start(),
504
+ syncFromClient,
505
+ getCurrentUser: () => oxyServices.getCurrentUser(),
506
+ loginSuccess,
507
+ onAuthStateChange: onAuthStateChangeRef.current,
508
+ markAuthResolved: markAuthResolvedRef.current
509
+ });
515
510
  if (options.activate && options.hubSync && hubSync && isWebBrowser()) {
516
511
  try {
517
512
  await syncHubAfterSignIn(oxyServices, {
@@ -574,7 +569,13 @@ export const OxyProvider = ({
574
569
  return;
575
570
  }
576
571
  void Linking.openURL(url);
577
- }
572
+ },
573
+ // Native-only probe so the controller can detect an installed Commons and
574
+ // deep-link straight into its approve screen (keeping the QR/polling live
575
+ // as fallback). `undefined` on web mirrors the `openUrl` split — the
576
+ // controller short-circuits, so `redirectToAuthorize` never runs for the
577
+ // `oxycommons://` payload.
578
+ canOpenApp: isWebBrowser() ? undefined : url => Linking.canOpenURL(url)
578
579
  });
579
580
  }
580
581
  const accountDialogController = accountDialogControllerRef.current;
@@ -705,10 +706,10 @@ export const OxyProvider = ({
705
706
  if (document.visibilityState !== 'visible') return;
706
707
  const reconcile = async () => {
707
708
  if (!oxyServices.getAccessToken() && sessionClientHost.getDeviceCredential()) {
708
- await refreshPersistedSession({
709
- oxy: oxyServices,
710
- store: authStore
711
- });
709
+ // Route through the ONE shared single-flight the scheduler/preflight/401
710
+ // use — never a private mint lane — so a tab-focus reconcile can't
711
+ // double-rotate the device secret against them.
712
+ await oxyServices.httpService.refreshAccessToken('preflight');
712
713
  }
713
714
  if (!oxyServices.getAccessToken() && !sessionClientHost.getDeviceCredential()) {
714
715
  return;
@@ -720,7 +721,7 @@ export const OxyProvider = ({
720
721
  };
721
722
  document.addEventListener('visibilitychange', onVisibility);
722
723
  return () => document.removeEventListener('visibilitychange', onVisibility);
723
- }, [oxyServices, sessionClient, sessionClientHost, authStore, syncFromClient]);
724
+ }, [oxyServices, sessionClient, sessionClientHost, syncFromClient]);
724
725
 
725
726
  // Exposed `refreshSessions`: re-bootstrap the server-authoritative device
726
727
  // state and reproject — the manual counterpart to the realtime socket.
@@ -816,6 +817,7 @@ export const OxyProvider = ({
816
817
  storageKeyPrefix,
817
818
  clientId,
818
819
  oxyServices,
820
+ sessionClient,
819
821
  useFollow: useFollowHook,
820
822
  showBottomSheet: showBottomSheetForContext,
821
823
  openAvatarPicker,
@@ -827,7 +829,7 @@ export const OxyProvider = ({
827
829
  switchToAccount,
828
830
  refreshAccounts,
829
831
  createAccount: createAccountFn
830
- }), [user, sessions, activeSessionId, isAuthenticated, isLoading, tokenReady, hasAccessToken, canUsePrivateApi, isPrivateApiPending, authResolved, storage, error, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, hasIdentity, getPublicKey, signIn, signInWithPassword, completeTwoFactorSignIn, revokeSuspiciousSignIn, handleWebSession, logout, logoutAll, switchSessionForContext, refreshSessionsForContext, setLanguage, getDeviceSessions, logoutAllDeviceSessions, updateDeviceName, clearSessionState, clearAllAccountData, storageKeyPrefix, clientId, oxyServices, useFollowHook, showBottomSheetForContext, openAvatarPicker, accountDialogController, accountDialogOpen, openAccountDialog, closeAccountDialog, accounts, switchToAccount, refreshAccounts, createAccountFn]);
832
+ }), [user, sessions, activeSessionId, isAuthenticated, isLoading, tokenReady, hasAccessToken, canUsePrivateApi, isPrivateApiPending, authResolved, storage, error, currentLanguage, currentLanguageMetadata, currentLanguageName, currentNativeLanguageName, hasIdentity, getPublicKey, signIn, signInWithPassword, completeTwoFactorSignIn, revokeSuspiciousSignIn, handleWebSession, logout, logoutAll, switchSessionForContext, refreshSessionsForContext, setLanguage, getDeviceSessions, logoutAllDeviceSessions, updateDeviceName, clearSessionState, clearAllAccountData, storageKeyPrefix, clientId, oxyServices, sessionClient, useFollowHook, showBottomSheetForContext, openAvatarPicker, accountDialogController, accountDialogOpen, openAccountDialog, closeAccountDialog, accounts, switchToAccount, refreshAccounts, createAccountFn]);
831
833
  return /*#__PURE__*/_jsx(OxyContext.Provider, {
832
834
  value: contextValue,
833
835
  children: children
@@ -882,6 +884,7 @@ const LOADING_STATE = {
882
884
  storageKeyPrefix: 'oxy_session',
883
885
  clientId: null,
884
886
  oxyServices: LOADING_STATE_OXY_SERVICES,
887
+ sessionClient: null,
885
888
  openAvatarPicker: () => {},
886
889
  accountDialogController: null,
887
890
  isAccountDialogOpen: false,
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Linking","OxyServices","oxyClient","KeyManager","installAuthRefreshHandler","startTokenRefreshScheduler","createAccountDialogController","refreshPersistedSession","logger","loggerUtil","syncHubAfterSignIn","registerAccountDialogControls","notifyAccountDialogVisibility","redirectToAuthorize","isWebBrowser","runProviderColdBoot","loadPersistedDeviceCredential","useAuthStore","useShallow","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","useAvatarPicker","useAccountStore","createSessionClient","createPlatformAuthStateStore","deviceStateToClientSessions","activeSessionIdOf","activeUserOf","accountIdsOf","DEFAULT_SESSION_VALIDITY_MS","loadUseFollowHook","useOxyAccountGraph","jsx","_jsx","OxyContext","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","storageKeyPrefix","clientId","clientIdProp","hubSync","onAuthStateChange","onError","oxyServicesRef","current","Error","authStoreRef","authStore","user","isAuthenticated","isLoading","error","loginSuccess","loginFailure","logoutStore","state","logout","tokenReady","setTokenReady","hasAccessToken","setHasAccessToken","Boolean","getAccessToken","authResolved","setAuthResolved","authResolvedRef","userRef","isAuthenticatedRef","initialized","setInitialized","accountDialogOpen","setAccountDialogOpen","setAuthState","setState","applyToSingleton","accessToken","setTokens","clearTokens","onTokensChanged","message","err","__DEV__","warn","component","storageKeys","trimmed","trim","storageRef","storage","setStorage","buildStorageDeferred","resolve","undefined","promise","Promise","res","storageReadyRef","storageReady","mounted","then","storageInstance","catch","code","status","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","clearSessionState","saveActiveSessionId","setAuthError","switchSessionRef","clearSessionStateRef","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","sessionClientPairRef","clearError","client","sessionClient","host","sessionClientHost","syncFromClient","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ids","users","getUsersByIds","fetchError","latest","usersById","Map","map","resolvedUser","id","activeUser","activeAccountId","syncFromClientRef","syncDeviceCredentialToHost","cred","setDeviceCredential","subscribe","signIn","logoutAll","store","revokeSuspiciousSignIn","clearAllAccountData","clear","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","clearingInvalidTokenRef","handleTokenChange","finally","dispose","oxy","scheduler","commitSession","input","options","deviceId","deviceSecret","prior","load","next","sessionId","userId","expiresAt","save","persistError","now","Date","getTime","toISOString","lastActive","isCurrent","merge","activate","registerAndActivate","addCurrentAccount","start","registrationError","method","fullUser","getCurrentUser","profileError","debug","enabled","hubError","commitSessionRef","handleWebSession","session","handleWebSessionRef","accountDialogControllerRef","locale","onSignedIn","openUrl","url","openURL","accountDialogController","openAccountDialog","view","setView","closeAccountDialog","cancelSignIn","controller","destroy","open","close","signInWithPassword","identifier","password","opts","persisted","result","passwordSignIn","deviceName","deviceFingerprint","loginToken","securityAlert","completeTwoFactorSignIn","params","token","backupCode","runColdBoot","onVisibility","document","visibilityState","reconcile","getDeviceCredential","bootstrap","addEventListener","removeEventListener","refreshSessionsForContext","switchSessionForContext","targetAccountId","find","account","accountId","switchAccount","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","refreshAccounts","switchToAccount","createAccount","createAccountFn","canUsePrivateApi","isPrivateApiPending","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","useFollow","isAccountDialogOpen","Provider","value","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Linking","OxyServices","oxyClient","KeyManager","installAuthRefreshHandler","startTokenRefreshScheduler","createAccountDialogController","logger","loggerUtil","syncHubAfterSignIn","registerAccountDialogControls","notifyAccountDialogVisibility","redirectToAuthorize","isWebBrowser","runProviderColdBoot","loadPersistedDeviceCredential","useAuthStore","useShallow","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","useAvatarPicker","useAccountStore","createSessionClient","createPlatformAuthStateStore","deviceStateToClientSessions","activeSessionIdOf","activeUserOf","accountIdsOf","DEFAULT_SESSION_VALIDITY_MS","loadUseFollowHook","commitDeviceSetAndResolve","useOxyAccountGraph","jsx","_jsx","OxyContext","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","storageKeyPrefix","clientId","clientIdProp","hubSync","onAuthStateChange","onError","oxyServicesRef","current","Error","authStoreRef","authStore","user","isAuthenticated","isLoading","error","loginSuccess","loginFailure","logoutStore","state","logout","tokenReady","setTokenReady","hasAccessToken","setHasAccessToken","Boolean","getAccessToken","authResolved","setAuthResolved","authResolvedRef","userRef","isAuthenticatedRef","initialized","setInitialized","accountDialogOpen","setAccountDialogOpen","setAuthState","setState","applyToSingleton","accessToken","setTokens","clearTokens","onTokensChanged","message","err","__DEV__","warn","component","storageKeys","trimmed","trim","storageRef","storage","setStorage","buildStorageDeferred","resolve","undefined","promise","Promise","res","storageReadyRef","storageReady","mounted","then","storageInstance","catch","code","status","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","clearSessionState","saveActiveSessionId","setAuthError","switchSessionRef","clearSessionStateRef","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","sessionClientPairRef","origin","clearError","client","sessionClient","host","sessionClientHost","syncFromClient","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ids","users","getUsersByIds","fetchError","latest","usersById","Map","map","resolvedUser","id","activeUser","activeAccountId","syncFromClientRef","syncDeviceCredentialToHost","cred","setDeviceCredential","subscribe","signIn","logoutAll","store","revokeSuspiciousSignIn","clearAllAccountData","clear","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","clearingInvalidTokenRef","handleTokenChange","finally","dispose","oxy","scheduler","commitSession","input","options","deviceId","deviceSecret","prior","load","next","sessionId","userId","expiresAt","save","persistError","now","Date","getTime","toISOString","lastActive","isCurrent","merge","activate","fallbackUser","registerAndActivate","addCurrentAccount","startSocket","start","getCurrentUser","enabled","hubError","debug","method","commitSessionRef","handleWebSession","session","handleWebSessionRef","accountDialogControllerRef","locale","onSignedIn","openUrl","url","openURL","canOpenApp","canOpenURL","accountDialogController","openAccountDialog","view","setView","closeAccountDialog","cancelSignIn","controller","destroy","open","close","signInWithPassword","identifier","password","opts","persisted","result","passwordSignIn","deviceName","deviceFingerprint","loginToken","securityAlert","completeTwoFactorSignIn","params","token","backupCode","runColdBoot","onVisibility","document","visibilityState","reconcile","getDeviceCredential","httpService","refreshAccessToken","bootstrap","addEventListener","removeEventListener","refreshSessionsForContext","switchSessionForContext","targetAccountId","find","account","accountId","switchAccount","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","refreshAccounts","switchToAccount","createAccount","createAccountFn","canUsePrivateApi","isPrivateApiPending","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","useFollow","isAccountDialogOpen","Provider","value","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ import { logger as loggerUtil } from '@oxyhq/core';
4
+ const LOG_CONTEXT = {
5
+ component: 'OxyContext',
6
+ method: 'commitSession'
7
+ };
8
+ /**
9
+ * Device-set registration + full-user hydration + auth-resolution gate flip.
10
+ *
11
+ * On a deliberate sign-in (`activate: true`) the device-set reconcile is awaited
12
+ * BEFORE hydrating and resolving — unchanged legacy ordering. On a cold boot
13
+ * (`activate: false`) auth resolves from the profile fetch FIRST so the app can
14
+ * paint an authenticated shell without waiting on device-set registration, the
15
+ * socket connect, and the authoritative sessions projection — those reconcile in
16
+ * a DETACHED background task a moment later.
17
+ */
18
+ export async function commitDeviceSetAndResolve(deps) {
19
+ const {
20
+ activate,
21
+ userId,
22
+ fallbackUser,
23
+ registerAndActivate,
24
+ addCurrentAccount,
25
+ startSocket,
26
+ syncFromClient,
27
+ getCurrentUser,
28
+ loginSuccess,
29
+ onAuthStateChange,
30
+ markAuthResolved
31
+ } = deps;
32
+
33
+ // Register into the device set, start the socket, then project server truth. A
34
+ // deliberate sign-in ACTIVATES the account (`registerAndActivate`); the cold
35
+ // boot only ensures membership and lets the server's own `activeAccountId` win
36
+ // (`addCurrentAccount`).
37
+ const reconcileDeviceSet = async () => {
38
+ if (activate) {
39
+ await registerAndActivate(userId);
40
+ } else {
41
+ await addCurrentAccount();
42
+ }
43
+ await startSocket();
44
+ await syncFromClient();
45
+ };
46
+ const logReconcileError = registrationError => {
47
+ loggerUtil.warn('commitSession: device-set registration failed', LOG_CONTEXT, registrationError);
48
+ };
49
+
50
+ // Hydrate the full user then flip the auth-resolution gate. Falls back to the
51
+ // minimal commit-input shape if the profile fetch fails — never leaves auth
52
+ // unresolved.
53
+ const hydrateAndResolve = async () => {
54
+ let fullUser = null;
55
+ try {
56
+ fullUser = await getCurrentUser();
57
+ } catch (profileError) {
58
+ if (__DEV__) {
59
+ loggerUtil.debug('Failed to fetch full user on commit; using minimal fallback', LOG_CONTEXT, profileError);
60
+ }
61
+ fullUser = fallbackUser;
62
+ }
63
+ if (fullUser) {
64
+ loginSuccess(fullUser);
65
+ onAuthStateChange?.(fullUser);
66
+ }
67
+ markAuthResolved();
68
+ };
69
+ if (activate) {
70
+ // Deliberate sign-in: block on the device-set reconcile (unchanged ordering)
71
+ // before hydrating + resolving, so the account is fully registered/active.
72
+ try {
73
+ await reconcileDeviceSet();
74
+ } catch (registrationError) {
75
+ logReconcileError(registrationError);
76
+ }
77
+ await hydrateAndResolve();
78
+ return;
79
+ }
80
+
81
+ // Cold boot: resolve auth from the profile fetch FIRST; reconcile the device
82
+ // set (membership + socket + sessions projection) in a DETACHED background
83
+ // task so first paint is not blocked behind those round-trips.
84
+ await hydrateAndResolve();
85
+ void reconcileDeviceSet().catch(logReconcileError);
86
+ }
87
+ //# sourceMappingURL=commitSessionFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["logger","loggerUtil","LOG_CONTEXT","component","method","commitDeviceSetAndResolve","deps","activate","userId","fallbackUser","registerAndActivate","addCurrentAccount","startSocket","syncFromClient","getCurrentUser","loginSuccess","onAuthStateChange","markAuthResolved","reconcileDeviceSet","logReconcileError","registrationError","warn","hydrateAndResolve","fullUser","profileError","__DEV__","debug","catch"],"sourceRoot":"../../../../src","sources":["ui/context/commitSessionFlow.ts"],"mappings":";;AACA,SAASA,MAAM,IAAIC,UAAU,QAAQ,aAAa;AAElD,MAAMC,WAAW,GAAG;EAAEC,SAAS,EAAE,YAAY;EAAEC,MAAM,EAAE;AAAgB,CAAU;AA6BjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,yBAAyBA,CAC7CC,IAAmC,EACpB;EACf,MAAM;IACJC,QAAQ;IACRC,MAAM;IACNC,YAAY;IACZC,mBAAmB;IACnBC,iBAAiB;IACjBC,WAAW;IACXC,cAAc;IACdC,cAAc;IACdC,YAAY;IACZC,iBAAiB;IACjBC;EACF,CAAC,GAAGX,IAAI;;EAER;EACA;EACA;EACA;EACA,MAAMY,kBAAkB,GAAG,MAAAA,CAAA,KAA2B;IACpD,IAAIX,QAAQ,EAAE;MACZ,MAAMG,mBAAmB,CAACF,MAAM,CAAC;IACnC,CAAC,MAAM;MACL,MAAMG,iBAAiB,CAAC,CAAC;IAC3B;IACA,MAAMC,WAAW,CAAC,CAAC;IACnB,MAAMC,cAAc,CAAC,CAAC;EACxB,CAAC;EAED,MAAMM,iBAAiB,GAAIC,iBAA0B,IAAW;IAC9DnB,UAAU,CAACoB,IAAI,CAAC,+CAA+C,EAAEnB,WAAW,EAAEkB,iBAAiB,CAAC;EAClG,CAAC;;EAED;EACA;EACA;EACA,MAAME,iBAAiB,GAAG,MAAAA,CAAA,KAA2B;IACnD,IAAIC,QAAqB,GAAG,IAAI;IAChC,IAAI;MACFA,QAAQ,GAAG,MAAMT,cAAc,CAAC,CAAC;IACnC,CAAC,CAAC,OAAOU,YAAY,EAAE;MACrB,IAAIC,OAAO,EAAE;QACXxB,UAAU,CAACyB,KAAK,CAAC,6DAA6D,EAAExB,WAAW,EAAEsB,YAAY,CAAC;MAC5G;MACAD,QAAQ,GAAGd,YAAY;IACzB;IACA,IAAIc,QAAQ,EAAE;MACZR,YAAY,CAACQ,QAAQ,CAAC;MACtBP,iBAAiB,GAAGO,QAAQ,CAAC;IAC/B;IACAN,gBAAgB,CAAC,CAAC;EACpB,CAAC;EAED,IAAIV,QAAQ,EAAE;IACZ;IACA;IACA,IAAI;MACF,MAAMW,kBAAkB,CAAC,CAAC;IAC5B,CAAC,CAAC,OAAOE,iBAAiB,EAAE;MAC1BD,iBAAiB,CAACC,iBAAiB,CAAC;IACtC;IACA,MAAME,iBAAiB,CAAC,CAAC;IACzB;EACF;;EAEA;EACA;EACA;EACA,MAAMA,iBAAiB,CAAC,CAAC;EACzB,KAAKJ,kBAAkB,CAAC,CAAC,CAACS,KAAK,CAACR,iBAAiB,CAAC;AACpD","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useRef } from 'react';
4
+ import { useOxy } from "../context/OxyContext.js";
5
+
6
+ /**
7
+ * Subscribe to a named server-pushed Socket.IO event (e.g. `civic:attested`)
8
+ * for the lifetime of the component. Payloads arrive as `unknown` — callers
9
+ * validate shape. Handler identity may change between renders; the latest one
10
+ * is always invoked.
11
+ */
12
+ export function useOxyEvent(event, handler) {
13
+ const {
14
+ sessionClient
15
+ } = useOxy();
16
+ const handlerRef = useRef(handler);
17
+ handlerRef.current = handler;
18
+ useEffect(() => {
19
+ if (!sessionClient) return;
20
+ return sessionClient.onServerEvent(event, payload => {
21
+ handlerRef.current(payload);
22
+ });
23
+ }, [sessionClient, event]);
24
+ }
25
+ //# sourceMappingURL=useOxyEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useOxy","useOxyEvent","event","handler","sessionClient","handlerRef","current","onServerEvent","payload"],"sourceRoot":"../../../../src","sources":["ui/hooks/useOxyEvent.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,SAASC,MAAM,QAAQ,0BAAuB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,KAAa,EAAEC,OAAmC,EAAQ;EACpF,MAAM;IAAEC;EAAc,CAAC,GAAGJ,MAAM,CAAC,CAAC;EAClC,MAAMK,UAAU,GAAGN,MAAM,CAACI,OAAO,CAAC;EAClCE,UAAU,CAACC,OAAO,GAAGH,OAAO;EAE5BL,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,aAAa,EAAE;IACpB,OAAOA,aAAa,CAACG,aAAa,CAACL,KAAK,EAAGM,OAAO,IAAK;MACrDH,UAAU,CAACC,OAAO,CAACE,OAAO,CAAC;IAC7B,CAAC,CAAC;EACJ,CAAC,EAAE,CAACJ,aAAa,EAAEF,KAAK,CAAC,CAAC;AAC5B","ignoreList":[]}
@@ -205,7 +205,6 @@ const FileManagementScreen = ({
205
205
  const [lastSelectedFileId, setLastSelectedFileId] = useState(null);
206
206
  const scrollViewRef = useRef(null);
207
207
  const photoScrollViewRef = useRef(null);
208
- const itemRefs = useRef(new Map()); // Track item positions
209
208
  const containerRef = useRef(null);
210
209
  useEffect(() => {
211
210
  if (initialSelectedIds?.length) {
@@ -971,11 +970,6 @@ const FileManagementScreen = ({
971
970
  const groupedFileItems = useMemo(() => {
972
971
  // filteredFiles is already sorted, so just use it directly
973
972
  const sortedFiles = filteredFiles;
974
-
975
- // Store file positions for scrolling
976
- sortedFiles.forEach((file, index) => {
977
- itemRefs.current.set(file.id, index);
978
- });
979
973
  return sortedFiles.map(file => {
980
974
  const isImage = file.contentType.startsWith('image/');
981
975
  const isPDF = file.contentType.includes('pdf');
@@ -1137,9 +1131,9 @@ const FileManagementScreen = ({
1137
1131
  useEffect(() => {
1138
1132
  if (lastSelectedFileId && selectMode) {
1139
1133
  if (viewMode === 'all' && scrollViewRef.current) {
1140
- // Find the index of the selected file
1141
- const itemIndex = itemRefs.current.get(lastSelectedFileId);
1142
- if (itemIndex !== undefined && itemIndex >= 0) {
1134
+ // Find the index of the selected file (filteredFiles is already sorted)
1135
+ const itemIndex = filteredFiles.findIndex(file => file.id === lastSelectedFileId);
1136
+ if (itemIndex >= 0) {
1143
1137
  // Estimate item height (GroupedItem with dense mode is approximately 60-70px)
1144
1138
  // Account for description rows which add extra height
1145
1139
  const baseItemHeight = 65;