@oxy.so/services 4.0.3 → 4.0.4

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.
@@ -104,6 +104,14 @@ function createOxyRuntime(config) {
104
104
  let dirty = false;
105
105
  /** The subject as it stood when the OUTERMOST transition opened. */
106
106
  let subjectAtEntry = null;
107
+ /**
108
+ * Bumped by every local teardown. A projection captures it before its first
109
+ * await and discards itself if it moved: the revision guard alone cannot see
110
+ * a sign-out, because a local teardown (the token-null lane, a `logoutAll`
111
+ * whose device call already failed) leaves `SessionClient` holding the SAME
112
+ * state, at the same revision, that the projection was started for.
113
+ */
114
+ let sessionGeneration = 0;
107
115
  function buildSnapshot() {
108
116
  const activeContext = (0, _core.resolveActiveContext)(facts.directory);
109
117
  return Object.freeze({
@@ -239,6 +247,7 @@ function createOxyRuntime(config) {
239
247
  // profile fetch if a fresher state has landed — last-writer-wins, so two
240
248
  // overlapping projections can never publish in the wrong order.
241
249
  const capturedRevision = state.revision;
250
+ const capturedGeneration = sessionGeneration;
242
251
  // Resolve the pin BEFORE the fetch (memoised: one storage + keychain read
243
252
  // per boot) so the first pass over a freshly applied state is already bound.
244
253
  // Deferring it would let a sibling app's switch render once as this
@@ -252,6 +261,12 @@ function createOxyRuntime(config) {
252
261
  logger('Failed to resolve account profiles during the device projection', fetchError);
253
262
  return;
254
263
  }
264
+ if (capturedGeneration !== sessionGeneration) {
265
+ // Signed out while the profiles were in flight. Committing now would put
266
+ // the account back on a device with no bearer — the "Hi <old user>"
267
+ // greeting to a signed-out visitor.
268
+ return;
269
+ }
255
270
  const latest = sessionClient.getState();
256
271
  if (!latest || latest.revision !== capturedRevision) {
257
272
  return;
@@ -417,6 +432,7 @@ function createOxyRuntime(config) {
417
432
  });
418
433
  },
419
434
  clearSession() {
435
+ sessionGeneration += 1;
420
436
  transition(() => {
421
437
  setSessions(EMPTY_SESSIONS);
422
438
  setActiveSessionIdFact(null);
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","EMPTY_SESSIONS","deriveStatus","facts","authResolved","account","error","deriveTokenStatus","hasAccessToken","tokenReady","derivePrincipal","activeContext","profiles","get","actor","userId","createOxyRuntime","config","oxyServices","sessionClient","sessionClientHost","identity","onSubjectChange","onDeviceEmpty","onSessionsProjected","onIdentityUnbound","logger","deviceState","directory","Map","sessions","activeSessionId","pinnedAccountId","isLoading","storageReady","Boolean","getAccessToken","switching","listeners","Set","snapshot","buildSnapshot","depth","dirty","subjectAtEntry","resolveActiveContext","Object","freeze","status","device","principal","tokenStatus","message","code","notify","listener","transition","mutate","id","nextSubject","previous","next","touch","setSessions","sessionsArraysEqual","setActiveSessionIdFact","sessionId","setAccountFact","user","normalizeUserIdentity","reconcileFromClient","state","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ensurePinnedAccountId","ids","accountIdsOf","users","getUsersByIds","fetchError","latest","activeSessionIdOf","getDirectory","resolved","set","projected","normalizeAndSortSessions","deviceStateToClientSessions","map","session","activeUser","activeUserOf","activeAccountId","getSnapshot","subscribe","add","delete","start","catch","batch","activateContext","contextId","setSwitching","signOutContext","signOutPrincipal","principalId","refreshDirectory","setAccount","setLoading","loading","setError","setStorageReady","ready","setTokenReady","setHasAccessToken","has","markAuthResolved","mergeSessions","incoming","options","processed","merge","mergeSessionLists","preserveSessionIds","setActiveSessionId","clearSession"],"sourceRoot":"../../../../src","sources":["ui/runtime/createOxyRuntime.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","EMPTY_SESSIONS","deriveStatus","facts","authResolved","account","error","deriveTokenStatus","hasAccessToken","tokenReady","derivePrincipal","activeContext","profiles","get","actor","userId","createOxyRuntime","config","oxyServices","sessionClient","sessionClientHost","identity","onSubjectChange","onDeviceEmpty","onSessionsProjected","onIdentityUnbound","logger","deviceState","directory","Map","sessions","activeSessionId","pinnedAccountId","isLoading","storageReady","Boolean","getAccessToken","switching","listeners","Set","snapshot","buildSnapshot","depth","dirty","subjectAtEntry","sessionGeneration","resolveActiveContext","Object","freeze","status","device","principal","tokenStatus","message","code","notify","listener","transition","mutate","id","nextSubject","previous","next","touch","setSessions","sessionsArraysEqual","setActiveSessionIdFact","sessionId","setAccountFact","user","normalizeUserIdentity","reconcileFromClient","state","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","capturedGeneration","ensurePinnedAccountId","ids","accountIdsOf","users","getUsersByIds","fetchError","latest","activeSessionIdOf","getDirectory","resolved","set","projected","normalizeAndSortSessions","deviceStateToClientSessions","map","session","activeUser","activeUserOf","activeAccountId","getSnapshot","subscribe","add","delete","start","catch","batch","activateContext","contextId","setSwitching","signOutContext","signOutPrincipal","principalId","refreshDirectory","setAccount","setLoading","loading","setError","setStorageReady","ready","setTokenReady","setHasAccessToken","has","markAuthResolved","mergeSessions","incoming","options","processed","merge","mergeSessionLists","preserveSessionIds","setActiveSessionId","clearSession"],"sourceRoot":"../../../../src","sources":["ui/runtime/createOxyRuntime.ts"],"mappings":"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","ignoreList":[]}
@@ -101,6 +101,14 @@ export function createOxyRuntime(config) {
101
101
  let dirty = false;
102
102
  /** The subject as it stood when the OUTERMOST transition opened. */
103
103
  let subjectAtEntry = null;
104
+ /**
105
+ * Bumped by every local teardown. A projection captures it before its first
106
+ * await and discards itself if it moved: the revision guard alone cannot see
107
+ * a sign-out, because a local teardown (the token-null lane, a `logoutAll`
108
+ * whose device call already failed) leaves `SessionClient` holding the SAME
109
+ * state, at the same revision, that the projection was started for.
110
+ */
111
+ let sessionGeneration = 0;
104
112
  function buildSnapshot() {
105
113
  const activeContext = resolveActiveContext(facts.directory);
106
114
  return Object.freeze({
@@ -236,6 +244,7 @@ export function createOxyRuntime(config) {
236
244
  // profile fetch if a fresher state has landed — last-writer-wins, so two
237
245
  // overlapping projections can never publish in the wrong order.
238
246
  const capturedRevision = state.revision;
247
+ const capturedGeneration = sessionGeneration;
239
248
  // Resolve the pin BEFORE the fetch (memoised: one storage + keychain read
240
249
  // per boot) so the first pass over a freshly applied state is already bound.
241
250
  // Deferring it would let a sibling app's switch render once as this
@@ -249,6 +258,12 @@ export function createOxyRuntime(config) {
249
258
  logger('Failed to resolve account profiles during the device projection', fetchError);
250
259
  return;
251
260
  }
261
+ if (capturedGeneration !== sessionGeneration) {
262
+ // Signed out while the profiles were in flight. Committing now would put
263
+ // the account back on a device with no bearer — the "Hi <old user>"
264
+ // greeting to a signed-out visitor.
265
+ return;
266
+ }
252
267
  const latest = sessionClient.getState();
253
268
  if (!latest || latest.revision !== capturedRevision) {
254
269
  return;
@@ -414,6 +429,7 @@ export function createOxyRuntime(config) {
414
429
  });
415
430
  },
416
431
  clearSession() {
432
+ sessionGeneration += 1;
417
433
  transition(() => {
418
434
  setSessions(EMPTY_SESSIONS);
419
435
  setActiveSessionIdFact(null);
@@ -1 +1 @@
1
- {"version":3,"names":["accountIdsOf","activeSessionIdOf","activeUserOf","deviceStateToClientSessions","mergeSessions","mergeSessionLists","normalizeAndSortSessions","normalizeUserIdentity","resolveActiveContext","sessionsArraysEqual","EMPTY_SESSIONS","deriveStatus","facts","authResolved","account","error","deriveTokenStatus","hasAccessToken","tokenReady","derivePrincipal","activeContext","profiles","get","actor","userId","createOxyRuntime","config","oxyServices","sessionClient","sessionClientHost","identity","onSubjectChange","onDeviceEmpty","onSessionsProjected","onIdentityUnbound","logger","deviceState","directory","Map","sessions","activeSessionId","pinnedAccountId","isLoading","storageReady","Boolean","getAccessToken","switching","listeners","Set","snapshot","buildSnapshot","depth","dirty","subjectAtEntry","Object","freeze","status","device","principal","tokenStatus","message","code","notify","listener","transition","mutate","id","nextSubject","previous","next","touch","setSessions","setActiveSessionIdFact","sessionId","setAccountFact","user","reconcileFromClient","state","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ensurePinnedAccountId","ids","users","getUsersByIds","fetchError","latest","getDirectory","resolved","set","projected","map","session","activeUser","activeAccountId","getSnapshot","subscribe","add","delete","start","catch","batch","activateContext","contextId","setSwitching","signOutContext","signOutPrincipal","principalId","refreshDirectory","setAccount","setLoading","loading","setError","setStorageReady","ready","setTokenReady","setHasAccessToken","has","markAuthResolved","incoming","options","processed","merge","preserveSessionIds","setActiveSessionId","clearSession"],"sourceRoot":"../../../../src","sources":["ui/runtime/createOxyRuntime.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["accountIdsOf","activeSessionIdOf","activeUserOf","deviceStateToClientSessions","mergeSessions","mergeSessionLists","normalizeAndSortSessions","normalizeUserIdentity","resolveActiveContext","sessionsArraysEqual","EMPTY_SESSIONS","deriveStatus","facts","authResolved","account","error","deriveTokenStatus","hasAccessToken","tokenReady","derivePrincipal","activeContext","profiles","get","actor","userId","createOxyRuntime","config","oxyServices","sessionClient","sessionClientHost","identity","onSubjectChange","onDeviceEmpty","onSessionsProjected","onIdentityUnbound","logger","deviceState","directory","Map","sessions","activeSessionId","pinnedAccountId","isLoading","storageReady","Boolean","getAccessToken","switching","listeners","Set","snapshot","buildSnapshot","depth","dirty","subjectAtEntry","sessionGeneration","Object","freeze","status","device","principal","tokenStatus","message","code","notify","listener","transition","mutate","id","nextSubject","previous","next","touch","setSessions","setActiveSessionIdFact","sessionId","setAccountFact","user","reconcileFromClient","state","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","capturedGeneration","ensurePinnedAccountId","ids","users","getUsersByIds","fetchError","latest","getDirectory","resolved","set","projected","map","session","activeUser","activeAccountId","getSnapshot","subscribe","add","delete","start","catch","batch","activateContext","contextId","setSwitching","signOutContext","signOutPrincipal","principalId","refreshDirectory","setAccount","setLoading","loading","setError","setStorageReady","ready","setTokenReady","setHasAccessToken","has","markAuthResolved","incoming","options","processed","merge","preserveSessionIds","setActiveSessionId","clearSession"],"sourceRoot":"../../../../src","sources":["ui/runtime/createOxyRuntime.ts"],"mappings":"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","ignoreList":[]}
@@ -83,7 +83,9 @@ export interface OxyRuntime {
83
83
  /**
84
84
  * Project the client's current device state onto the snapshot. Idempotent and
85
85
  * revision-guarded: a projection whose profile fetch was overtaken by a
86
- * fresher state discards itself rather than publishing a stale subject.
86
+ * fresher state discards itself rather than publishing a stale subject. It is
87
+ * also teardown-guarded: one started before {@link clearSession} publishes
88
+ * nothing, whatever `SessionClient` still holds.
87
89
  */
88
90
  reconcileFromClient(): Promise<void>;
89
91
  /** Read the device directory and publish it (opts this runtime into ADR 0002). */
@@ -137,7 +139,10 @@ export interface OxyRuntime {
137
139
  preserveSessionIds?: string[];
138
140
  }): void;
139
141
  setActiveSessionId(sessionId: string | null): void;
140
- /** Local teardown: drop the session projection without touching the server. */
142
+ /**
143
+ * Local teardown: drop the session projection without touching the server.
144
+ * Every projection already in flight is abandoned.
145
+ */
141
146
  clearSession(): void;
142
147
  }
143
148
  export declare function createOxyRuntime(config: OxyRuntimeConfig): OxyRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"createOxyRuntime.d.ts","sourceRoot":"","sources":["../../../../../src/ui/runtime/createOxyRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createOxyRuntime.d.ts","sourceRoot":"","sources":["../../../../../src/ui/runtime/createOxyRuntime.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,9 @@ export interface OxyRuntime {
83
83
  /**
84
84
  * Project the client's current device state onto the snapshot. Idempotent and
85
85
  * revision-guarded: a projection whose profile fetch was overtaken by a
86
- * fresher state discards itself rather than publishing a stale subject.
86
+ * fresher state discards itself rather than publishing a stale subject. It is
87
+ * also teardown-guarded: one started before {@link clearSession} publishes
88
+ * nothing, whatever `SessionClient` still holds.
87
89
  */
88
90
  reconcileFromClient(): Promise<void>;
89
91
  /** Read the device directory and publish it (opts this runtime into ADR 0002). */
@@ -137,7 +139,10 @@ export interface OxyRuntime {
137
139
  preserveSessionIds?: string[];
138
140
  }): void;
139
141
  setActiveSessionId(sessionId: string | null): void;
140
- /** Local teardown: drop the session projection without touching the server. */
142
+ /**
143
+ * Local teardown: drop the session projection without touching the server.
144
+ * Every projection already in flight is abandoned.
145
+ */
141
146
  clearSession(): void;
142
147
  }
143
148
  export declare function createOxyRuntime(config: OxyRuntimeConfig): OxyRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"createOxyRuntime.d.ts","sourceRoot":"","sources":["../../../../../src/ui/runtime/createOxyRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAiB,IAAI,EAAE,MAAM,cAAc,CAAC;AAYvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAoC,MAAM,YAAS,CAAC;AAEpF;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,IAAI,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,IAAI,kBAAkB,GAAG,IAAI,CAAC;IACtC,YAAY,IAAI,eAAe,GAAG,IAAI,CAAC;IACvC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5E,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,aAAa,CAAC;IAC3B,aAAa,EAAE,oBAAoB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,+EAA+E;IAC/E,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAExC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAE1D;;;;OAIG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAErD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhF,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,IAAI,kBAAkB,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAE5C,0EAA0E;IAC1E,KAAK,IAAI,MAAM,IAAI,CAAC;IAEpB;;;;OAIG;IACH,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,kFAAkF;IAClF,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;;;;;OAMG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;;;;;;OAQG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD,yEAAyE;IACzE,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEhC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7G,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAEnD,+EAA+E;IAC/E,YAAY,IAAI,IAAI,CAAC;CACtB;AA2DD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAyYrE"}
1
+ {"version":3,"file":"createOxyRuntime.d.ts","sourceRoot":"","sources":["../../../../../src/ui/runtime/createOxyRuntime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxy.so/services",
3
- "version": "4.0.3",
3
+ "version": "4.0.4",
4
4
  "description": "OxyHQ Expo/React Native SDK — UI components, screens, and native features",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -164,7 +164,7 @@
164
164
  "@commitlint/cli": "^21.2.1",
165
165
  "@commitlint/config-conventional": "^21.2.0",
166
166
  "@expo/vector-icons": "^15.0.3",
167
- "@oxy.so/core": "1.9.1",
167
+ "@oxy.so/core": "1.10.0",
168
168
  "@react-native-async-storage/async-storage": "^2.0.0",
169
169
  "@react-native-community/netinfo": "^12.0.1",
170
170
  "@react-native/babel-preset": "^0.86.2",
@@ -107,7 +107,9 @@ export interface OxyRuntime {
107
107
  /**
108
108
  * Project the client's current device state onto the snapshot. Idempotent and
109
109
  * revision-guarded: a projection whose profile fetch was overtaken by a
110
- * fresher state discards itself rather than publishing a stale subject.
110
+ * fresher state discards itself rather than publishing a stale subject. It is
111
+ * also teardown-guarded: one started before {@link clearSession} publishes
112
+ * nothing, whatever `SessionClient` still holds.
111
113
  */
112
114
  reconcileFromClient(): Promise<void>;
113
115
 
@@ -166,7 +168,10 @@ export interface OxyRuntime {
166
168
  mergeSessions(incoming: ClientSession[], options?: { merge?: boolean; preserveSessionIds?: string[] }): void;
167
169
  setActiveSessionId(sessionId: string | null): void;
168
170
 
169
- /** Local teardown: drop the session projection without touching the server. */
171
+ /**
172
+ * Local teardown: drop the session projection without touching the server.
173
+ * Every projection already in flight is abandoned.
174
+ */
170
175
  clearSession(): void;
171
176
  }
172
177
 
@@ -268,6 +273,14 @@ export function createOxyRuntime(config: OxyRuntimeConfig): OxyRuntime {
268
273
  let dirty = false;
269
274
  /** The subject as it stood when the OUTERMOST transition opened. */
270
275
  let subjectAtEntry: string | null = null;
276
+ /**
277
+ * Bumped by every local teardown. A projection captures it before its first
278
+ * await and discards itself if it moved: the revision guard alone cannot see
279
+ * a sign-out, because a local teardown (the token-null lane, a `logoutAll`
280
+ * whose device call already failed) leaves `SessionClient` holding the SAME
281
+ * state, at the same revision, that the projection was started for.
282
+ */
283
+ let sessionGeneration = 0;
271
284
 
272
285
  function buildSnapshot(): OxyRuntimeSnapshot {
273
286
  const activeContext = resolveActiveContext(facts.directory);
@@ -401,6 +414,7 @@ export function createOxyRuntime(config: OxyRuntimeConfig): OxyRuntime {
401
414
  // profile fetch if a fresher state has landed — last-writer-wins, so two
402
415
  // overlapping projections can never publish in the wrong order.
403
416
  const capturedRevision = state.revision;
417
+ const capturedGeneration = sessionGeneration;
404
418
  // Resolve the pin BEFORE the fetch (memoised: one storage + keychain read
405
419
  // per boot) so the first pass over a freshly applied state is already bound.
406
420
  // Deferring it would let a sibling app's switch render once as this
@@ -414,6 +428,12 @@ export function createOxyRuntime(config: OxyRuntimeConfig): OxyRuntime {
414
428
  logger('Failed to resolve account profiles during the device projection', fetchError);
415
429
  return;
416
430
  }
431
+ if (capturedGeneration !== sessionGeneration) {
432
+ // Signed out while the profiles were in flight. Committing now would put
433
+ // the account back on a device with no bearer — the "Hi <old user>"
434
+ // greeting to a signed-out visitor.
435
+ return;
436
+ }
417
437
  const latest = sessionClient.getState();
418
438
  if (!latest || latest.revision !== capturedRevision) {
419
439
  return;
@@ -608,6 +628,7 @@ export function createOxyRuntime(config: OxyRuntimeConfig): OxyRuntime {
608
628
  },
609
629
 
610
630
  clearSession() {
631
+ sessionGeneration += 1;
611
632
  transition(() => {
612
633
  setSessions(EMPTY_SESSIONS);
613
634
  setActiveSessionIdFact(null);