@oxyhq/services 14.1.0 → 16.0.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.
- package/lib/commonjs/index.js +4 -21
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/SignInAccountChooser.js +189 -0
- package/lib/commonjs/ui/components/SignInAccountChooser.js.map +1 -0
- package/lib/commonjs/ui/components/SignInModal.js +350 -131
- package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +340 -1547
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +61 -64
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/mutationKeys.js +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +9 -9
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +7 -8
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAuth.js +14 -33
- package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
- package/lib/commonjs/ui/hooks/usePasswordSignIn.js +170 -0
- package/lib/commonjs/ui/hooks/usePasswordSignIn.js.map +1 -0
- package/lib/commonjs/ui/hooks/useProfileEditing.js +2 -5
- package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +2 -2
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +1 -0
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +17 -18
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +93 -68
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileScreen.js +187 -0
- package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +3 -7
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +231 -95
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +15 -2
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/linkFormat.js +38 -0
- package/lib/commonjs/ui/screens/linkFormat.js.map +1 -0
- package/lib/commonjs/ui/session/authStore.js +146 -0
- package/lib/commonjs/ui/session/authStore.js.map +1 -0
- package/lib/commonjs/ui/session/createSessionClient.js +23 -17
- package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
- package/lib/commonjs/ui/session/index.js +13 -7
- package/lib/commonjs/ui/session/index.js.map +1 -1
- package/lib/commonjs/ui/session/tokenTransport.js +19 -31
- package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
- package/lib/commonjs/ui/utils/isWebBrowser.js +13 -0
- package/lib/commonjs/ui/utils/isWebBrowser.js.map +1 -0
- package/lib/commonjs/utils/deviceFlowSignIn.js +13 -16
- package/lib/commonjs/utils/deviceFlowSignIn.js.map +1 -1
- package/lib/module/index.js +2 -7
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/SignInAccountChooser.js +183 -0
- package/lib/module/ui/components/SignInAccountChooser.js.map +1 -0
- package/lib/module/ui/components/SignInModal.js +352 -134
- package/lib/module/ui/components/SignInModal.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +342 -1551
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +60 -63
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/hooks/mutations/mutationKeys.js +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +7 -7
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/queryKeys.js +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +5 -6
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/useAuth.js +14 -33
- package/lib/module/ui/hooks/useAuth.js.map +1 -1
- package/lib/module/ui/hooks/usePasswordSignIn.js +165 -0
- package/lib/module/ui/hooks/usePasswordSignIn.js.map +1 -0
- package/lib/module/ui/hooks/useProfileEditing.js +2 -5
- package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +1 -0
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/screens/ConnectedAppsScreen.js +19 -20
- package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +91 -66
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileScreen.js +182 -0
- package/lib/module/ui/screens/EditProfileScreen.js.map +1 -0
- package/lib/module/ui/screens/ManageAccountScreen.js +3 -7
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +233 -97
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +15 -2
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/linkFormat.js +31 -0
- package/lib/module/ui/screens/linkFormat.js.map +1 -0
- package/lib/module/ui/session/authStore.js +143 -0
- package/lib/module/ui/session/authStore.js.map +1 -0
- package/lib/module/ui/session/createSessionClient.js +22 -16
- package/lib/module/ui/session/createSessionClient.js.map +1 -1
- package/lib/module/ui/session/index.js +9 -9
- package/lib/module/ui/session/index.js.map +1 -1
- package/lib/module/ui/session/tokenTransport.js +20 -33
- package/lib/module/ui/session/tokenTransport.js.map +1 -1
- package/lib/module/ui/utils/isWebBrowser.js +11 -0
- package/lib/module/ui/utils/isWebBrowser.js.map +1 -0
- package/lib/module/utils/deviceFlowSignIn.js +14 -17
- package/lib/module/utils/deviceFlowSignIn.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -3
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts +29 -0
- package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +15 -10
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +36 -42
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +18 -23
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +4 -6
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts +6 -7
- package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts +31 -0
- package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts +0 -1
- package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/EditProfileScreen.d.ts +14 -0
- package/lib/typescript/commonjs/ui/screens/EditProfileScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts +13 -12
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/linkFormat.d.ts +23 -0
- package/lib/typescript/commonjs/ui/screens/linkFormat.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/session/authStore.d.ts +33 -0
- package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +19 -15
- package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/index.d.ts +9 -9
- package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +13 -19
- package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/isWebBrowser.d.ts +9 -0
- package/lib/typescript/commonjs/ui/utils/isWebBrowser.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/utils/storageHelpers.d.ts +7 -7
- package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts +15 -13
- package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -3
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts +29 -0
- package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/SignInModal.d.ts +15 -10
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts +36 -42
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +18 -23
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +4 -6
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts +6 -7
- package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts +31 -0
- package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts +0 -1
- package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/EditProfileScreen.d.ts +14 -0
- package/lib/typescript/module/ui/screens/EditProfileScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts +13 -12
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/linkFormat.d.ts +23 -0
- package/lib/typescript/module/ui/screens/linkFormat.d.ts.map +1 -0
- package/lib/typescript/module/ui/session/authStore.d.ts +33 -0
- package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -0
- package/lib/typescript/module/ui/session/createSessionClient.d.ts +19 -15
- package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/index.d.ts +9 -9
- package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/session/tokenTransport.d.ts +13 -19
- package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/isWebBrowser.d.ts +9 -0
- package/lib/typescript/module/ui/utils/isWebBrowser.d.ts.map +1 -0
- package/lib/typescript/module/ui/utils/storageHelpers.d.ts +7 -7
- package/lib/typescript/module/utils/deviceFlowSignIn.d.ts +15 -13
- package/lib/typescript/module/utils/deviceFlowSignIn.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +2 -6
- package/src/ui/components/SignInAccountChooser.tsx +162 -0
- package/src/ui/components/SignInModal.tsx +309 -139
- package/src/ui/context/OxyContext.tsx +532 -1785
- package/src/ui/context/hooks/useAuthOperations.ts +65 -76
- package/src/ui/hooks/mutations/mutationKeys.ts +1 -1
- package/src/ui/hooks/mutations/useAccountMutations.ts +7 -7
- package/src/ui/hooks/queries/queryKeys.ts +1 -1
- package/src/ui/hooks/queries/useAccountQueries.ts +8 -9
- package/src/ui/hooks/useAuth.ts +14 -35
- package/src/ui/hooks/usePasswordSignIn.ts +207 -0
- package/src/ui/hooks/useProfileEditing.ts +2 -8
- package/src/ui/hooks/useSessionManagement.ts +1 -1
- package/src/ui/navigation/routes.ts +3 -1
- package/src/ui/screens/ConnectedAppsScreen.tsx +23 -24
- package/src/ui/screens/EditProfileFieldScreen.tsx +102 -66
- package/src/ui/screens/EditProfileScreen.tsx +155 -0
- package/src/ui/screens/ManageAccountScreen.tsx +3 -7
- package/src/ui/screens/OxyAuthScreen.tsx +259 -112
- package/src/ui/screens/ProfileScreen.tsx +15 -2
- package/src/ui/screens/__tests__/linkFormat.test.ts +73 -0
- package/src/ui/screens/linkFormat.ts +37 -0
- package/src/ui/session/__tests__/createSessionClient.test.ts +22 -7
- package/src/ui/session/__tests__/tokenTransport.test.ts +37 -49
- package/src/ui/session/authStore.ts +164 -0
- package/src/ui/session/createSessionClient.ts +30 -17
- package/src/ui/session/index.ts +10 -9
- package/src/ui/session/tokenTransport.ts +26 -36
- package/src/ui/utils/isWebBrowser.ts +8 -0
- package/src/ui/utils/storageHelpers.ts +7 -7
- package/src/utils/__tests__/deviceFlowSignIn.test.ts +50 -131
- package/src/utils/deviceFlowSignIn.ts +19 -26
- package/lib/commonjs/ui/context/inSessionTokenRefresh.js +0 -243
- package/lib/commonjs/ui/context/inSessionTokenRefresh.js.map +0 -1
- package/lib/commonjs/ui/context/silentSessionRestore.js +0 -56
- package/lib/commonjs/ui/context/silentSessionRestore.js.map +0 -1
- package/lib/commonjs/ui/hooks/useWebSSO.js +0 -28
- package/lib/commonjs/ui/hooks/useWebSSO.js.map +0 -1
- package/lib/commonjs/ui/session/projectSessionState.js +0 -86
- package/lib/commonjs/ui/session/projectSessionState.js.map +0 -1
- package/lib/commonjs/ui/session/sessionClientHost.js +0 -30
- package/lib/commonjs/ui/session/sessionClientHost.js.map +0 -1
- package/lib/commonjs/ui/utils/activeAuthuser.js +0 -142
- package/lib/commonjs/ui/utils/activeAuthuser.js.map +0 -1
- package/lib/commonjs/utils/crossApex.js +0 -74
- package/lib/commonjs/utils/crossApex.js.map +0 -1
- package/lib/module/ui/context/inSessionTokenRefresh.js +0 -238
- package/lib/module/ui/context/inSessionTokenRefresh.js.map +0 -1
- package/lib/module/ui/context/silentSessionRestore.js +0 -53
- package/lib/module/ui/context/silentSessionRestore.js.map +0 -1
- package/lib/module/ui/hooks/useWebSSO.js +0 -24
- package/lib/module/ui/hooks/useWebSSO.js.map +0 -1
- package/lib/module/ui/session/projectSessionState.js +0 -79
- package/lib/module/ui/session/projectSessionState.js.map +0 -1
- package/lib/module/ui/session/sessionClientHost.js +0 -26
- package/lib/module/ui/session/sessionClientHost.js.map +0 -1
- package/lib/module/ui/utils/activeAuthuser.js +0 -134
- package/lib/module/ui/utils/activeAuthuser.js.map +0 -1
- package/lib/module/utils/crossApex.js +0 -69
- package/lib/module/utils/crossApex.js.map +0 -1
- package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts +0 -106
- package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/context/silentSessionRestore.d.ts +0 -36
- package/lib/typescript/commonjs/ui/context/silentSessionRestore.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts +0 -19
- package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/session/projectSessionState.d.ts +0 -45
- package/lib/typescript/commonjs/ui/session/projectSessionState.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/session/sessionClientHost.d.ts +0 -14
- package/lib/typescript/commonjs/ui/session/sessionClientHost.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts +0 -67
- package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +0 -1
- package/lib/typescript/commonjs/utils/crossApex.d.ts +0 -55
- package/lib/typescript/commonjs/utils/crossApex.d.ts.map +0 -1
- package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts +0 -106
- package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts.map +0 -1
- package/lib/typescript/module/ui/context/silentSessionRestore.d.ts +0 -36
- package/lib/typescript/module/ui/context/silentSessionRestore.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/useWebSSO.d.ts +0 -19
- package/lib/typescript/module/ui/hooks/useWebSSO.d.ts.map +0 -1
- package/lib/typescript/module/ui/session/projectSessionState.d.ts +0 -45
- package/lib/typescript/module/ui/session/projectSessionState.d.ts.map +0 -1
- package/lib/typescript/module/ui/session/sessionClientHost.d.ts +0 -14
- package/lib/typescript/module/ui/session/sessionClientHost.d.ts.map +0 -1
- package/lib/typescript/module/ui/utils/activeAuthuser.d.ts +0 -67
- package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +0 -1
- package/lib/typescript/module/utils/crossApex.d.ts +0 -55
- package/lib/typescript/module/utils/crossApex.d.ts.map +0 -1
- package/src/ui/context/inSessionTokenRefresh.ts +0 -264
- package/src/ui/context/silentSessionRestore.ts +0 -53
- package/src/ui/hooks/useWebSSO.ts +0 -23
- package/src/ui/session/__tests__/projectSessionState.test.ts +0 -114
- package/src/ui/session/__tests__/sessionClientHost.test.ts +0 -43
- package/src/ui/session/projectSessionState.ts +0 -85
- package/src/ui/session/sessionClientHost.ts +0 -27
- package/src/ui/utils/activeAuthuser.ts +0 -142
- package/src/utils/crossApex.ts +0 -75
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","View","StyleSheet","ActivityIndicator","ScrollView","useTheme","Button","H2","Text","SettingsListGroup","SettingsListItem","Avatar","FollowButton","useFollow","Ionicons","useI18n","useOxy","getAccountDisplayName","logger","normalizeProfileLinks","extractErrorMessage","jsx","_jsx","jsxs","_jsxs","AVATAR_SIZE","BANNER_HEIGHT","AVATAR_OVERLAP","INFO_ICON_SIZE","ProfileScreen","userId","username","theme","goBack","navigate","oxyServices","user","currentUser","profile","setProfile","reputationTotal","setReputationTotal","postsCount","setPostsCount","commentsCount","setCommentsCount","isLoading","setIsLoading","error","setError","links","setLinks","followerCount","followingCount","isLoadingCounts","bloomTheme","t","locale","normalizeId","id","String","trim","currentUserId","targetUserId","isOwnProfile","Promise","all","getUserById","catch","err","normalizedCurrentId","normalizedTargetId","getReputationBalance","then","balance","total","undefined","getUserStats","postCount","commentCount","resolve","profileRes","reputationRes","statsRes","linksMetadata","Error","component","errorMessage","errorWithStatus","errorMessageText","status","includes","finally","style","styles","centerContainer","className","children","size","color","colors","primary","container","errorHeader","variant","onPress","accessibilityLabel","icon","name","text","errorTitle","errorContent","errorText","errorSubtext","displayName","flex","contentContainerStyle","scrollContainer","bannerContainer","avatarRow","avatarWrapper","uri","avatar","getFileDownloadUrl","actionButtonWrapper","onFollowChange","isFollowing","__DEV__","debug","header","subText","bio","createdAt","textSecondary","title","date","Date","toLocaleDateString","showChevron","location","website","company","jobTitle","education","birthday","length","url","value","count","statsRow","statItem","statAmount","statLabel","create","justifyContent","alignItems","paddingBottom","height","position","overflow","flexDirection","marginTop","zIndex","borderWidth","width","fontSize","marginBottom","letterSpacing","lineHeight","minWidth","textAlign","fontWeight","gap"],"sourceRoot":"../../../../src","sources":["ui/screens/ProfileScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useEffect","useState","View","StyleSheet","ActivityIndicator","ScrollView","useTheme","Button","H2","Text","SettingsListGroup","SettingsListItem","Avatar","FollowButton","useFollow","Ionicons","useI18n","useOxy","getAccountDisplayName","logger","normalizeProfileLinks","extractErrorMessage","jsx","_jsx","jsxs","_jsxs","AVATAR_SIZE","BANNER_HEIGHT","AVATAR_OVERLAP","INFO_ICON_SIZE","ProfileScreen","userId","username","theme","goBack","navigate","oxyServices","user","currentUser","profile","setProfile","reputationTotal","setReputationTotal","postsCount","setPostsCount","commentsCount","setCommentsCount","isLoading","setIsLoading","error","setError","links","setLinks","followerCount","followingCount","isLoadingCounts","bloomTheme","t","locale","normalizeId","id","String","trim","currentUserId","targetUserId","isOwnProfile","Promise","all","getUserById","catch","err","normalizedCurrentId","normalizedTargetId","getReputationBalance","then","balance","total","undefined","getUserStats","postCount","commentCount","resolve","profileRes","reputationRes","statsRes","linksMetadata","Error","component","errorMessage","errorWithStatus","errorMessageText","status","includes","finally","style","styles","centerContainer","className","children","size","color","colors","primary","container","errorHeader","variant","onPress","accessibilityLabel","icon","name","text","errorTitle","errorContent","errorText","errorSubtext","displayName","primaryLocation","locations","first","Array","isArray","flex","contentContainerStyle","scrollContainer","bannerContainer","avatarRow","avatarWrapper","uri","avatar","getFileDownloadUrl","actionButtonWrapper","onFollowChange","isFollowing","__DEV__","debug","header","subText","bio","createdAt","textSecondary","title","date","Date","toLocaleDateString","showChevron","website","company","jobTitle","education","birthday","length","url","value","count","statsRow","statItem","statAmount","statLabel","create","justifyContent","alignItems","paddingBottom","height","position","overflow","flexDirection","marginTop","zIndex","borderWidth","width","fontSize","marginBottom","letterSpacing","lineHeight","minWidth","textAlign","fontWeight","gap"],"sourceRoot":"../../../../src","sources":["ui/screens/ProfileScreen.tsx"],"mappings":";;AACA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,IAAI,EAAEC,UAAU,EAAEC,iBAAiB,EAAEC,UAAU,QAAQ,cAAc;AAE9E,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,EAAE,EAAEC,IAAI,QAAQ,yBAAyB;AAClD,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,4BAA4B;AAChF,OAAOC,MAAM,MAAM,yBAAsB;AACzC,OAAOC,YAAY,MAAM,+BAA4B;AACrD,SAASC,SAAS,QAAQ,uBAAoB;AAC9C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,OAAO,QAAQ,qBAAkB;AAC1C,SAASC,MAAM,QAAQ,0BAAuB;AAC9C,SAASC,qBAAqB,EAAEC,MAAM,EAAEC,qBAAqB,QAAQ,aAAa;AAElF,SAASC,mBAAmB,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAO7D,MAAMC,WAAW,GAAG,EAAE;AACtB,MAAMC,aAAa,GAAG,GAAG;AACzB,MAAMC,cAAc,GAAG,CAAC,EAAE;AAC1B,MAAMC,cAAc,GAAG,EAAE;AAEzB,MAAMC,aAA2C,GAAGA,CAAC;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,MAAM;EAAEC;AAAS,CAAC,KAAK;EACnG;EACA;EACA;EACA;EACA,MAAM;IAAEC,WAAW;IAAEC,IAAI,EAAEC;EAAY,CAAC,GAAGrB,MAAM,CAAC,CAAC;EACnD,MAAM,CAACsB,OAAO,EAAEC,UAAU,CAAC,GAAGvC,QAAQ,CAAc,IAAI,CAAC;EACzD,MAAM,CAACwC,eAAe,EAAEC,kBAAkB,CAAC,GAAGzC,QAAQ,CAAgB,IAAI,CAAC;EAC3E,MAAM,CAAC0C,UAAU,EAAEC,aAAa,CAAC,GAAG3C,QAAQ,CAAgB,IAAI,CAAC;EACjE,MAAM,CAAC4C,aAAa,EAAEC,gBAAgB,CAAC,GAAG7C,QAAQ,CAAgB,IAAI,CAAC;EACvE,MAAM,CAAC8C,SAAS,EAAEC,YAAY,CAAC,GAAG/C,QAAQ,CAAC,IAAI,CAAC;EAChD,MAAM,CAACgD,KAAK,EAAEC,QAAQ,CAAC,GAAGjD,QAAQ,CAAgB,IAAI,CAAC;EACvD,MAAM,CAACkD,KAAK,EAAEC,QAAQ,CAAC,GAAGnD,QAAQ,CAAgB,EAAE,CAAC;;EAErD;EACA,MAAM;IACFoD,aAAa;IACbC,cAAc;IACdC;EACJ,CAAC,GAAGzC,SAAS,CAACiB,MAAM,CAAC;EAErB,MAAMyB,UAAU,GAAGlD,QAAQ,CAAC,CAAC;EAC7B,MAAM;IAAEmD,CAAC;IAAEC;EAAO,CAAC,GAAG1C,OAAO,CAAC,CAAC;;EAE/B;EACA;EACA,MAAM2C,WAAW,GAAIC,EAA6B,IAAa;IAC3D,IAAI,CAACA,EAAE,EAAE,OAAO,EAAE;IAClB,OAAOC,MAAM,CAACD,EAAE,CAAC,CAACE,IAAI,CAAC,CAAC;EAC5B,CAAC;EAED,MAAMC,aAAa,GAAGJ,WAAW,CAACrB,WAAW,EAAEsB,EAAE,CAAC;EAClD,MAAMI,YAAY,GAAGL,WAAW,CAAC5B,MAAM,CAAC;EACxC,MAAMkC,YAAY,GAAGF,aAAa,IAAIC,YAAY,IAAID,aAAa,KAAKC,YAAY;EAEpFhE,SAAS,CAAC,MAAM;IACZ,IAAI,CAAC+B,MAAM,EAAE;MACTmB,QAAQ,CAAC,qBAAqB,CAAC;MAC/BF,YAAY,CAAC,KAAK,CAAC;MACnB;IACJ;IAEAA,YAAY,CAAC,IAAI,CAAC;IAClBE,QAAQ,CAAC,IAAI,CAAC;;IAEd;IACAgB,OAAO,CAACC,GAAG,CAAC,CACR/B,WAAW,CAACgC,WAAW,CAACrC,MAAM,CAAC,CAACsC,KAAK,CAAEC,GAAY,IAAK;MACpD;MACA,MAAMC,mBAAmB,GAAGZ,WAAW,CAACrB,WAAW,EAAEsB,EAAE,CAAC;MACxD,MAAMY,kBAAkB,GAAGb,WAAW,CAAC5B,MAAM,CAAC;MAC9C,IAAIwC,mBAAmB,IAAIC,kBAAkB,IAAID,mBAAmB,KAAKC,kBAAkB,EAAE;QACzF,OAAOlC,WAAW;MACtB;MACA,MAAMgC,GAAG;IACb,CAAC,CAAC,EACFlC,WAAW,CAACqC,oBAAoB,CAAC1C,MAAM,CAAC,CACnC2C,IAAI,CAAEC,OAAO,KAAqC;MAAEC,KAAK,EAAED,OAAO,CAACC;IAAM,CAAC,CAAC,CAAC,CAC5EP,KAAK,CAAC,OAAsC;MAAEO,KAAK,EAAEC;IAAU,CAAC,CAAC,CAAC,EACvEzC,WAAW,CAAC0C,YAAY,GACpB1C,WAAW,CAAC0C,YAAY,CAAC/C,MAAM,CAAC,CAACsC,KAAK,CAAC,MAAM;MACzC,OAAO;QAAEU,SAAS,EAAE,CAAC;QAAEC,YAAY,EAAE;MAAE,CAAC;IAC5C,CAAC,CAAC,GACFd,OAAO,CAACe,OAAO,CAAC;MAAEF,SAAS,EAAE,CAAC;MAAEC,YAAY,EAAE;IAAE,CAAC,CAAC,CACzD,CAAC,CACGN,IAAI,CAAC,CAAC,CAACQ,UAAU,EAAEC,aAAa,EAAEC,QAAQ,CAAC,KAAK;MAC7C,IAAI,CAACF,UAAU,EAAE;QACbhC,QAAQ,CAAC,+BAA+B,CAAC;QACzCF,YAAY,CAAC,KAAK,CAAC;QACnB;MACJ;MAEAR,UAAU,CAAC0C,UAAU,CAAC;MACtBxC,kBAAkB,CAAC,OAAOyC,aAAa,CAACP,KAAK,KAAK,QAAQ,GAAGO,aAAa,CAACP,KAAK,GAAG,IAAI,CAAC;;MAExF;MACAxB,QAAQ,CAAChC,qBAAqB,CAAC8D,UAAU,CAACG,aAAa,EAAEH,UAAU,CAAC/B,KAAK,CAAC,CAAC;;MAE3E;;MAEA;MACAP,aAAa,CAACwC,QAAQ,EAAEL,SAAS,IAAI,CAAC,CAAC;MACvCjC,gBAAgB,CAACsC,QAAQ,EAAEJ,YAAY,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CACDX,KAAK,CAAEC,GAAY,IAAK;MACrBnD,MAAM,CAAC8B,KAAK,CAAC,uBAAuB,EAAEqB,GAAG,YAAYgB,KAAK,GAAGhB,GAAG,GAAG,IAAIgB,KAAK,CAACzB,MAAM,CAACS,GAAG,CAAC,CAAC,EAAE;QAAEiB,SAAS,EAAE;MAAgB,CAAC,CAAC;MAC1H;MACA,IAAIC,YAAY,GAAG,wBAAwB;;MAE3C;MACA,MAAMC,eAAe,GAAGnB,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAIA,GAAG,GAAGA,GAAG,GAA4C,IAAI;MAC/H,MAAMoB,gBAAgB,GAAGrE,mBAAmB,CAACiD,GAAG,EAAE,EAAE,CAAC;MAErD,IAAImB,eAAe,EAAEE,MAAM,KAAK,GAAG,IAAID,gBAAgB,CAACE,QAAQ,CAAC,WAAW,CAAC,IAAIF,gBAAgB,CAACE,QAAQ,CAAC,oBAAoB,CAAC,EAAE;QAC9H,MAAMrB,mBAAmB,GAAGZ,WAAW,CAACrB,WAAW,EAAEsB,EAAE,CAAC;QACxD,MAAMY,kBAAkB,GAAGb,WAAW,CAAC5B,MAAM,CAAC;QAC9C,IAAIwC,mBAAmB,IAAIC,kBAAkB,IAAID,mBAAmB,KAAKC,kBAAkB,EAAE;UACzFgB,YAAY,GAAG,4FAA4F;QAC/G,CAAC,MAAM;UACHA,YAAY,GAAG,gEAAgE;QACnF;MACJ,CAAC,MAAM,IAAIC,eAAe,EAAEE,MAAM,KAAK,GAAG,EAAE;QACxCH,YAAY,GAAG,kDAAkD;MACrE,CAAC,MAAM,IAAIC,eAAe,EAAEE,MAAM,KAAK,GAAG,EAAE;QACxCH,YAAY,GAAG,0EAA0E;MAC7F,CAAC,MAAM,IAAIE,gBAAgB,EAAE;QACzBF,YAAY,GAAGE,gBAAgB;MACnC;MAEAxC,QAAQ,CAACsC,YAAY,CAAC;IAC1B,CAAC,CAAC,CACDK,OAAO,CAAC,MAAM7C,YAAY,CAAC,KAAK,CAAC,CAAC;EAC3C,CAAC,EAAE,CAACjB,MAAM,CAAC,CAAC;EAEZ,IAAIgB,SAAS,EAAE;IACX,oBACIxB,IAAA,CAACrB,IAAI;MAAC4F,KAAK,EAAEC,MAAM,CAACC,eAAgB;MAACC,SAAS,EAAC,OAAO;MAAAC,QAAA,eAClD3E,IAAA,CAACnB,iBAAiB;QAAC+F,IAAI,EAAC,OAAO;QAACC,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACC;MAAQ,CAAE;IAAC,CAClE,CAAC;EAEf;EAEA,IAAIrD,KAAK,EAAE;IACP,oBACIxB,KAAA,CAACvB,IAAI;MAAC4F,KAAK,EAAEC,MAAM,CAACQ,SAAU;MAACN,SAAS,EAAC,OAAO;MAAAC,QAAA,gBAC5CzE,KAAA,CAACvB,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAACS,WAAY;QAACP,SAAS,EAAC,qDAAqD;QAAAC,QAAA,GAC3FhE,MAAM,iBACHX,IAAA,CAAChB,MAAM;UACHkG,OAAO,EAAC,MAAM;UACdN,IAAI,EAAC,MAAM;UACXO,OAAO,EAAExE,MAAO;UAChByE,kBAAkB,EAAElD,CAAC,CAAC,aAAa,CAAC,IAAI,MAAO;UAC/CmD,IAAI,eAAErF,IAAA,CAACR,QAAQ;YAAC8F,IAAI,EAAC,YAAY;YAACV,IAAI,EAAE,EAAG;YAACC,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACS;UAAK,CAAE;QAAE,CACjF,CACJ,eACDvF,IAAA,CAACf,EAAE;UAACsF,KAAK,EAAEC,MAAM,CAACgB,UAAW;UAACd,SAAS,EAAC,WAAW;UAAAC,QAAA,EAC9CzC,CAAC,CAAC,oBAAoB,CAAC,IAAI;QAAe,CAC3C,CAAC;MAAA,CACH,CAAC,eACPhC,KAAA,CAACvB,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAACiB,YAAa;QAACf,SAAS,EAAC,0BAA0B;QAAAC,QAAA,gBAClE3E,IAAA,CAACR,QAAQ;UAAC8F,IAAI,EAAC,cAAc;UAACV,IAAI,EAAE,EAAG;UAACC,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACpD;QAAM,CAAE,CAAC,eAC1E1B,IAAA,CAACd,IAAI;UAACqF,KAAK,EAAEC,MAAM,CAACkB,SAAU;UAAChB,SAAS,EAAC,WAAW;UAAAC,QAAA,EAAEjD;QAAK,CAAO,CAAC,eACnE1B,IAAA,CAACd,IAAI;UAACqF,KAAK,EAAEC,MAAM,CAACmB,YAAa;UAACjB,SAAS,EAAC,qBAAqB;UAAAC,QAAA,EAC5DzC,CAAC,CAAC,sBAAsB,CAAC,IAAI;QAAoF,CAChH,CAAC;MAAA,CACL,CAAC;IAAA,CACL,CAAC;EAEf;EAEA,MAAM0D,WAAW,GAAG5E,OAAO,GAAGrB,qBAAqB,CAACqB,OAAO,EAAEmB,MAAM,CAAC,GAAG1B,QAAQ,IAAI,EAAE;;EAErF;EACA;EACA;EACA;EACA,MAAMoF,eAAe,GAAG,CAAC,MAA0B;IAC/C,MAAMC,SAAS,GAAG9E,OAAO,EAAE8E,SAAS;IACpC,MAAMC,KAAc,GAAGC,KAAK,CAACC,OAAO,CAACH,SAAS,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAGxC,SAAS;IAC1E,IAAIyC,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAIA,KAAK,IAAI,OAAOA,KAAK,CAACT,IAAI,KAAK,QAAQ,EAAE;MACzF,OAAOS,KAAK,CAACT,IAAI,IAAIhC,SAAS;IAClC;IACA,OAAOA,SAAS;EACpB,CAAC,EAAE,CAAC;EAEJ,oBACItD,IAAA,CAACrB,IAAI;IAAC4F,KAAK,EAAEC,MAAM,CAACQ,SAAU;IAACN,SAAS,EAAC,OAAO;IAAAC,QAAA,eAC5CzE,KAAA,CAACpB,UAAU;MAACyF,KAAK,EAAEC,MAAM,CAAC0B,IAAK;MAACC,qBAAqB,EAAE3B,MAAM,CAAC4B,eAAgB;MAAAzB,QAAA,gBAE1E3E,IAAA,CAACrB,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC6B,eAAgB;QAAC3B,SAAS,EAAC,kBAAkB;QAAAC,QAAA,eAC7D3E,IAAA,CAACrB,IAAI;UAAC4F,KAAK,EAAEC,MAAM,CAAC0B,IAAK;UAACxB,SAAS,EAAC;QAAe,CAAE;MAAC,CACpD,CAAC,eAEPxE,KAAA,CAACvB,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC8B,SAAU;QAAC5B,SAAS,EAAC,kBAAkB;QAAAC,QAAA,gBACvD3E,IAAA,CAACrB,IAAI;UAAC4F,KAAK,EAAEC,MAAM,CAAC+B,aAAc;UAAC7B,SAAS,EAAC,oCAAoC;UAAAC,QAAA,eAC7E3E,IAAA,CAACX,MAAM;YACHmH,GAAG,EAAExF,OAAO,EAAEyF,MAAM,GAAG5F,WAAW,CAAC6F,kBAAkB,CAAC1F,OAAO,CAACyF,MAAM,EAAE,OAAO,CAAC,GAAGnD,SAAU;YAC3FgC,IAAI,EAAEM,WAAW,IAAInF,QAAS;YAC9BmE,IAAI,EAAEzE;UAAY,CACrB;QAAC,CACA,CAAC,eAEPH,IAAA,CAACrB,IAAI;UAAC4F,KAAK,EAAEC,MAAM,CAACmC,mBAAoB;UAAAhC,QAAA,EACnCjC,YAAY,gBACT1C,IAAA,CAAChB,MAAM;YACHkG,OAAO,EAAC,WAAW;YACnBN,IAAI,EAAC,OAAO;YACZO,OAAO,EAAEA,CAAA,KAAMvE,QAAQ,GAAG,eAAe,CAAE;YAAA+D,QAAA,EAE1CzC,CAAC,CAAC,mBAAmB,CAAC,IAAI;UAAc,CACrC,CAAC,gBAETlC,IAAA,CAACV,YAAY;YACTkB,MAAM,EAAEA,MAAO;YACfoG,cAAc,EAAGC,WAAW,IAAK;cAC7B;cACA,IAAIC,OAAO,EAAE;gBACTlH,MAAM,CAACmH,KAAK,CAAC,0BAA0BF,WAAW,EAAE,EAAE;kBAAE7C,SAAS,EAAE;gBAAgB,CAAC,CAAC;cACzF;YACJ;UAAE,CACL;QACJ,CACC,CAAC;MAAA,CACL,CAAC,eAEP9D,KAAA,CAACvB,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAACwC,MAAO;QAACtC,SAAS,EAAC,kBAAkB;QAAAC,QAAA,gBACpD3E,IAAA,CAACf,EAAE;UAACsF,KAAK,EAAEC,MAAM,CAACoB,WAAY;UAAClB,SAAS,EAAC,WAAW;UAAAC,QAAA,EAC/CiB;QAAW,CACZ,CAAC,EACJ5E,OAAO,EAAEP,QAAQ,iBACdP,KAAA,CAAChB,IAAI;UAACqF,KAAK,EAAEC,MAAM,CAACyC,OAAQ;UAACvC,SAAS,EAAC,qBAAqB;UAAAC,QAAA,GAAC,GAAC,EAAC3D,OAAO,CAACP,QAAQ;QAAA,CAAO,CACzF,eAEDT,IAAA,CAACd,IAAI;UAACqF,KAAK,EAAEC,MAAM,CAAC0C,GAAI;UAACxC,SAAS,EAAC,WAAW;UAAAC,QAAA,EAAE3D,OAAO,EAAEkG,GAAG,IAAKhF,CAAC,CAAC,eAAe,CAAC,IAAI;QAA4B,CAAO,CAAC;MAAA,CACzH,CAAC,eAGPhC,KAAA,CAACf,iBAAiB;QAAAwF,QAAA,GACb3D,OAAO,EAAEmG,SAAS,iBACfnH,IAAA,CAACZ,gBAAgB;UACbiG,IAAI,eAAErF,IAAA,CAACR,QAAQ;YAAC8F,IAAI,EAAC,kBAAkB;YAACV,IAAI,EAAEtE,cAAe;YAACuE,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACsC;UAAc,CAAE,CAAE;UACzGC,KAAK,EAAEnF,CAAC,CAAC,kBAAkB,EAAE;YAAEoF,IAAI,EAAE,IAAIC,IAAI,CAACvG,OAAO,CAACmG,SAAS,CAAC,CAACK,kBAAkB,CAAC;UAAE,CAAC,CAAC,IAAI,UAAU,IAAID,IAAI,CAACvG,OAAO,CAACmG,SAAS,CAAC,CAACK,kBAAkB,CAAC,CAAC,EAAG;UACzJC,WAAW,EAAE;QAAM,CACtB,CACJ,EACA5B,eAAe,iBACZ7F,IAAA,CAACZ,gBAAgB;UACbiG,IAAI,eAAErF,IAAA,CAACR,QAAQ;YAAC8F,IAAI,EAAC,kBAAkB;YAACV,IAAI,EAAEtE,cAAe;YAACuE,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACsC;UAAc,CAAE,CAAE;UACzGC,KAAK,EAAExB,eAAgB;UACvB4B,WAAW,EAAE;QAAM,CACtB,CACJ,EACAzG,OAAO,EAAE0G,OAAO,iBACb1H,IAAA,CAACZ,gBAAgB;UACbiG,IAAI,eAAErF,IAAA,CAACR,QAAQ;YAAC8F,IAAI,EAAC,eAAe;YAACV,IAAI,EAAEtE,cAAe;YAACuE,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACsC;UAAc,CAAE,CAAE;UACtGC,KAAK,EAAErG,OAAO,CAAC0G,OAAQ;UACvBD,WAAW,EAAE;QAAM,CACtB,CACJ,EACAzG,OAAO,IAAI,SAAS,IAAIA,OAAO,IAAI,OAAOA,OAAO,CAAC2G,OAAO,KAAK,QAAQ,IAAI3G,OAAO,CAAC2G,OAAO,iBACtF3H,IAAA,CAACZ,gBAAgB;UACbiG,IAAI,eAAErF,IAAA,CAACR,QAAQ;YAAC8F,IAAI,EAAC,kBAAkB;YAACV,IAAI,EAAEtE,cAAe;YAACuE,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACsC;UAAc,CAAE,CAAE;UACzGC,KAAK,EAAErG,OAAO,CAAC2G,OAAQ;UACvBF,WAAW,EAAE;QAAM,CACtB,CACJ,EACAzG,OAAO,IAAI,UAAU,IAAIA,OAAO,IAAI,OAAOA,OAAO,CAAC4G,QAAQ,KAAK,QAAQ,IAAI5G,OAAO,CAAC4G,QAAQ,iBACzF5H,IAAA,CAACZ,gBAAgB;UACbiG,IAAI,eAAErF,IAAA,CAACR,QAAQ;YAAC8F,IAAI,EAAC,mBAAmB;YAACV,IAAI,EAAEtE,cAAe;YAACuE,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACsC;UAAc,CAAE,CAAE;UAC1GC,KAAK,EAAErG,OAAO,CAAC4G,QAAS;UACxBH,WAAW,EAAE;QAAM,CACtB,CACJ,EACAzG,OAAO,IAAI,WAAW,IAAIA,OAAO,IAAI,OAAOA,OAAO,CAAC6G,SAAS,KAAK,QAAQ,IAAI7G,OAAO,CAAC6G,SAAS,iBAC5F7H,IAAA,CAACZ,gBAAgB;UACbiG,IAAI,eAAErF,IAAA,CAACR,QAAQ;YAAC8F,IAAI,EAAC,gBAAgB;YAACV,IAAI,EAAEtE,cAAe;YAACuE,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACsC;UAAc,CAAE,CAAE;UACvGC,KAAK,EAAErG,OAAO,CAAC6G,SAAU;UACzBJ,WAAW,EAAE;QAAM,CACtB,CACJ,EACAzG,OAAO,IAAI,UAAU,IAAIA,OAAO,IAAI,OAAOA,OAAO,CAAC8G,QAAQ,KAAK,QAAQ,IAAI9G,OAAO,CAAC8G,QAAQ,iBACzF9H,IAAA,CAACZ,gBAAgB;UACbiG,IAAI,eAAErF,IAAA,CAACR,QAAQ;YAAC8F,IAAI,EAAC,cAAc;YAACV,IAAI,EAAEtE,cAAe;YAACuE,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACsC;UAAc,CAAE,CAAE;UACrGC,KAAK,EAAEnF,CAAC,CAAC,gBAAgB,EAAE;YAAEoF,IAAI,EAAE,IAAIC,IAAI,CAACvG,OAAO,CAAC8G,QAAQ,CAAC,CAACN,kBAAkB,CAAC;UAAE,CAAC,CAAC,IAAI,QAAQ,IAAID,IAAI,CAACvG,OAAO,CAAC8G,QAAQ,CAAC,CAACN,kBAAkB,CAAC,CAAC,EAAG;UACnJC,WAAW,EAAE;QAAM,CACtB,CACJ,EACA7F,KAAK,CAACmG,MAAM,GAAG,CAAC,iBACb/H,IAAA,CAACZ,gBAAgB;UACbiG,IAAI,eAAErF,IAAA,CAACR,QAAQ;YAAC8F,IAAI,EAAC,cAAc;YAACV,IAAI,EAAEtE,cAAe;YAACuE,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACsC;UAAc,CAAE,CAAE;UACrGC,KAAK,EAAEzF,KAAK,CAAC,CAAC,CAAC,CAACoG,GAAI;UACpBC,KAAK,EAAErG,KAAK,CAACmG,MAAM,GAAG,CAAC,GAAI7F,CAAC,CAAC,cAAc,EAAE;YAAEgG,KAAK,EAAEtG,KAAK,CAACmG,MAAM,GAAG;UAAE,CAAC,CAAC,IAAI,KAAKnG,KAAK,CAACmG,MAAM,GAAG,CAAC,OAAO,GAAIzE,SAAU;UACvH6B,OAAO,EAAEA,CAAA,KAAMvE,QAAQ,GAAG,WAAW,EAAE;YAAEJ,MAAM;YAAEoB;UAAM,CAAC;QAAE,CAC7D,CACJ;MAAA,CACc,CAAC,eAGpB1B,KAAA,CAACvB,IAAI;QAAC4F,KAAK,EAAEC,MAAM,CAAC2D,QAAS;QAACzD,SAAS,EAAC,kBAAkB;QAAAC,QAAA,gBACtDzE,KAAA,CAACvB,IAAI;UAAC4F,KAAK,EAAEC,MAAM,CAAC4D,QAAS;UAAAzD,QAAA,gBACzB3E,IAAA,CAACd,IAAI;YAACqF,KAAK,EAAEC,MAAM,CAAC6D,UAAW;YAAC3D,SAAS,EAAC,mBAAmB;YAAAC,QAAA,EAAEzD,eAAe,KAAK,IAAI,IAAIA,eAAe,KAAKoC,SAAS,GAAGpC,eAAe,GAAG;UAAI,CAAO,CAAC,eACzJlB,IAAA,CAACd,IAAI;YAACqF,KAAK,EAAEC,MAAM,CAAC8D,SAAU;YAAC5D,SAAS,EAAC,qBAAqB;YAAAC,QAAA,EAAEzC,CAAC,CAAC,oBAAoB,CAAC,IAAI;UAAY,CAAO,CAAC;QAAA,CAC7G,CAAC,eACPhC,KAAA,CAACvB,IAAI;UAAC4F,KAAK,EAAEC,MAAM,CAAC4D,QAAS;UAAAzD,QAAA,GACxB3C,eAAe,gBACZhC,IAAA,CAACnB,iBAAiB;YAAC+F,IAAI,EAAC,OAAO;YAACC,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACS;UAAK,CAAE,CAAC,gBAEjEvF,IAAA,CAACd,IAAI;YAACqF,KAAK,EAAEC,MAAM,CAAC6D,UAAW;YAAC3D,SAAS,EAAC,WAAW;YAAAC,QAAA,EAAE7C,aAAa,KAAK,IAAI,GAAGA,aAAa,GAAG;UAAI,CAAO,CAC9G,eACD9B,IAAA,CAACd,IAAI;YAACqF,KAAK,EAAEC,MAAM,CAAC8D,SAAU;YAAC5D,SAAS,EAAC,qBAAqB;YAAAC,QAAA,EAAEzC,CAAC,CAAC,mBAAmB,CAAC,IAAI;UAAW,CAAO,CAAC;QAAA,CAC3G,CAAC,eACPhC,KAAA,CAACvB,IAAI;UAAC4F,KAAK,EAAEC,MAAM,CAAC4D,QAAS;UAAAzD,QAAA,GACxB3C,eAAe,gBACZhC,IAAA,CAACnB,iBAAiB;YAAC+F,IAAI,EAAC,OAAO;YAACC,KAAK,EAAE5C,UAAU,CAAC6C,MAAM,CAACS;UAAK,CAAE,CAAC,gBAEjEvF,IAAA,CAACd,IAAI;YAACqF,KAAK,EAAEC,MAAM,CAAC6D,UAAW;YAAC3D,SAAS,EAAC,WAAW;YAAAC,QAAA,EAAE5C,cAAc,KAAK,IAAI,GAAGA,cAAc,GAAG;UAAI,CAAO,CAChH,eACD/B,IAAA,CAACd,IAAI;YAACqF,KAAK,EAAEC,MAAM,CAAC8D,SAAU;YAAC5D,SAAS,EAAC,qBAAqB;YAAAC,QAAA,EAAEzC,CAAC,CAAC,mBAAmB,CAAC,IAAI;UAAW,CAAO,CAAC;QAAA,CAC3G,CAAC;MAAA,CACL,CAAC;IAAA,CACC;EAAC,CACX,CAAC;AAEf,CAAC;;AAED;AACA;AACA;AACA,MAAMsC,MAAM,GAAG5F,UAAU,CAAC2J,MAAM,CAAC;EAC7BvD,SAAS,EAAE;IAAEkB,IAAI,EAAE;EAAE,CAAC;EACtBA,IAAI,EAAE;IAAEA,IAAI,EAAE;EAAE,CAAC;EACjBzB,eAAe,EAAE;IAAEyB,IAAI,EAAE,CAAC;IAAEsC,cAAc,EAAE,QAAQ;IAAEC,UAAU,EAAE;EAAS,CAAC;EAC5ErC,eAAe,EAAE;IAAEqC,UAAU,EAAE,SAAS;IAAEC,aAAa,EAAE;EAAG,CAAC;EAC7DrC,eAAe,EAAE;IAAEsC,MAAM,EAAEvI,aAAa;IAAEwI,QAAQ,EAAE,UAAU;IAAEC,QAAQ,EAAE;EAAS,CAAC;EACpFvC,SAAS,EAAE;IACPwC,aAAa,EAAE,KAAK;IACpBL,UAAU,EAAE,UAAU;IACtBM,SAAS,EAAE1I,cAAc;IACzBmI,cAAc,EAAE,eAAe;IAC/BQ,MAAM,EAAE;EACZ,CAAC;EACDzC,aAAa,EAAE;IAAE0C,WAAW,EAAE,CAAC;IAAEJ,QAAQ,EAAE;EAAS,CAAC;EACrDlC,mBAAmB,EAAE;IAAET,IAAI,EAAE,CAAC;IAAEuC,UAAU,EAAE,UAAU;IAAED,cAAc,EAAE,UAAU;IAAEE,aAAa,EAAE;EAAE,CAAC;EACtG1B,MAAM,EAAE;IAAEyB,UAAU,EAAE,YAAY;IAAES,KAAK,EAAE,MAAM;IAAEH,SAAS,EAAE;EAAG,CAAC;EAClEnD,WAAW,EAAE;IAAEuD,QAAQ,EAAE,EAAE;IAAEC,YAAY,EAAE,CAAC;IAAEC,aAAa,EAAE;EAAI,CAAC;EAClEpC,OAAO,EAAE;IAAEkC,QAAQ,EAAE,EAAE;IAAEC,YAAY,EAAE;EAAE,CAAC;EAC1ClC,GAAG,EAAE;IAAEiC,QAAQ,EAAE,EAAE;IAAEJ,SAAS,EAAE,EAAE;IAAEO,UAAU,EAAE;EAAG,CAAC;EACpDnB,QAAQ,EAAE;IACNe,KAAK,EAAE,MAAM;IACbJ,aAAa,EAAE,KAAK;IACpBL,UAAU,EAAE,QAAQ;IACpBM,SAAS,EAAE,EAAE;IACbP,cAAc,EAAE;EACpB,CAAC;EACDJ,QAAQ,EAAE;IAAElC,IAAI,EAAE,CAAC;IAAEuC,UAAU,EAAE,QAAQ;IAAEc,QAAQ,EAAE,EAAE;IAAEH,YAAY,EAAE;EAAG,CAAC;EAC3Ed,SAAS,EAAE;IAAEa,QAAQ,EAAE,EAAE;IAAEC,YAAY,EAAE,CAAC;IAAEI,SAAS,EAAE;EAAS,CAAC;EACjEnB,UAAU,EAAE;IAAEc,QAAQ,EAAE,EAAE;IAAEM,UAAU,EAAE,MAAM;IAAED,SAAS,EAAE,QAAQ;IAAEH,aAAa,EAAE;EAAI,CAAC;EACzF;EACApE,WAAW,EAAE;IAAE6D,aAAa,EAAE,KAAK;IAAEL,UAAU,EAAE,QAAQ;IAAEiB,GAAG,EAAE;EAAG,CAAC;EACpElE,UAAU,EAAE;IAAE2D,QAAQ,EAAE;EAAG,CAAC;EAC5B1D,YAAY,EAAE;IAAES,IAAI,EAAE,CAAC;IAAEsC,cAAc,EAAE,QAAQ;IAAEC,UAAU,EAAE;EAAS,CAAC;EACzE/C,SAAS,EAAE;IAAEyD,QAAQ,EAAE,EAAE;IAAEM,UAAU,EAAE,KAAK;IAAED,SAAS,EAAE;EAAS,CAAC;EACnE7D,YAAY,EAAE;IAAEwD,QAAQ,EAAE,EAAE;IAAEK,SAAS,EAAE;EAAS;AACtD,CAAC,CAAC;AAEF,eAAejJ,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Pure link-display helpers for the profile "links" editor. Kept out of the
|
|
5
|
+
* screen component so the string-coercion guard can be unit-tested without
|
|
6
|
+
* rendering the whole React Native screen.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/** Strip the protocol and any trailing slash from a link URL for display. */
|
|
10
|
+
export const getLinkTitle = url => url.replace(/^https?:\/\//, '').replace(/\/$/, '');
|
|
11
|
+
|
|
12
|
+
/** Human-readable description for a link URL. */
|
|
13
|
+
export const getLinkDescription = url => `Link to ${url}`;
|
|
14
|
+
/**
|
|
15
|
+
* Build editable list items from a raw links array. The array can come from
|
|
16
|
+
* legacy or untrusted profile data whose elements are not guaranteed to be
|
|
17
|
+
* strings, so each entry is coerced with `String(item ?? '')` before formatting
|
|
18
|
+
* — a non-string element must never crash the editor.
|
|
19
|
+
*/
|
|
20
|
+
export function linksToListItems(links) {
|
|
21
|
+
return links.map((item, i) => {
|
|
22
|
+
const url = String(item ?? '');
|
|
23
|
+
return {
|
|
24
|
+
id: `link-${i}`,
|
|
25
|
+
url,
|
|
26
|
+
title: getLinkTitle(url),
|
|
27
|
+
description: getLinkDescription(url)
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=linkFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getLinkTitle","url","replace","getLinkDescription","linksToListItems","links","map","item","i","String","id","title","description"],"sourceRoot":"../../../../src","sources":["ui/screens/linkFormat.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,MAAMA,YAAY,GAAIC,GAAW,IACpCA,GAAG,CAACC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;;AAEtD;AACA,OAAO,MAAMC,kBAAkB,GAAIF,GAAW,IAAa,WAAWA,GAAG,EAAE;AAS3E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,gBAAgBA,CAACC,KAAyB,EAAkB;EACxE,OAAOA,KAAK,CAACC,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;IAC1B,MAAMP,GAAG,GAAGQ,MAAM,CAACF,IAAI,IAAI,EAAE,CAAC;IAC9B,OAAO;MACHG,EAAE,EAAE,QAAQF,CAAC,EAAE;MACfP,GAAG;MACHU,KAAK,EAAEX,YAAY,CAACC,GAAG,CAAC;MACxBW,WAAW,EAAET,kBAAkB,CAACF,GAAG;IACvC,CAAC;EACL,CAAC,CAAC;AACN","ignoreList":[]}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Platform `AuthStateStore` for `@oxyhq/services`.
|
|
5
|
+
*
|
|
6
|
+
* The device-first session model persists the rotating refresh-token family
|
|
7
|
+
* head per origin (web) / per device (native). `@oxyhq/core` owns the store
|
|
8
|
+
* shape + logic (`createWebAuthStateStore` / `createNativeAuthStateStore`); this
|
|
9
|
+
* module only supplies the platform storage seam and wires the native device
|
|
10
|
+
* token to the SHARED keychain so every native Oxy app joins one DeviceSession:
|
|
11
|
+
*
|
|
12
|
+
* - web → `createWebAuthStateStore()` (localStorage, in-memory fallback).
|
|
13
|
+
* - native → `createNativeAuthStateStore(secureKV)` for the SESSION blob
|
|
14
|
+
* (refresh token) over `expo-secure-store` (AsyncStorage fallback), with the
|
|
15
|
+
* long-lived DEVICE token delegated to `KeyManager`'s shared keychain
|
|
16
|
+
* (`group.so.oxy.shared`) instead of per-app storage — so an in-app login on
|
|
17
|
+
* any native Oxy app attributes to the SAME server-side DeviceSession.
|
|
18
|
+
*
|
|
19
|
+
* `expo-secure-store` is loaded via a runtime-computed dynamic import (the same
|
|
20
|
+
* optional-native-module pattern `OxyProvider` uses for netinfo / keyboard
|
|
21
|
+
* controller), so the web bundle never pulls it and a device without it falls
|
|
22
|
+
* back to AsyncStorage rather than crashing.
|
|
23
|
+
*/
|
|
24
|
+
import { KeyManager, createWebAuthStateStore, createNativeAuthStateStore, logger } from '@oxyhq/core';
|
|
25
|
+
import { createPlatformStorage, isReactNative } from "../utils/storageHelpers.js";
|
|
26
|
+
|
|
27
|
+
// Variable indirection so Metro's static analyzer never traces expo-secure-store
|
|
28
|
+
// into the web bundle; the module is native-only and optional.
|
|
29
|
+
const SECURE_STORE_MODULE = 'expo-secure-store';
|
|
30
|
+
let secureStorePromise = null;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Resolve the `expo-secure-store` module once (memoised), or `null` when it is
|
|
34
|
+
* unavailable — callers then fall back to AsyncStorage. Never throws.
|
|
35
|
+
*/
|
|
36
|
+
function loadSecureStore() {
|
|
37
|
+
if (!secureStorePromise) {
|
|
38
|
+
const moduleName = SECURE_STORE_MODULE;
|
|
39
|
+
secureStorePromise = import(moduleName).then(mod => {
|
|
40
|
+
if (typeof mod.getItemAsync === 'function' && typeof mod.setItemAsync === 'function' && typeof mod.deleteItemAsync === 'function') {
|
|
41
|
+
return {
|
|
42
|
+
getItemAsync: mod.getItemAsync.bind(mod),
|
|
43
|
+
setItemAsync: mod.setItemAsync.bind(mod),
|
|
44
|
+
deleteItemAsync: mod.deleteItemAsync.bind(mod)
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}).catch(() => null);
|
|
49
|
+
}
|
|
50
|
+
return secureStorePromise;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* A native `NativeKeyValueStorage` that prefers `expo-secure-store` (encrypted
|
|
55
|
+
* at rest) and falls back to AsyncStorage when SecureStore is not installed.
|
|
56
|
+
* The SecureStore module is resolved lazily on first access so construction
|
|
57
|
+
* stays synchronous.
|
|
58
|
+
*/
|
|
59
|
+
function createNativeSecureKeyValueStorage() {
|
|
60
|
+
let asyncStorage = null;
|
|
61
|
+
const getAsyncStorage = async () => {
|
|
62
|
+
if (!asyncStorage) {
|
|
63
|
+
asyncStorage = await createPlatformStorage();
|
|
64
|
+
}
|
|
65
|
+
return asyncStorage;
|
|
66
|
+
};
|
|
67
|
+
return {
|
|
68
|
+
getItem: async key => {
|
|
69
|
+
const secure = await loadSecureStore();
|
|
70
|
+
if (secure) {
|
|
71
|
+
return secure.getItemAsync(key);
|
|
72
|
+
}
|
|
73
|
+
return (await getAsyncStorage()).getItem(key);
|
|
74
|
+
},
|
|
75
|
+
setItem: async (key, value) => {
|
|
76
|
+
const secure = await loadSecureStore();
|
|
77
|
+
if (secure) {
|
|
78
|
+
await secure.setItemAsync(key, value);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
await (await getAsyncStorage()).setItem(key, value);
|
|
82
|
+
},
|
|
83
|
+
removeItem: async key => {
|
|
84
|
+
const secure = await loadSecureStore();
|
|
85
|
+
if (secure) {
|
|
86
|
+
await secure.deleteItemAsync(key);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
await (await getAsyncStorage()).removeItem(key);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Build the platform {@link AuthStateStore} for this runtime.
|
|
96
|
+
*
|
|
97
|
+
* Native additionally routes the device token through the shared keychain so
|
|
98
|
+
* every native Oxy app shares one server-side DeviceSession; the session blob
|
|
99
|
+
* (refresh token) stays per-app in SecureStore. Best-effort keychain access —
|
|
100
|
+
* a locked/failed shared-keychain read degrades to "no device token" rather
|
|
101
|
+
* than throwing out of cold boot / refresh.
|
|
102
|
+
*/
|
|
103
|
+
export function createPlatformAuthStateStore() {
|
|
104
|
+
if (!isReactNative()) {
|
|
105
|
+
return createWebAuthStateStore();
|
|
106
|
+
}
|
|
107
|
+
const base = createNativeAuthStateStore(createNativeSecureKeyValueStorage());
|
|
108
|
+
return {
|
|
109
|
+
...base,
|
|
110
|
+
loadDeviceToken: async () => {
|
|
111
|
+
try {
|
|
112
|
+
return await KeyManager.getSharedDeviceToken();
|
|
113
|
+
} catch (error) {
|
|
114
|
+
logger.debug('Shared device-token read failed (treating as none)', {
|
|
115
|
+
component: 'authStore',
|
|
116
|
+
method: 'loadDeviceToken'
|
|
117
|
+
}, error);
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
saveDeviceToken: async token => {
|
|
122
|
+
try {
|
|
123
|
+
await KeyManager.setSharedDeviceToken(token);
|
|
124
|
+
} catch (error) {
|
|
125
|
+
logger.debug('Shared device-token write failed (non-fatal)', {
|
|
126
|
+
component: 'authStore',
|
|
127
|
+
method: 'saveDeviceToken'
|
|
128
|
+
}, error);
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
clearDeviceToken: async () => {
|
|
132
|
+
try {
|
|
133
|
+
await KeyManager.clearSharedDeviceToken();
|
|
134
|
+
} catch (error) {
|
|
135
|
+
logger.debug('Shared device-token clear failed (non-fatal)', {
|
|
136
|
+
component: 'authStore',
|
|
137
|
+
method: 'clearDeviceToken'
|
|
138
|
+
}, error);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=authStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["KeyManager","createWebAuthStateStore","createNativeAuthStateStore","logger","createPlatformStorage","isReactNative","SECURE_STORE_MODULE","secureStorePromise","loadSecureStore","moduleName","then","mod","getItemAsync","setItemAsync","deleteItemAsync","bind","catch","createNativeSecureKeyValueStorage","asyncStorage","getAsyncStorage","getItem","key","secure","setItem","value","removeItem","createPlatformAuthStateStore","base","loadDeviceToken","getSharedDeviceToken","error","debug","component","method","saveDeviceToken","token","setSharedDeviceToken","clearDeviceToken","clearSharedDeviceToken"],"sourceRoot":"../../../../src","sources":["ui/session/authStore.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,30 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { SessionClient } from '@oxyhq/core';
|
|
4
3
|
import { io } from 'socket.io-client';
|
|
5
|
-
import { createSessionClientHost } from
|
|
4
|
+
import { SessionClient, createSessionClientHost } from '@oxyhq/core';
|
|
6
5
|
import { createTokenTransport } from "./tokenTransport.js";
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
10
|
-
* adapter (Task 1) and the platform `TokenTransport` (Task 3) over the given
|
|
11
|
-
* `OxyServices` instance, and returns both the client and the host — the host
|
|
12
|
-
* is returned (not just the client) so `OxyContext` (Fase 3-B) can call
|
|
13
|
-
* `host.setCurrentAccountId(...)` as the active account changes.
|
|
8
|
+
* Wire a `SessionClient` for `@oxyhq/services`.
|
|
14
9
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
10
|
+
* The platform-agnostic parts (host adapter, client, projection helpers) live
|
|
11
|
+
* ONCE in `@oxyhq/core`; this thin factory only injects the pieces specific to
|
|
12
|
+
* the RN/Expo SDK:
|
|
13
|
+
*
|
|
14
|
+
* - `socket.io-client`'s `io`, STATICALLY imported (socket.io-client is a real
|
|
15
|
+
* dependency of `@oxyhq/services`) so realtime session sync never relies on
|
|
16
|
+
* core's lazy dynamic import of a bare specifier — bundler-fragile in
|
|
17
|
+
* Metro/Expo-web against the published core dist.
|
|
18
|
+
* - the device-first {@link createTokenTransport}, which mints a fallback token
|
|
19
|
+
* by rotating the persisted refresh family (`store`).
|
|
20
|
+
*
|
|
21
|
+
* `onUnauthenticated` fires when an applied device state has zero accounts (a
|
|
22
|
+
* device signout-all): the provider clears the persisted store + local state so
|
|
23
|
+
* a reload does not try to restore a dead session. The host is returned
|
|
24
|
+
* alongside the client so the caller can call `host.setCurrentAccountId(...)`
|
|
25
|
+
* as the active account changes.
|
|
21
26
|
*/
|
|
22
|
-
export function createSessionClient(oxyServices) {
|
|
27
|
+
export function createSessionClient(oxyServices, store, onUnauthenticated) {
|
|
23
28
|
const host = createSessionClientHost(oxyServices);
|
|
24
|
-
const transport = createTokenTransport(oxyServices);
|
|
29
|
+
const transport = createTokenTransport(oxyServices, store);
|
|
25
30
|
const client = new SessionClient(host, {
|
|
26
31
|
transport,
|
|
27
|
-
socketFactory: io
|
|
32
|
+
socketFactory: io,
|
|
33
|
+
onUnauthenticated
|
|
28
34
|
});
|
|
29
35
|
return {
|
|
30
36
|
client,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["io","SessionClient","createSessionClientHost","createTokenTransport","createSessionClient","oxyServices","store","onUnauthenticated","host","transport","client","socketFactory"],"sourceRoot":"../../../../src","sources":["ui/session/createSessionClient.ts"],"mappings":";;AAAA,SAASA,EAAE,QAAQ,kBAAkB;AACrC,SACEC,aAAa,EACbC,uBAAuB,QAGlB,aAAa;AACpB,SAASC,oBAAoB,QAAQ,qBAAkB;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CACjCC,WAAwB,EACxBC,KAAqB,EACrBC,iBAA8B,EAI9B;EACA,MAAMC,IAAI,GAAGN,uBAAuB,CAACG,WAAW,CAAC;EACjD,MAAMI,SAAS,GAAGN,oBAAoB,CAACE,WAAW,EAAEC,KAAK,CAAC;EAC1D,MAAMI,MAAM,GAAG,IAAIT,aAAa,CAACO,IAAI,EAAE;IAAEC,SAAS;IAAEE,aAAa,EAAEX,EAAE;IAAEO;EAAkB,CAAC,CAAC;EAC3F,OAAO;IAAEG,MAAM;IAAEF;EAAK,CAAC;AACzB","ignoreList":[]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Session-sync integration layer
|
|
4
|
+
* Session-sync integration layer — intra-package use only.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
6
|
+
* `@oxyhq/core` owns the platform-agnostic `SessionClient`, its host adapter,
|
|
7
|
+
* and the pure `DeviceSessionState → services` projection helpers; those are
|
|
8
|
+
* re-exported straight from core here so `OxyContext` has one import site.
|
|
9
|
+
* `@oxyhq/services` supplies only the two platform pieces: the thin
|
|
10
|
+
* `createSessionClient` factory (injects socket.io-client `io` + the
|
|
11
|
+
* device-first token transport) and the `AuthStateStore` factory.
|
|
12
12
|
*/
|
|
13
13
|
export { createSessionClient } from "./createSessionClient.js";
|
|
14
|
-
export { createSessionClientHost } from "./sessionClientHost.js";
|
|
15
14
|
export { createTokenTransport } from "./tokenTransport.js";
|
|
16
|
-
export {
|
|
15
|
+
export { createPlatformAuthStateStore } from "./authStore.js";
|
|
16
|
+
export { createSessionClientHost, accountIdsOf, activeSessionIdOf, activeUserOf, deviceStateToClientSessions } from '@oxyhq/core';
|
|
17
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSessionClient","
|
|
1
|
+
{"version":3,"names":["createSessionClient","createTokenTransport","createPlatformAuthStateStore","createSessionClientHost","accountIdsOf","activeSessionIdOf","activeUserOf","deviceStateToClientSessions"],"sourceRoot":"../../../../src","sources":["ui/session/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,oBAAoB,QAAQ,qBAAkB;AACvD,SAASC,4BAA4B,QAAQ,gBAAa;AAC1D,SACEC,uBAAuB,EACvBC,YAAY,EACZC,iBAAiB,EACjBC,YAAY,EACZC,2BAA2B,QACtB,aAAa","ignoreList":[]}
|
|
@@ -1,41 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { logger } from '@oxyhq/core';
|
|
4
|
-
import { isWebBrowser } from "../hooks/useWebSSO.js";
|
|
5
|
-
|
|
3
|
+
import { refreshPersistedSession, logger } from '@oxyhq/core';
|
|
6
4
|
/**
|
|
7
|
-
* Platform `TokenTransport` for `SessionClient
|
|
8
|
-
* none is currently held, reusing the SAME primitives `OxyContext`'s cold
|
|
9
|
-
* boot already relies on (never re-implemented here):
|
|
10
|
-
*
|
|
11
|
-
* - web: `oxyServices.silentSignIn()` (per-apex `/auth/silent` iframe).
|
|
12
|
-
* - native: `oxyServices.signInWithSharedIdentity()` (app-group keychain).
|
|
13
|
-
*
|
|
14
|
-
* Both primitives plant the token internally on success (the "Sign-In Token
|
|
15
|
-
* Planting" rule) — `ensureActiveToken` never calls `setTokens` itself.
|
|
5
|
+
* Platform `TokenTransport` for `SessionClient` (device-first model).
|
|
16
6
|
*
|
|
17
|
-
* `ensureActiveToken`
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
7
|
+
* `ensureActiveToken` is the fallback the client uses when a `session_state`
|
|
8
|
+
* push arrived WITHOUT an embedded `activeToken` and the app currently holds no
|
|
9
|
+
* bearer. It mints one through the ONE unified refresh path
|
|
10
|
+
* (`refreshPersistedSession`): rotate the persisted refresh-token family
|
|
11
|
+
* (`POST /auth/refresh-token`) and, on native, fall back to the shared-keychain
|
|
12
|
+
* re-mint. There is no FedCM/silent-iframe arm anymore — the per-origin
|
|
13
|
+
* persisted refresh token is the durable web credential.
|
|
22
14
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
15
|
+
* Concurrent pushes coalesce onto one in-flight mint. A failure is logged and
|
|
16
|
+
* swallowed: this method must never throw out (it runs inside the socket state
|
|
17
|
+
* handler).
|
|
26
18
|
*/
|
|
27
|
-
export function createTokenTransport(oxyServices) {
|
|
28
|
-
// Coalesces concurrent mints: `SessionClient.applyState` can fire
|
|
29
|
-
// `ensureActiveToken` on rapid successive state pushes; a second call while a
|
|
30
|
-
// mint is already in flight must reuse it, not spawn a second silent iframe /
|
|
31
|
-
// shared-key challenge round-trip.
|
|
19
|
+
export function createTokenTransport(oxyServices, store) {
|
|
32
20
|
let inFlightMint = null;
|
|
33
21
|
return {
|
|
34
22
|
async ensureActiveToken(state) {
|
|
35
|
-
// Read the current token defensively: it is an in-memory getter that
|
|
36
|
-
// should never throw, but the documented contract is that this method
|
|
37
|
-
// never throws out — so a surprising throw is logged and treated as "no
|
|
38
|
-
// token" (fall through to mint) rather than rejecting the promise.
|
|
39
23
|
try {
|
|
40
24
|
if (oxyServices.getAccessToken()) {
|
|
41
25
|
return;
|
|
@@ -50,15 +34,18 @@ export function createTokenTransport(oxyServices) {
|
|
|
50
34
|
}
|
|
51
35
|
inFlightMint = (async () => {
|
|
52
36
|
try {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
37
|
+
const token = await refreshPersistedSession({
|
|
38
|
+
oxy: oxyServices,
|
|
39
|
+
store
|
|
40
|
+
});
|
|
41
|
+
if (!token) {
|
|
42
|
+
logger.debug('ensureActiveToken: refresh produced no session', {
|
|
56
43
|
component: 'TokenTransport',
|
|
57
44
|
deviceId: state.deviceId
|
|
58
45
|
});
|
|
59
46
|
}
|
|
60
47
|
} catch (error) {
|
|
61
|
-
logger.warn('ensureActiveToken:
|
|
48
|
+
logger.warn('ensureActiveToken: refresh failed', {
|
|
62
49
|
component: 'TokenTransport'
|
|
63
50
|
}, error);
|
|
64
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["refreshPersistedSession","logger","createTokenTransport","oxyServices","store","inFlightMint","ensureActiveToken","state","getAccessToken","error","warn","component","token","oxy","debug","deviceId"],"sourceRoot":"../../../../src","sources":["ui/session/tokenTransport.ts"],"mappings":";;AAAA,SACEA,uBAAuB,EACvBC,MAAM,QAID,aAAa;AAGpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAClCC,WAAwB,EACxBC,KAAqB,EACL;EAChB,IAAIC,YAAkC,GAAG,IAAI;EAE7C,OAAO;IACL,MAAMC,iBAAiBA,CAACC,KAAyB,EAAiB;MAChE,IAAI;QACF,IAAIJ,WAAW,CAACK,cAAc,CAAC,CAAC,EAAE;UAChC;QACF;MACF,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdR,MAAM,CAACS,IAAI,CAAC,yCAAyC,EAAE;UAAEC,SAAS,EAAE;QAAiB,CAAC,EAAEF,KAAK,CAAC;MAChG;MAEA,IAAIJ,YAAY,EAAE;QAChB,OAAOA,YAAY;MACrB;MAEAA,YAAY,GAAG,CAAC,YAAY;QAC1B,IAAI;UACF,MAAMO,KAAK,GAAG,MAAMZ,uBAAuB,CAAC;YAAEa,GAAG,EAAEV,WAAW;YAAEC;UAAM,CAAC,CAAC;UACxE,IAAI,CAACQ,KAAK,EAAE;YACVX,MAAM,CAACa,KAAK,CAAC,gDAAgD,EAAE;cAC7DH,SAAS,EAAE,gBAAgB;cAC3BI,QAAQ,EAAER,KAAK,CAACQ;YAClB,CAAC,CAAC;UACJ;QACF,CAAC,CAAC,OAAON,KAAK,EAAE;UACdR,MAAM,CAACS,IAAI,CAAC,mCAAmC,EAAE;YAAEC,SAAS,EAAE;UAAiB,CAAC,EAAEF,KAAK,CAAC;QAC1F;MACF,CAAC,EAAE,CAAC;MAEJ,IAAI;QACF,MAAMJ,YAAY;MACpB,CAAC,SAAS;QACRA,YAAY,GAAG,IAAI;MACrB;IACF;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Web-browser detection for `@oxyhq/services`.
|
|
5
|
+
*
|
|
6
|
+
* The predicate now lives ONCE in `@oxyhq/core` (`isWebBrowser`) so services and
|
|
7
|
+
* auth-sdk share the exact same DOM probe. This module re-exposes it under the
|
|
8
|
+
* existing internal import path so consumers stay unchanged.
|
|
9
|
+
*/
|
|
10
|
+
export { isWebBrowser } from '@oxyhq/core';
|
|
11
|
+
//# sourceMappingURL=isWebBrowser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isWebBrowser"],"sourceRoot":"../../../../src","sources":["ui/utils/isWebBrowser.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,aAAa","ignoreList":[]}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
* unit-testable.
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
|
-
import { KeyManager
|
|
36
|
+
import { KeyManager } from '@oxyhq/core';
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* The minimal `OxyServices` surface this orchestration needs. Kept as a
|
|
@@ -41,8 +41,6 @@ import { KeyManager, establishIdpSessionAfterClaim } from '@oxyhq/core';
|
|
|
41
41
|
* trivially unit-testable with a stub and never pulls the RN/Expo runtime into
|
|
42
42
|
* a test bundle.
|
|
43
43
|
*
|
|
44
|
-
* Extends {@link SsoEstablishClient} (`requestSsoEstablishUrl`) so the WEB
|
|
45
|
-
* post-claim durable-session hop can be driven off the same client.
|
|
46
44
|
*/
|
|
47
45
|
|
|
48
46
|
/**
|
|
@@ -58,8 +56,7 @@ export async function completeDeviceFlowSignIn({
|
|
|
58
56
|
oxyServices,
|
|
59
57
|
sessionId,
|
|
60
58
|
sessionToken,
|
|
61
|
-
commitSession
|
|
62
|
-
establishDeps
|
|
59
|
+
commitSession
|
|
63
60
|
}) {
|
|
64
61
|
// 1) Plant the bearer + refresh tokens. The claim response is also persisted
|
|
65
62
|
// to native shared secure storage so a later cold boot has a bearer before
|
|
@@ -85,25 +82,25 @@ export async function completeDeviceFlowSignIn({
|
|
|
85
82
|
|
|
86
83
|
// 2) Bearer is now planted — commit the session through the same path a
|
|
87
84
|
// fresh sign-in uses so it is registered into the device's
|
|
88
|
-
// server-authoritative session set instead of an account switch.
|
|
85
|
+
// server-authoritative session set instead of an account switch. Thread
|
|
86
|
+
// the rotating refresh token so the commit funnel persists a durable
|
|
87
|
+
// session that survives a reload.
|
|
89
88
|
await commitSession({
|
|
90
89
|
sessionId: claimed.sessionId || sessionId,
|
|
91
90
|
deviceId: claimed.deviceId ?? '',
|
|
92
91
|
expiresAt: claimed.expiresAt ?? '',
|
|
93
92
|
user: minimalUser,
|
|
94
|
-
accessToken: claimed.accessToken
|
|
93
|
+
accessToken: claimed.accessToken,
|
|
94
|
+
...(claimed.refreshToken ? {
|
|
95
|
+
refreshToken: claimed.refreshToken
|
|
96
|
+
} : {})
|
|
95
97
|
});
|
|
96
98
|
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
|
|
102
|
-
// throws) — an establish failure leaves the committed session as-is. On web
|
|
103
|
-
// success it navigates away, so it is the LAST step: the browser tears the
|
|
104
|
-
// page down on the next tick, after `claimed.user` is returned to the
|
|
105
|
-
// caller's `onSignedIn`.
|
|
106
|
-
await establishIdpSessionAfterClaim(oxyServices, establishDeps ?? {});
|
|
99
|
+
// The commit funnel persisted the rotating refresh family and registered the
|
|
100
|
+
// account into the device set, so a reload restores the session locally (web:
|
|
101
|
+
// stored-tokens / same-apex web-session; native: shared keychain) WITHOUT any
|
|
102
|
+
// IdP `fedcm_session` cookie or top-level establish hop.
|
|
103
|
+
|
|
107
104
|
return claimed.user;
|
|
108
105
|
}
|
|
109
106
|
//# sourceMappingURL=deviceFlowSignIn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KeyManager","
|
|
1
|
+
{"version":3,"names":["KeyManager","completeDeviceFlowSignIn","oxyServices","sessionId","sessionToken","commitSession","claimed","claimSessionByToken","accessToken","storeSharedSession","user","Error","minimalUser","id","username","name","avatar","undefined","deviceId","expiresAt","refreshToken"],"sourceRoot":"../../../src","sources":["utils/deviceFlowSignIn.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,UAAU,QAIL,aAAa;;AAepB;AACA;AACA;AACA;AACA;AACA;AACA;;AAkCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,wBAAwBA,CAAC;EAC7CC,WAAW;EACXC,SAAS;EACTC,YAAY;EACZC;AAC+B,CAAC,EAAiB;EACjD;EACA;EACA;EACA,MAAMC,OAAO,GAAG,MAAMJ,WAAW,CAACK,mBAAmB,CAACH,YAAY,CAAC;EACnE,IAAIE,OAAO,EAAEE,WAAW,EAAE;IACxB,MAAMR,UAAU,CAACS,kBAAkB,CAACH,OAAO,CAACH,SAAS,IAAIA,SAAS,EAAEG,OAAO,CAACE,WAAW,CAAC;EAC1F;EAEA,IAAI,CAACF,OAAO,EAAEE,WAAW,IAAI,CAACF,OAAO,CAACI,IAAI,EAAE;IAC1C,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;EACtE;;EAEA;EACA;EACA;EACA;EACA,MAAMC,WAA4B,GAAG;IACnCC,EAAE,EAAEP,OAAO,CAACI,IAAI,CAACG,EAAE;IACnBC,QAAQ,EAAER,OAAO,CAACI,IAAI,CAACI,QAAQ;IAC/BC,IAAI,EAAET,OAAO,CAACI,IAAI,CAACK,IAAI;IACvBC,MAAM,EAAEV,OAAO,CAACI,IAAI,CAACM,MAAM,IAAIC;EACjC,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA,MAAMZ,aAAa,CAAC;IAClBF,SAAS,EAAEG,OAAO,CAACH,SAAS,IAAIA,SAAS;IACzCe,QAAQ,EAAEZ,OAAO,CAACY,QAAQ,IAAI,EAAE;IAChCC,SAAS,EAAEb,OAAO,CAACa,SAAS,IAAI,EAAE;IAClCT,IAAI,EAAEE,WAAW;IACjBJ,WAAW,EAAEF,OAAO,CAACE,WAAW;IAChC,IAAIF,OAAO,CAACc,YAAY,GAAG;MAAEA,YAAY,EAAEd,OAAO,CAACc;IAAa,CAAC,GAAG,CAAC,CAAC;EACxE,CAAC,CAAC;;EAEF;EACA;EACA;EACA;;EAEA,OAAOd,OAAO,CAACI,IAAI;AACrB","ignoreList":[]}
|
|
@@ -31,12 +31,12 @@ export { useAssetStore, useAssets as useAssetsStore, useAsset, useUploadProgress
|
|
|
31
31
|
export { useAssets, setOxyAssetInstance } from './ui/hooks/useAssets';
|
|
32
32
|
export { useFileDownloadUrl } from './ui/hooks/useFileDownloadUrl';
|
|
33
33
|
export { useFollow, useFollowerCounts } from './ui/hooks/useFollow';
|
|
34
|
-
export { useUserProfile, useUserProfiles, useCurrentUser, useUserById, useUserByUsername, useUsersBySessions, usePrivacySettings,
|
|
34
|
+
export { useUserProfile, useUserProfiles, useCurrentUser, useUserById, useUserByUsername, useUsersBySessions, usePrivacySettings, useConnectedApps, } from './ui/hooks/queries/useAccountQueries';
|
|
35
35
|
export { useSessions, useSession, useDeviceSessions, useUserDevices, useSecurityInfo, useAccountStorageUsage, } from './ui/hooks/queries/useServicesQueries';
|
|
36
36
|
export { useSecurityActivity, useRecentSecurityActivity, useInfiniteSecurityActivity, } from './ui/hooks/queries/useSecurityQueries';
|
|
37
37
|
export { useUserSubscription, useUserPayments, useUserWallet, useUserWalletTransactions, } from './ui/hooks/queries/usePaymentQueries';
|
|
38
38
|
export type { Subscription, SubscriptionPlan, SubscriptionStatus, SubscriptionFeatures, Payment, Wallet, WalletTransaction, WalletTransactionType, WalletTransactionStatus, WalletPagination, WalletTransactionsResponse, } from './ui/hooks/queries/paymentTypes';
|
|
39
|
-
export { useUpdateProfile, useUploadAvatar, useUpdateAccountSettings, useUpdatePrivacySettings, useUpdateNotificationPreferences, useUpdateUserPreferences,
|
|
39
|
+
export { useUpdateProfile, useUploadAvatar, useUpdateAccountSettings, useUpdatePrivacySettings, useUpdateNotificationPreferences, useUpdateUserPreferences, useRevokeConnectedApp, useUploadFile, } from './ui/hooks/mutations/useAccountMutations';
|
|
40
40
|
export { useSwitchSession, useLogoutSession, useLogoutAll, useUpdateDeviceName, useRemoveDevice, } from './ui/hooks/mutations/useServicesMutations';
|
|
41
41
|
export { createProfileMutation, createGenericMutation, } from './ui/hooks/mutations/mutationFactory';
|
|
42
42
|
export type { ProfileMutationConfig, GenericMutationConfig, } from './ui/hooks/mutations/mutationFactory';
|
|
@@ -47,7 +47,6 @@ export type { MutationStatus } from './ui/hooks/useMutationStatus';
|
|
|
47
47
|
export { useOnlineStatus } from './ui/hooks/useOnlineStatus';
|
|
48
48
|
export { handleAuthError, isInvalidSessionError, isTimeoutOrNetworkError, extractErrorMessage, } from './ui/utils/errorHandlers';
|
|
49
49
|
export type { HandleAuthErrorOptions } from './ui/utils/errorHandlers';
|
|
50
|
-
export { CrossApexDirectSignInError, isCrossApexWeb } from './utils/crossApex';
|
|
51
50
|
export { useFileFiltering } from './ui/hooks/useFileFiltering';
|
|
52
51
|
export type { ViewMode, SortBy, SortOrder } from './ui/hooks/useFileFiltering';
|
|
53
52
|
export { default as Avatar } from './ui/components/Avatar';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAYH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKhF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAKxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACH,aAAa,EACb,SAAS,IAAI,cAAc,EAC3B,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACnB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKpE,OAAO,EACH,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|