@sublay/core 7.1.0 → 7.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.
@@ -27,6 +27,19 @@ function extractExpFromJwt(jwt) {
27
27
  return 0;
28
28
  }
29
29
  }
30
+ // A JWT's `sub` claim — the user id it was minted for. Used to detect a transient token/user
31
+ // desync before we persist an account entry.
32
+ function extractSubFromJwt(jwt) {
33
+ if (!jwt)
34
+ return null;
35
+ try {
36
+ const payload = JSON.parse(base64UrlDecode(jwt.split(".")[1]));
37
+ return typeof payload.sub === "string" ? payload.sub : null;
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
30
43
  function useAccountSync(storage, projectId) {
31
44
  const dispatch = (0, hooks_1.useSublayDispatch)();
32
45
  const refreshToken = (0, hooks_1.useSublaySelector)(authSlice_1.selectRefreshToken);
@@ -68,6 +81,21 @@ function useAccountSync(storage, projectId) {
68
81
  (0, react_1.useEffect)(() => {
69
82
  if (!isReady || !refreshToken || !user?.id)
70
83
  return;
84
+ // Guard against a transient token/user desync. The accounts map keys by user.id but the entry
85
+ // stores the CURRENT refresh token, so if the two are momentarily mismatched we'd persist the
86
+ // wrong pairing — two account ids sharing one refresh token, a corrupt map that breaks switching
87
+ // and sign-out. Two flows cause this: (1) an OAuth callback sets the new tokens via setTokens
88
+ // while `user` only resolves a tick later, and (2) cross-tab sync (Phase D) swaps in another
89
+ // account's refresh token while this tab's `user` is still the previous account.
90
+ //
91
+ // The refresh token is itself a JWT whose `sub` is the id it was minted for — and it's the
92
+ // credential we're about to store — so validate ITS sub against the current user (the access
93
+ // token can be staler than the refresh token, e.g. case 2, so it isn't a reliable signal here).
94
+ // Only persist once they agree; otherwise skip and wait — the effect re-runs (deps: refreshToken,
95
+ // user) when they catch up.
96
+ const sub = extractSubFromJwt(refreshToken);
97
+ if (sub && sub !== user.id)
98
+ return;
71
99
  const summary = {
72
100
  id: user.id,
73
101
  name: user.name ?? null,
@@ -100,7 +128,11 @@ function useAccountSync(storage, projectId) {
100
128
  }, [accounts, activeAccountId, isReady]);
101
129
  // Phase D: Cross-tab sync (web only)
102
130
  (0, react_1.useEffect)(() => {
103
- if (typeof window === "undefined")
131
+ // React Native exposes a partial `window` global without the DOM event API,
132
+ // so `typeof window === "undefined"` passes there and then crashes on
133
+ // window.addEventListener. Require the listener API to actually exist.
134
+ if (typeof window === "undefined" ||
135
+ typeof window.addEventListener !== "function")
104
136
  return;
105
137
  const storageKey = `sublay-accounts:${projectId}`;
106
138
  const handleStorageEvent = (event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountSync.js","sourceRoot":"","sources":["../../../../src/hooks/auth/useAccountSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAccountSync.js","sourceRoot":"","sources":["../../../../src/hooks/auth/useAccountSync.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,19 @@ function extractExpFromJwt(jwt) {
24
24
  return 0;
25
25
  }
26
26
  }
27
+ // A JWT's `sub` claim — the user id it was minted for. Used to detect a transient token/user
28
+ // desync before we persist an account entry.
29
+ function extractSubFromJwt(jwt) {
30
+ if (!jwt)
31
+ return null;
32
+ try {
33
+ const payload = JSON.parse(base64UrlDecode(jwt.split(".")[1]));
34
+ return typeof payload.sub === "string" ? payload.sub : null;
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
27
40
  export default function useAccountSync(storage, projectId) {
28
41
  const dispatch = useSublayDispatch();
29
42
  const refreshToken = useSublaySelector(selectRefreshToken);
@@ -65,6 +78,21 @@ export default function useAccountSync(storage, projectId) {
65
78
  useEffect(() => {
66
79
  if (!isReady || !refreshToken || !user?.id)
67
80
  return;
81
+ // Guard against a transient token/user desync. The accounts map keys by user.id but the entry
82
+ // stores the CURRENT refresh token, so if the two are momentarily mismatched we'd persist the
83
+ // wrong pairing — two account ids sharing one refresh token, a corrupt map that breaks switching
84
+ // and sign-out. Two flows cause this: (1) an OAuth callback sets the new tokens via setTokens
85
+ // while `user` only resolves a tick later, and (2) cross-tab sync (Phase D) swaps in another
86
+ // account's refresh token while this tab's `user` is still the previous account.
87
+ //
88
+ // The refresh token is itself a JWT whose `sub` is the id it was minted for — and it's the
89
+ // credential we're about to store — so validate ITS sub against the current user (the access
90
+ // token can be staler than the refresh token, e.g. case 2, so it isn't a reliable signal here).
91
+ // Only persist once they agree; otherwise skip and wait — the effect re-runs (deps: refreshToken,
92
+ // user) when they catch up.
93
+ const sub = extractSubFromJwt(refreshToken);
94
+ if (sub && sub !== user.id)
95
+ return;
68
96
  const summary = {
69
97
  id: user.id,
70
98
  name: user.name ?? null,
@@ -97,7 +125,11 @@ export default function useAccountSync(storage, projectId) {
97
125
  }, [accounts, activeAccountId, isReady]);
98
126
  // Phase D: Cross-tab sync (web only)
99
127
  useEffect(() => {
100
- if (typeof window === "undefined")
128
+ // React Native exposes a partial `window` global without the DOM event API,
129
+ // so `typeof window === "undefined"` passes there and then crashes on
130
+ // window.addEventListener. Require the listener API to actually exist.
131
+ if (typeof window === "undefined" ||
132
+ typeof window.addEventListener !== "function")
101
133
  return;
102
134
  const storageKey = `sublay-accounts:${projectId}`;
103
135
  const handleStorageEvent = (event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountSync.js","sourceRoot":"","sources":["../../../../src/hooks/auth/useAccountSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAccountSync.js","sourceRoot":"","sources":["../../../../src/hooks/auth/useAccountSync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sublay/core",
3
- "version": "7.1.0",
3
+ "version": "7.1.1",
4
4
  "private": false,
5
5
  "license": "Apache-2.0",
6
6
  "author": "Sublay, maintained by Yanay Tsabary",