@unisim/sdk 0.110.0 → 0.110.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/dist/auth.d.ts +18 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +23 -5
- package/dist/auth.js.map +1 -1
- package/package.json +1 -1
package/dist/auth.d.ts
CHANGED
|
@@ -7,6 +7,24 @@ export interface UseUserResult {
|
|
|
7
7
|
} | null;
|
|
8
8
|
loading: boolean;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* The signed-in user, narrowed to the two fields nearly every caller wants.
|
|
12
|
+
*
|
|
13
|
+
* ⚠️ MEMOISED, and that is not a micro-optimisation. This used to build a fresh
|
|
14
|
+
* `{ id, email }` literal on every render, so `user` was a NEW value each time
|
|
15
|
+
* and any consumer writing `useEffect(..., [user])` re-ran that effect on every
|
|
16
|
+
* render. Where the effect also set state — which is most of them, since the
|
|
17
|
+
* reason to watch the session is to go and fetch something — that is a render
|
|
18
|
+
* loop, not a wasted call. Universal BlackBook's vault sync hit exactly this on
|
|
19
|
+
* 2026-08-25 and ran ~320 hydrations a SECOND, each one a Supabase round trip,
|
|
20
|
+
* an IndexedDB read and an AES-GCM decrypt, until the tab made the whole
|
|
21
|
+
* browser sluggish. It only ever showed up while signed IN: signed out the
|
|
22
|
+
* object is a plain `null`, which is stable, which is why it hid for months.
|
|
23
|
+
*
|
|
24
|
+
* Keyed on the id and email rather than on `session`, because supabase-js
|
|
25
|
+
* replaces the session object on every token refresh while the person behind it
|
|
26
|
+
* has not changed.
|
|
27
|
+
*/
|
|
10
28
|
export declare function useUser(): UseUserResult;
|
|
11
29
|
export interface UseOrgResult {
|
|
12
30
|
org: Organisation | null;
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAMvD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IACjD,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,OAAO,IAAI,aAAa,CAMvC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,YAAY,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,YAAY,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC7C;AAED,wBAAgB,MAAM,IAAI,YAAY,CAkErC;AAED,MAAM,WAAW,gBAAgB;IAC/B,wGAAwG;IACxG,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,iEAAiE;IACjE,eAAe,EAAE,OAAO,CAAA;IACxB,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,gBAAgB,CAoD7C;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,EACrD,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,kEAGjB;AAED,wBAAsB,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC;;GAElF"}
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAMvD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IACjD,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,OAAO,IAAI,aAAa,CAMvC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,YAAY,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,YAAY,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC7C;AAED,wBAAgB,MAAM,IAAI,YAAY,CAkErC;AAED,MAAM,WAAW,gBAAgB;IAC/B,wGAAwG;IACxG,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,iEAAiE;IACjE,eAAe,EAAE,OAAO,CAAA;IACxB,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,gBAAgB,CAoD7C;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,EACrD,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,kEAGjB;AAED,wBAAsB,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC;;GAElF"}
|
package/dist/auth.js
CHANGED
|
@@ -1,15 +1,33 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { useEffect, useState } from 'react';
|
|
2
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
3
3
|
import { useUniversal } from './provider.js';
|
|
4
4
|
// Kept in sync with PLATFORM_ADMIN_EMAIL in admin.ts (not imported to avoid a
|
|
5
5
|
// cycle: admin.ts already imports from this module).
|
|
6
6
|
const PLATFORM_ADMIN_EMAIL = 'accounts@unisim.co.uk';
|
|
7
|
+
/**
|
|
8
|
+
* The signed-in user, narrowed to the two fields nearly every caller wants.
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ MEMOISED, and that is not a micro-optimisation. This used to build a fresh
|
|
11
|
+
* `{ id, email }` literal on every render, so `user` was a NEW value each time
|
|
12
|
+
* and any consumer writing `useEffect(..., [user])` re-ran that effect on every
|
|
13
|
+
* render. Where the effect also set state — which is most of them, since the
|
|
14
|
+
* reason to watch the session is to go and fetch something — that is a render
|
|
15
|
+
* loop, not a wasted call. Universal BlackBook's vault sync hit exactly this on
|
|
16
|
+
* 2026-08-25 and ran ~320 hydrations a SECOND, each one a Supabase round trip,
|
|
17
|
+
* an IndexedDB read and an AES-GCM decrypt, until the tab made the whole
|
|
18
|
+
* browser sluggish. It only ever showed up while signed IN: signed out the
|
|
19
|
+
* object is a plain `null`, which is stable, which is why it hid for months.
|
|
20
|
+
*
|
|
21
|
+
* Keyed on the id and email rather than on `session`, because supabase-js
|
|
22
|
+
* replaces the session object on every token refresh while the person behind it
|
|
23
|
+
* has not changed.
|
|
24
|
+
*/
|
|
7
25
|
export function useUser() {
|
|
8
26
|
const { session, loading } = useUniversal();
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
};
|
|
27
|
+
const id = session?.user?.id ?? null;
|
|
28
|
+
const email = session?.user?.email ?? null;
|
|
29
|
+
const user = useMemo(() => (id ? { id, email } : null), [id, email]);
|
|
30
|
+
return { user, loading };
|
|
13
31
|
}
|
|
14
32
|
export function useOrg() {
|
|
15
33
|
const { supabase, session, activeOrgId, setActiveOrgId } = useUniversal();
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED