@oxyhq/services 13.0.3 → 13.1.1
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 +18 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileButton.js +233 -0
- package/lib/commonjs/ui/components/ProfileButton.js.map +1 -0
- package/lib/commonjs/ui/components/ProfileMenu.js +374 -0
- package/lib/commonjs/ui/components/ProfileMenu.js.map +1 -0
- package/lib/commonjs/ui/components/SettingsIcon.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +64 -11
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +28 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/index.js +14 -0
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/utils/activeAuthuser.js +47 -0
- package/lib/commonjs/ui/utils/activeAuthuser.js.map +1 -1
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/ProfileButton.js +228 -0
- package/lib/module/ui/components/ProfileButton.js.map +1 -0
- package/lib/module/ui/components/ProfileMenu.js +370 -0
- package/lib/module/ui/components/ProfileMenu.js.map +1 -0
- package/lib/module/ui/components/SettingsIcon.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +65 -12
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +29 -2
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/index.js +2 -0
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/utils/activeAuthuser.js +45 -1
- package/lib/module/ui/utils/activeAuthuser.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +46 -0
- package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +39 -0
- package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/payment/types.d.ts +3 -1
- package/lib/typescript/commonjs/ui/components/payment/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +2 -0
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts +24 -0
- package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/ProfileButton.d.ts +46 -0
- package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ProfileMenu.d.ts +39 -0
- package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/SettingsIcon.d.ts +2 -1
- package/lib/typescript/module/ui/components/SettingsIcon.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/types.d.ts +3 -1
- package/lib/typescript/module/ui/components/payment/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +2 -0
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/activeAuthuser.d.ts +24 -0
- package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/index.ts +8 -0
- package/src/ui/components/ProfileButton.tsx +270 -0
- package/src/ui/components/ProfileMenu.tsx +416 -0
- package/src/ui/components/SettingsIcon.tsx +2 -2
- package/src/ui/components/fileManagement/FileViewer.tsx +1 -1
- package/src/ui/components/payment/types.ts +3 -1
- package/src/ui/context/OxyContext.tsx +65 -11
- package/src/ui/context/hooks/useAuthOperations.ts +35 -2
- package/src/ui/index.ts +2 -0
- package/src/ui/screens/FeedbackScreen.tsx +3 -3
- package/src/ui/utils/activeAuthuser.ts +46 -0
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _vectorIcons = require("@expo/vector-icons");
|
|
10
|
+
var _avatar = require("@oxyhq/bloom/avatar");
|
|
11
|
+
var _typography = require("@oxyhq/bloom/typography");
|
|
12
|
+
var _theme = require("@oxyhq/bloom/theme");
|
|
13
|
+
var _bloom = require("@oxyhq/bloom");
|
|
14
|
+
var _divider = require("@oxyhq/bloom/divider");
|
|
15
|
+
var _core = require("@oxyhq/core");
|
|
16
|
+
var _OxyContext = require("../context/OxyContext.js");
|
|
17
|
+
var _useI18n = require("../hooks/useI18n.js");
|
|
18
|
+
var _useDeviceAccounts = require("../hooks/useDeviceAccounts.js");
|
|
19
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
+
const isWeb = _reactNative.Platform.OS === 'web';
|
|
21
|
+
|
|
22
|
+
/** Fixed popover width on web. `ProfileButton` mirrors this when anchoring. */
|
|
23
|
+
const MENU_WIDTH = 300;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Web-only anchor. `ProfileButton` measures its trigger and anchors the panel's
|
|
27
|
+
* BOTTOM-LEFT corner so the menu opens UPWARD from the sidebar footer. Native
|
|
28
|
+
* ignores the anchor and docks the panel to the bottom as a sheet.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Clean device-account switcher, modeled on the inbox `AccountMenu` but written
|
|
33
|
+
* fresh with NativeWind classNames + Bloom primitives. Lists every account
|
|
34
|
+
* signed in on this device (from {@link useDeviceAccounts}); tapping a row
|
|
35
|
+
* switches, and each inactive row carries a sign-out icon. Below the list:
|
|
36
|
+
* Add account, Manage account, optional View profile, and Sign out of all.
|
|
37
|
+
*
|
|
38
|
+
* Renders as an upward-opening popover anchored to the trigger on web, and a
|
|
39
|
+
* bottom-sheet style modal on native.
|
|
40
|
+
*/
|
|
41
|
+
const ProfileMenu = ({
|
|
42
|
+
open,
|
|
43
|
+
onClose,
|
|
44
|
+
anchor,
|
|
45
|
+
onNavigateManage,
|
|
46
|
+
onAddAccount,
|
|
47
|
+
onNavigateProfile,
|
|
48
|
+
onBeforeSessionChange
|
|
49
|
+
}) => {
|
|
50
|
+
const {
|
|
51
|
+
activeSessionId,
|
|
52
|
+
switchSession,
|
|
53
|
+
logoutAll,
|
|
54
|
+
removeSession
|
|
55
|
+
} = (0, _OxyContext.useOxy)();
|
|
56
|
+
const {
|
|
57
|
+
t
|
|
58
|
+
} = (0, _useI18n.useI18n)();
|
|
59
|
+
const {
|
|
60
|
+
colors
|
|
61
|
+
} = (0, _theme.useTheme)();
|
|
62
|
+
const {
|
|
63
|
+
accounts
|
|
64
|
+
} = (0, _useDeviceAccounts.useDeviceAccounts)();
|
|
65
|
+
const [busySessionId, setBusySessionId] = (0, _react.useState)(null);
|
|
66
|
+
const [removingSessionId, setRemovingSessionId] = (0, _react.useState)(null);
|
|
67
|
+
const [signingOutAll, setSigningOutAll] = (0, _react.useState)(false);
|
|
68
|
+
const signOutAllDialog = (0, _bloom.useDialogControl)();
|
|
69
|
+
const isSwitching = busySessionId !== null;
|
|
70
|
+
const actionDisabled = isSwitching || removingSessionId !== null || signingOutAll;
|
|
71
|
+
|
|
72
|
+
// Switch to a non-active account through the SDK's canonical switch path.
|
|
73
|
+
const handleSwitch = (0, _react.useCallback)(async sessionId => {
|
|
74
|
+
if (sessionId === activeSessionId || busySessionId) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
setBusySessionId(sessionId);
|
|
78
|
+
try {
|
|
79
|
+
await onBeforeSessionChange?.();
|
|
80
|
+
await switchSession(sessionId);
|
|
81
|
+
_bloom.toast.success(t('accountSwitcher.toasts.switchSuccess') || 'Switched account');
|
|
82
|
+
onClose();
|
|
83
|
+
} catch (error) {
|
|
84
|
+
if (!(0, _core.isDev)()) {
|
|
85
|
+
_core.logger.warn('Switch account failed', {
|
|
86
|
+
component: 'ProfileMenu'
|
|
87
|
+
}, error);
|
|
88
|
+
}
|
|
89
|
+
_bloom.toast.error(t('accountSwitcher.toasts.switchFailed') || 'Failed to switch account');
|
|
90
|
+
} finally {
|
|
91
|
+
setBusySessionId(null);
|
|
92
|
+
}
|
|
93
|
+
}, [activeSessionId, busySessionId, switchSession, t, onClose, onBeforeSessionChange]);
|
|
94
|
+
|
|
95
|
+
// Sign out a specific inactive account without switching/clearing the active
|
|
96
|
+
// one. The menu stays open so the user can keep managing accounts.
|
|
97
|
+
const handleRemove = (0, _react.useCallback)(async sessionId => {
|
|
98
|
+
if (sessionId === activeSessionId || removingSessionId) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
setRemovingSessionId(sessionId);
|
|
102
|
+
try {
|
|
103
|
+
await removeSession(sessionId);
|
|
104
|
+
_bloom.toast.success(t('common.actions.signedOut') || 'Signed out');
|
|
105
|
+
} catch (error) {
|
|
106
|
+
_core.logger.warn('Remove account failed', {
|
|
107
|
+
component: 'ProfileMenu'
|
|
108
|
+
}, error);
|
|
109
|
+
_bloom.toast.error(t('common.errors.signOutFailed') || 'Failed to sign out');
|
|
110
|
+
} finally {
|
|
111
|
+
setRemovingSessionId(null);
|
|
112
|
+
}
|
|
113
|
+
}, [activeSessionId, removingSessionId, removeSession, t]);
|
|
114
|
+
const performSignOutAll = (0, _react.useCallback)(async () => {
|
|
115
|
+
if (signingOutAll) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
setSigningOutAll(true);
|
|
119
|
+
try {
|
|
120
|
+
await onBeforeSessionChange?.();
|
|
121
|
+
await logoutAll();
|
|
122
|
+
_bloom.toast.success(t('accountSwitcher.toasts.signOutAllSuccess') || 'Signed out of all accounts');
|
|
123
|
+
onClose();
|
|
124
|
+
} catch (error) {
|
|
125
|
+
_core.logger.warn('Sign out all failed', {
|
|
126
|
+
component: 'ProfileMenu'
|
|
127
|
+
}, error);
|
|
128
|
+
_bloom.toast.error(t('common.errors.signOutAllFailed') || 'Failed to sign out of all accounts');
|
|
129
|
+
} finally {
|
|
130
|
+
setSigningOutAll(false);
|
|
131
|
+
}
|
|
132
|
+
}, [signingOutAll, logoutAll, t, onClose, onBeforeSessionChange]);
|
|
133
|
+
|
|
134
|
+
// Escape-to-close (web only).
|
|
135
|
+
(0, _react.useEffect)(() => {
|
|
136
|
+
if (!open || !isWeb || typeof document === 'undefined') {
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
const onKey = event => {
|
|
140
|
+
if (event.key === 'Escape') {
|
|
141
|
+
event.stopPropagation();
|
|
142
|
+
onClose();
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
document.addEventListener('keydown', onKey, true);
|
|
146
|
+
return () => document.removeEventListener('keydown', onKey, true);
|
|
147
|
+
}, [open, onClose]);
|
|
148
|
+
if (!open) {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// Web: anchor the panel's bottom-left corner to the measured trigger, falling
|
|
153
|
+
// back to a bottom-left placement when no anchor was captured. Native ignores
|
|
154
|
+
// this (the panel docks to the bottom via the overlay's flex-end).
|
|
155
|
+
const panelAnchorStyle = isWeb ? {
|
|
156
|
+
position: 'absolute',
|
|
157
|
+
width: MENU_WIDTH,
|
|
158
|
+
left: anchor?.left ?? 8,
|
|
159
|
+
bottom: anchor?.bottom ?? 8
|
|
160
|
+
} : undefined;
|
|
161
|
+
const content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable
|
|
162
|
+
// Swallow taps inside the panel so they never reach the overlay's
|
|
163
|
+
// outside-tap-to-close handler.
|
|
164
|
+
, {
|
|
165
|
+
onPress: () => undefined,
|
|
166
|
+
className: isWeb ? 'overflow-hidden rounded-2xl border border-border bg-background' : 'overflow-hidden rounded-t-3xl bg-background pb-3',
|
|
167
|
+
style: [panelAnchorStyle, !isWeb ? {
|
|
168
|
+
maxHeight: '85%'
|
|
169
|
+
} : {
|
|
170
|
+
maxHeight: '85%'
|
|
171
|
+
}, styles.shadow],
|
|
172
|
+
accessibilityRole: "menu",
|
|
173
|
+
accessibilityLabel: t('accountMenu.label') || 'Account menu',
|
|
174
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
|
|
175
|
+
className: "grow-0",
|
|
176
|
+
contentContainerClassName: "py-1",
|
|
177
|
+
showsVerticalScrollIndicator: false,
|
|
178
|
+
children: [accounts.map(account => {
|
|
179
|
+
const isActive = account.isCurrent;
|
|
180
|
+
const isBusy = busySessionId === account.sessionId;
|
|
181
|
+
const isRemoving = removingSessionId === account.sessionId;
|
|
182
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
183
|
+
accessibilityRole: "menuitem",
|
|
184
|
+
accessibilityLabel: account.displayName,
|
|
185
|
+
accessibilityState: {
|
|
186
|
+
selected: isActive
|
|
187
|
+
},
|
|
188
|
+
onPress: () => handleSwitch(account.sessionId),
|
|
189
|
+
disabled: isActive || isBusy || isSwitching,
|
|
190
|
+
className: `flex-row items-center gap-3 px-4 py-2.5 ${isActive ? 'bg-secondary' : ''} ${isSwitching && !isActive ? 'opacity-40' : ''}`,
|
|
191
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
|
|
192
|
+
source: account.user.avatar ?? undefined,
|
|
193
|
+
uri: account.avatarUrl,
|
|
194
|
+
variant: "thumb",
|
|
195
|
+
name: account.displayName,
|
|
196
|
+
size: isActive ? 40 : 32
|
|
197
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
198
|
+
className: "min-w-0 flex-1",
|
|
199
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
200
|
+
className: `text-foreground ${isActive ? 'font-semibold' : 'font-medium'}`,
|
|
201
|
+
numberOfLines: 1,
|
|
202
|
+
children: account.displayName
|
|
203
|
+
}), account.email ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
204
|
+
className: "text-xs text-muted-foreground",
|
|
205
|
+
numberOfLines: 1,
|
|
206
|
+
children: account.email
|
|
207
|
+
}) : null]
|
|
208
|
+
}), isBusy ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
209
|
+
color: colors.primary,
|
|
210
|
+
size: "small"
|
|
211
|
+
}) : isActive ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
212
|
+
name: "check",
|
|
213
|
+
size: 20,
|
|
214
|
+
color: colors.primary
|
|
215
|
+
}) : isRemoving ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
216
|
+
color: colors.textSecondary,
|
|
217
|
+
size: "small"
|
|
218
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
219
|
+
accessibilityRole: "button",
|
|
220
|
+
accessibilityLabel: t('accountMenu.signOutAccount', {
|
|
221
|
+
name: account.displayName
|
|
222
|
+
}) || `Sign out ${account.displayName}`,
|
|
223
|
+
onPress: () => handleRemove(account.sessionId),
|
|
224
|
+
disabled: actionDisabled,
|
|
225
|
+
hitSlop: {
|
|
226
|
+
top: 8,
|
|
227
|
+
bottom: 8,
|
|
228
|
+
left: 8,
|
|
229
|
+
right: 8
|
|
230
|
+
},
|
|
231
|
+
className: "h-7 w-7 items-center justify-center rounded-full opacity-60",
|
|
232
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
233
|
+
name: "logout",
|
|
234
|
+
size: 18,
|
|
235
|
+
color: colors.textSecondary
|
|
236
|
+
})
|
|
237
|
+
})]
|
|
238
|
+
}, `account-${account.sessionId}`);
|
|
239
|
+
}), isSwitching ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
240
|
+
className: "flex-row items-center justify-center gap-2 py-2",
|
|
241
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
242
|
+
color: colors.textSecondary,
|
|
243
|
+
size: "small"
|
|
244
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
245
|
+
className: "text-xs font-medium text-muted-foreground",
|
|
246
|
+
children: t('accountMenu.switching') || 'Switching account…'
|
|
247
|
+
})]
|
|
248
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_divider.Divider, {
|
|
249
|
+
color: colors.border,
|
|
250
|
+
spacing: 4
|
|
251
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionRow, {
|
|
252
|
+
icon: "account-plus-outline",
|
|
253
|
+
iconColor: colors.icon,
|
|
254
|
+
label: t('accountMenu.addAnother') || 'Add another account',
|
|
255
|
+
disabled: actionDisabled,
|
|
256
|
+
onPress: () => {
|
|
257
|
+
onClose();
|
|
258
|
+
onAddAccount();
|
|
259
|
+
}
|
|
260
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionRow, {
|
|
261
|
+
icon: "cog-outline",
|
|
262
|
+
iconColor: colors.icon,
|
|
263
|
+
label: t('accountMenu.manage') || 'Manage your Oxy Account',
|
|
264
|
+
disabled: actionDisabled,
|
|
265
|
+
onPress: () => {
|
|
266
|
+
onClose();
|
|
267
|
+
onNavigateManage();
|
|
268
|
+
}
|
|
269
|
+
}), onNavigateProfile ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionRow, {
|
|
270
|
+
icon: "account-outline",
|
|
271
|
+
iconColor: colors.icon,
|
|
272
|
+
label: t('accountMenu.viewProfile') || 'View profile',
|
|
273
|
+
disabled: actionDisabled,
|
|
274
|
+
onPress: () => {
|
|
275
|
+
onClose();
|
|
276
|
+
onNavigateProfile();
|
|
277
|
+
}
|
|
278
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_divider.Divider, {
|
|
279
|
+
color: colors.border,
|
|
280
|
+
spacing: 4
|
|
281
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
282
|
+
accessibilityRole: "menuitem",
|
|
283
|
+
accessibilityLabel: t('accountMenu.signOutAll') || 'Sign out of all accounts',
|
|
284
|
+
onPress: () => signOutAllDialog.open(),
|
|
285
|
+
disabled: actionDisabled,
|
|
286
|
+
className: `flex-row items-center gap-3 px-4 py-3 ${actionDisabled ? 'opacity-40' : ''}`,
|
|
287
|
+
children: [signingOutAll ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
288
|
+
color: colors.error,
|
|
289
|
+
size: "small"
|
|
290
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
291
|
+
name: "logout",
|
|
292
|
+
size: 18,
|
|
293
|
+
color: colors.error
|
|
294
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
295
|
+
className: "font-medium",
|
|
296
|
+
style: {
|
|
297
|
+
color: colors.error
|
|
298
|
+
},
|
|
299
|
+
children: t('accountMenu.signOutAll') || 'Sign out of all accounts'
|
|
300
|
+
})]
|
|
301
|
+
})]
|
|
302
|
+
})
|
|
303
|
+
});
|
|
304
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Modal, {
|
|
305
|
+
visible: open,
|
|
306
|
+
transparent: true,
|
|
307
|
+
animationType: isWeb ? 'fade' : 'slide',
|
|
308
|
+
onRequestClose: onClose,
|
|
309
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
310
|
+
accessibilityRole: "button",
|
|
311
|
+
accessibilityLabel: t('common.actions.close') || 'Close',
|
|
312
|
+
onPress: onClose,
|
|
313
|
+
className: isWeb ? 'flex-1 relative' : 'flex-1 justify-end',
|
|
314
|
+
style: !isWeb ? styles.nativeScrim : undefined,
|
|
315
|
+
children: content
|
|
316
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_bloom.Dialog, {
|
|
317
|
+
control: signOutAllDialog,
|
|
318
|
+
title: t('accountMenu.signOutAll') || 'Sign out of all accounts',
|
|
319
|
+
description: t('common.confirms.signOutAll') || 'Are you sure you want to sign out of all accounts?',
|
|
320
|
+
actions: [{
|
|
321
|
+
label: t('accountMenu.signOutAll') || 'Sign out of all accounts',
|
|
322
|
+
color: 'destructive',
|
|
323
|
+
onPress: performSignOutAll
|
|
324
|
+
}, {
|
|
325
|
+
label: t('common.cancel') || 'Cancel',
|
|
326
|
+
color: 'cancel'
|
|
327
|
+
}]
|
|
328
|
+
})]
|
|
329
|
+
});
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
/** Bottom-section action row (Add account / Manage / View profile). */
|
|
333
|
+
const ActionRow = ({
|
|
334
|
+
icon,
|
|
335
|
+
iconColor,
|
|
336
|
+
label,
|
|
337
|
+
disabled,
|
|
338
|
+
onPress
|
|
339
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
340
|
+
accessibilityRole: "menuitem",
|
|
341
|
+
accessibilityLabel: label,
|
|
342
|
+
onPress: onPress,
|
|
343
|
+
disabled: disabled,
|
|
344
|
+
className: `flex-row items-center gap-3 px-4 py-3 ${disabled ? 'opacity-40' : ''}`,
|
|
345
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
|
|
346
|
+
name: icon,
|
|
347
|
+
size: 20,
|
|
348
|
+
color: iconColor
|
|
349
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
350
|
+
className: "font-medium text-foreground",
|
|
351
|
+
children: label
|
|
352
|
+
})]
|
|
353
|
+
});
|
|
354
|
+
|
|
355
|
+
// The panel's drop shadow and the native scrim are the only values with no
|
|
356
|
+
// NativeWind class equivalent in this package (dynamic elevation + rgba scrim),
|
|
357
|
+
// so they stay as small inline objects rather than raw class-replaceable styles.
|
|
358
|
+
const styles = {
|
|
359
|
+
shadow: {
|
|
360
|
+
shadowColor: '#000',
|
|
361
|
+
shadowOpacity: 0.18,
|
|
362
|
+
shadowRadius: 24,
|
|
363
|
+
shadowOffset: {
|
|
364
|
+
width: 0,
|
|
365
|
+
height: 8
|
|
366
|
+
},
|
|
367
|
+
elevation: 12
|
|
368
|
+
},
|
|
369
|
+
nativeScrim: {
|
|
370
|
+
backgroundColor: 'rgba(0,0,0,0.32)'
|
|
371
|
+
}
|
|
372
|
+
};
|
|
373
|
+
var _default = exports.default = ProfileMenu;
|
|
374
|
+
//# sourceMappingURL=ProfileMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_vectorIcons","_avatar","_typography","_theme","_bloom","_divider","_core","_OxyContext","_useI18n","_useDeviceAccounts","_jsxRuntime","isWeb","Platform","OS","MENU_WIDTH","ProfileMenu","open","onClose","anchor","onNavigateManage","onAddAccount","onNavigateProfile","onBeforeSessionChange","activeSessionId","switchSession","logoutAll","removeSession","useOxy","t","useI18n","colors","useTheme","accounts","useDeviceAccounts","busySessionId","setBusySessionId","useState","removingSessionId","setRemovingSessionId","signingOutAll","setSigningOutAll","signOutAllDialog","useDialogControl","isSwitching","actionDisabled","handleSwitch","useCallback","sessionId","toast","success","error","isDev","loggerUtil","warn","component","handleRemove","performSignOutAll","useEffect","document","undefined","onKey","event","key","stopPropagation","addEventListener","removeEventListener","panelAnchorStyle","position","width","left","bottom","content","jsx","Pressable","onPress","className","style","maxHeight","styles","shadow","accessibilityRole","accessibilityLabel","children","jsxs","ScrollView","contentContainerClassName","showsVerticalScrollIndicator","map","account","isActive","isCurrent","isBusy","isRemoving","displayName","accessibilityState","selected","disabled","Avatar","source","user","avatar","uri","avatarUrl","variant","name","size","View","Text","numberOfLines","email","ActivityIndicator","color","primary","MaterialCommunityIcons","textSecondary","hitSlop","top","right","Divider","border","spacing","ActionRow","icon","iconColor","label","Modal","visible","transparent","animationType","onRequestClose","nativeScrim","Dialog","control","title","description","actions","shadowColor","shadowOpacity","shadowRadius","shadowOffset","height","elevation","backgroundColor","_default","exports","default"],"sourceRoot":"../../../../src","sources":["ui/components/ProfileMenu.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_colorUtils","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SettingsIconComponent","name","color","iconSize","size","jsx","View","style","styles","circle","width","height","borderRadius","backgroundColor","children","MaterialCommunityIcons","darkenColor","displayName","SettingsIcon","exports","memo","_default","StyleSheet","create","alignItems","justifyContent"],"sourceRoot":"../../../../src","sources":["ui/components/SettingsIcon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAkD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAalD;AACA;AACA;AACA;AACA;AACA,MAAMkB,qBAAkD,GAAGA,CAAC;EACxDC,IAAI;EACJC,KAAK;EACLC,QAAQ,GAAG,EAAE;EACbC,IAAI,GAAG;AACX,CAAC,kBACG,IAAAxB,WAAA,CAAAyB,GAAA,EAAC5B,YAAA,CAAA6B,IAAI;EAACC,KAAK,EAAE,CAACC,MAAM,CAACC,MAAM,EAAE;IAAEC,KAAK,EAAEN,IAAI;IAAEO,MAAM,EAAEP,IAAI;IAAEQ,YAAY,EAAER,IAAI,GAAG,CAAC;IAAES,eAAe,EAAEX;EAAM,CAAC,CAAE;EAAAY,QAAA,eACxG,IAAAlC,WAAA,CAAAyB,GAAA,EAAC3B,YAAA,CAAAqC,sBAAsB;IAACd,IAAI,EAAEA,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_colorUtils","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SettingsIconComponent","name","color","iconSize","size","jsx","View","style","styles","circle","width","height","borderRadius","backgroundColor","children","MaterialCommunityIcons","darkenColor","displayName","SettingsIcon","exports","memo","_default","StyleSheet","create","alignItems","justifyContent"],"sourceRoot":"../../../../src","sources":["ui/components/SettingsIcon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAAkD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAalD;AACA;AACA;AACA;AACA;AACA,MAAMkB,qBAAkD,GAAGA,CAAC;EACxDC,IAAI;EACJC,KAAK;EACLC,QAAQ,GAAG,EAAE;EACbC,IAAI,GAAG;AACX,CAAC,kBACG,IAAAxB,WAAA,CAAAyB,GAAA,EAAC5B,YAAA,CAAA6B,IAAI;EAACC,KAAK,EAAE,CAACC,MAAM,CAACC,MAAM,EAAE;IAAEC,KAAK,EAAEN,IAAI;IAAEO,MAAM,EAAEP,IAAI;IAAEQ,YAAY,EAAER,IAAI,GAAG,CAAC;IAAES,eAAe,EAAEX;EAAM,CAAC,CAAE;EAAAY,QAAA,eACxG,IAAAlC,WAAA,CAAAyB,GAAA,EAAC3B,YAAA,CAAAqC,sBAAsB;IAACd,IAAI,EAAEA,IAAK;IAACG,IAAI,EAAED,QAAS;IAACD,KAAK,EAAE,IAAAc,uBAAW,EAACd,KAAK;EAAE,CAAE;AAAC,CAC/E,CACT;AAEDF,qBAAqB,CAACiB,WAAW,GAAG,cAAc;AAE3C,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAG,IAAAE,WAAI,EAACpB,qBAAqB,CAAC;AAAC,IAAAqB,QAAA,GAAAF,OAAA,CAAA5B,OAAA,GACzC2B,YAAY;AAE3B,MAAMV,MAAM,GAAGc,uBAAU,CAACC,MAAM,CAAC;EAC7Bd,MAAM,EAAE;IACJe,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EACpB;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_expoImage","_vectorIcons","_theme","_fileManagement","_styles","_theme2","_settingsList","_jsxRuntime","FileViewer","file","fileContent","loadingFileContent","showFileDetailsInViewer","onToggleDetails","onClose","onDownload","onDelete","isOwner","colors","isDark","useTheme","constantColors","Colors","isImage","contentType","startsWith","isText","includes","isPDF","isVideo","isAudio","bgColor","undefined","containerWidth","setContainerWidth","useState","imageDimensions","setImageDimensions","useEffect","Image","getSize","width","height","imageDisplaySize","useMemo","maxWidth","maxHeight","aspectRatio","displayWidth","displayHeight","fileDetailItems","items","id","iconName","iconColor","iconSecurity","title","description","filename","iconStorage","formatFileSize","length","iconData","iconPersonalInfo","Date","uploadDate","toLocaleString","metadata","push","jsxs","View","className","style","fileManagementStyles","fileViewerContainer","backgroundColor","children","Fragment","jsx","source","uri","backgroundImage","contentFit","blurRadius","transition","cachePolicy","backgroundOverlay","overlay","TouchableOpacity","floatingBackButton","onPress","MaterialCommunityIcons","name","size","color","text","floatingDownloadButton","primary","ScrollView","fileViewerContent","contentContainerStyle","fileViewerContentContainer","fileViewerLoading","ActivityIndicator","Text","fileViewerLoadingText","imageContainer","onLayout","e","nativeEvent","layout","imageWrapper","onError","accessibilityLabel","textContainer","flex","nestedScrollEnabled","textContent","unsupportedFileContainer","textSecondary","unsupportedFileTitle","unsupportedFileDescription","downloadButtonLarge","primaryForeground","downloadButtonText","fileDetailsSection","fileDetailsSectionHeader","fileDetailsSectionTitle","fileDetailsSectionToggle","fileDetailsSectionContent","SettingsListGroup","map","item","SettingsListItem","icon","showChevron","fileDetailsActions","fileDetailsActionButton","negativeForeground","fileDetailsActionText","exports"],"sourceRoot":"../../../../../src","sources":["ui/components/fileManagement/FileViewer.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_expoImage","_vectorIcons","_theme","_fileManagement","_styles","_theme2","_settingsList","_jsxRuntime","FileViewer","file","fileContent","loadingFileContent","showFileDetailsInViewer","onToggleDetails","onClose","onDownload","onDelete","isOwner","colors","isDark","useTheme","constantColors","Colors","isImage","contentType","startsWith","isText","includes","isPDF","isVideo","isAudio","bgColor","undefined","containerWidth","setContainerWidth","useState","imageDimensions","setImageDimensions","useEffect","Image","getSize","width","height","imageDisplaySize","useMemo","maxWidth","maxHeight","aspectRatio","displayWidth","displayHeight","fileDetailItems","items","id","iconName","iconColor","iconSecurity","title","description","filename","iconStorage","formatFileSize","length","iconData","iconPersonalInfo","Date","uploadDate","toLocaleString","metadata","push","jsxs","View","className","style","fileManagementStyles","fileViewerContainer","backgroundColor","children","Fragment","jsx","source","uri","backgroundImage","contentFit","blurRadius","transition","cachePolicy","backgroundOverlay","overlay","TouchableOpacity","floatingBackButton","onPress","MaterialCommunityIcons","name","size","color","text","floatingDownloadButton","primary","ScrollView","fileViewerContent","contentContainerStyle","fileViewerContentContainer","fileViewerLoading","ActivityIndicator","Text","fileViewerLoadingText","imageContainer","onLayout","e","nativeEvent","layout","imageWrapper","onError","accessibilityLabel","textContainer","flex","nestedScrollEnabled","textContent","unsupportedFileContainer","textSecondary","unsupportedFileTitle","unsupportedFileDescription","downloadButtonLarge","primaryForeground","downloadButtonText","fileDetailsSection","fileDetailsSectionHeader","fileDetailsSectionTitle","fileDetailsSectionToggle","fileDetailsSectionContent","SettingsListGroup","map","item","SettingsListItem","icon","showChevron","fileDetailsActions","fileDetailsActionButton","negativeForeground","fileDetailsActionText","exports"],"sourceRoot":"../../../../../src","sources":["ui/components/fileManagement/FileViewer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1106,15 +1106,29 @@ const OxyProvider = ({
|
|
|
1106
1106
|
// run cookie-restore BEFORE those probes (and disable the later duplicate).
|
|
1107
1107
|
//
|
|
1108
1108
|
// Read ONCE here (synchronously usable by the step `enabled` gates below).
|
|
1109
|
-
// It is non-null ONLY on first-party
|
|
1110
|
-
//
|
|
1111
|
-
//
|
|
1112
|
-
//
|
|
1113
|
-
//
|
|
1114
|
-
// a slot
|
|
1115
|
-
//
|
|
1116
|
-
//
|
|
1109
|
+
// It is non-null ONLY on first-party web apps that persist the slot. Both the
|
|
1110
|
+
// device sign-in/switch paths AND `handleWebSSOSession` (FedCM/SSO/credentials
|
|
1111
|
+
// commit funnel) now persist it — but only when the session genuinely joined
|
|
1112
|
+
// the device set: `establishDeviceRefreshSlot` returns an `authuser` ONLY on
|
|
1113
|
+
// first-party web (same registrable apex as the API), so a cross-apex RP never
|
|
1114
|
+
// writes a phantom slot and native has no localStorage. Both therefore keep
|
|
1115
|
+
// their existing order untouched. The earlier `stored-session` step still runs
|
|
1116
|
+
// first (FIX-A latency), and when a slot exists but its cookies have all
|
|
1117
|
+
// lapsed, cookie-restore simply returns no accounts and the chain falls through
|
|
1118
|
+
// to the cross-domain fallbacks exactly as before.
|
|
1117
1119
|
const prioritizeMultiAccount = (0, _useWebSSO.isWebBrowser)() && (0, _activeAuthuser.readActiveAuthuser)() !== null;
|
|
1120
|
+
|
|
1121
|
+
// DELIBERATELY-SIGNED-OUT gate (web): when the user pressed "Sign out", the
|
|
1122
|
+
// central IdP session (FedCM credential association / per-apex `fedcm_session`
|
|
1123
|
+
// cookie) can still be live, so the AUTOMATIC silent steps below
|
|
1124
|
+
// (`fedcm-silent`, `silent-iframe`) would re-mint a session on the very next
|
|
1125
|
+
// cold boot and sign the user back in without intent. Read the durable flag
|
|
1126
|
+
// ONCE here (synchronously usable by the step `enabled` gates) and skip those
|
|
1127
|
+
// two steps while it is set. Any deliberate sign-in clears it. The `sso-bounce`
|
|
1128
|
+
// step is already self-suppressed after sign-out (its `hasPriorSession` hint is
|
|
1129
|
+
// cleared), and the local restore steps (`stored-session`, cookie-restore) are
|
|
1130
|
+
// unaffected — a deliberate sign-out clears those credentials anyway.
|
|
1131
|
+
const silentRestoreBlocked = (0, _activeAuthuser.isSilentRestoreSuppressed)();
|
|
1118
1132
|
try {
|
|
1119
1133
|
const outcome = await (0, _core.runColdBoot)({
|
|
1120
1134
|
steps: [{
|
|
@@ -1257,7 +1271,7 @@ const OxyProvider = ({
|
|
|
1257
1271
|
// already recovered a local session — the probe cannot improve on a
|
|
1258
1272
|
// valid local bearer, and skipping it avoids the silent round-trip.
|
|
1259
1273
|
id: 'fedcm-silent',
|
|
1260
|
-
enabled: () => !storedSessionRestored && fedcmSupported && !servicesSilentAttempted.has(silentKey),
|
|
1274
|
+
enabled: () => !storedSessionRestored && !silentRestoreBlocked && fedcmSupported && !servicesSilentAttempted.has(silentKey),
|
|
1261
1275
|
run: async () => {
|
|
1262
1276
|
servicesSilentAttempted.add(silentKey);
|
|
1263
1277
|
const session = await oxyServices.silentSignInWithFedCM?.();
|
|
@@ -1296,7 +1310,7 @@ const OxyProvider = ({
|
|
|
1296
1310
|
// FIX-D: bounded by `SILENT_IFRAME_TIMEOUT` (plus `iframe.onerror`
|
|
1297
1311
|
// fail-fast in core) so a no-message iframe cannot stall cold boot.
|
|
1298
1312
|
id: 'silent-iframe',
|
|
1299
|
-
enabled: () => !storedSessionRestored && (0, _useWebSSO.isWebBrowser)(),
|
|
1313
|
+
enabled: () => !storedSessionRestored && !silentRestoreBlocked && (0, _useWebSSO.isWebBrowser)(),
|
|
1300
1314
|
run: async () => {
|
|
1301
1315
|
if (!commitWebSession) {
|
|
1302
1316
|
return {
|
|
@@ -1576,13 +1590,48 @@ const OxyProvider = ({
|
|
|
1576
1590
|
throw new Error('Session response did not include an access token');
|
|
1577
1591
|
}
|
|
1578
1592
|
oxyServices.httpService.setTokens(session.accessToken);
|
|
1593
|
+
|
|
1594
|
+
// A committed web session re-enables automatic silent restore: clear the
|
|
1595
|
+
// durable "deliberately signed out" flag. This funnel is reached by deliberate
|
|
1596
|
+
// sign-ins (password, interactive FedCM, `/sso` return) AND by the silent
|
|
1597
|
+
// cold-boot steps — but those are GATED on the flag, so when it is set they
|
|
1598
|
+
// never run and never reach here; clearing is therefore only hit on a genuine
|
|
1599
|
+
// (re-)sign-in or when restore was already permitted, both correct.
|
|
1600
|
+
(0, _activeAuthuser.clearSignedOut)();
|
|
1601
|
+
|
|
1602
|
+
// Register this primary session in the device's first-party multi-account
|
|
1603
|
+
// refresh-cookie set (web only). Every web primary-session restore funnels
|
|
1604
|
+
// through here — FedCM silent (`/fedcm/exchange`), per-apex `/auth/silent`
|
|
1605
|
+
// iframe, central `/sso` return, and keyless password sign-in. Of those, only
|
|
1606
|
+
// a same-apex `/fedcm/exchange` plants an `oxy_rt_<authuser>` slot as a side
|
|
1607
|
+
// effect; the cross-origin/credential-less restores (`/sso/exchange`,
|
|
1608
|
+
// `/auth/silent` postMessage) cannot set an `api.oxy.so` cookie at all. So
|
|
1609
|
+
// WITHOUT this call a web primary never joins the device set: `refresh-all`
|
|
1610
|
+
// returns zero accounts, and account-switch persistence + the
|
|
1611
|
+
// `cookie-restore-active` cold-boot step have no foundation. Calling the shared
|
|
1612
|
+
// `POST /auth/session` primitive here makes EVERY primary participate in the
|
|
1613
|
+
// set, re-plants the rotated token, and records the active `authuser` so the
|
|
1614
|
+
// next cold boot's `cookie-restore-active` reconciles the persisted active
|
|
1615
|
+
// (possibly switched) account instead of `fedcm-silent` clobbering it back to
|
|
1616
|
+
// the primary. Best-effort: a `null` result (native / transient failure)
|
|
1617
|
+
// leaves the in-session token untouched.
|
|
1618
|
+
const primaryAuthuser = await oxyServices.establishDeviceRefreshSlot();
|
|
1619
|
+
// A non-null slot is returned ONLY on first-party web (the helper gates on
|
|
1620
|
+
// platform + same registrable apex), so recording the active slot here is safe
|
|
1621
|
+
// and never writes a phantom authuser for a cross-apex RP or native.
|
|
1622
|
+
if (typeof primaryAuthuser === 'number') {
|
|
1623
|
+
(0, _activeAuthuser.writeActiveAuthuser)(primaryAuthuser);
|
|
1624
|
+
}
|
|
1579
1625
|
const clientSession = {
|
|
1580
1626
|
sessionId: session.sessionId,
|
|
1581
1627
|
deviceId: session.deviceId || '',
|
|
1582
1628
|
expiresAt: session.expiresAt || new Date(Date.now() + DEFAULT_SESSION_VALIDITY_MS).toISOString(),
|
|
1583
1629
|
lastActive: new Date().toISOString(),
|
|
1584
1630
|
userId: session.user.id?.toString() ?? '',
|
|
1585
|
-
isCurrent: true
|
|
1631
|
+
isCurrent: true,
|
|
1632
|
+
...(typeof primaryAuthuser === 'number' ? {
|
|
1633
|
+
authuser: primaryAuthuser
|
|
1634
|
+
} : null)
|
|
1586
1635
|
};
|
|
1587
1636
|
updateSessions([clientSession], {
|
|
1588
1637
|
merge: true
|
|
@@ -1862,6 +1911,10 @@ const OxyProvider = ({
|
|
|
1862
1911
|
throw new Error('Account switch did not return a valid session');
|
|
1863
1912
|
}
|
|
1864
1913
|
|
|
1914
|
+
// A switch is a deliberate sign-in into an account: re-enable automatic silent
|
|
1915
|
+
// restore by clearing any prior "deliberately signed out" flag.
|
|
1916
|
+
(0, _activeAuthuser.clearSignedOut)();
|
|
1917
|
+
|
|
1865
1918
|
// `oxyServices.switchToAccount` already planted `result.accessToken` as the
|
|
1866
1919
|
// active token; mirror the minted session into the multi-account store and
|
|
1867
1920
|
// mark it current, recording the device `authuser` slot so web silent-switch
|