gg-wf-scripts 8.1.2 → 8.1.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.
package/dist/auth.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { ATTR } from "./attrs.js";
2
+ const GET_USER_TIMEOUT_MS = 10_000;
2
3
  export async function initAuth(context, auth, debug = false) {
3
4
  const { getUser, onChange, roleQuery } = auth;
4
5
  const log = debug
@@ -41,7 +42,13 @@ export async function initAuth(context, auth, debug = false) {
41
42
  let userId = null;
42
43
  try {
43
44
  log("getUser started");
44
- userId = (await getUser()) ?? null;
45
+ // Race against a timeout — a buggy adapter (e.g. Supabase getUser() with an
46
+ // unrecoverable refresh token) can hang forever and leave the body in an
47
+ // undefined auth state.
48
+ userId = await Promise.race([
49
+ Promise.resolve(getUser()).then((v) => v ?? null),
50
+ new Promise((_, reject) => setTimeout(() => reject(new Error(`getUser timed out after ${GET_USER_TIMEOUT_MS}ms`)), GET_USER_TIMEOUT_MS)),
51
+ ]);
45
52
  log("getUser →", userId);
46
53
  }
47
54
  catch (err) {
@@ -51,7 +58,13 @@ export async function initAuth(context, auth, debug = false) {
51
58
  applyAuthAttrs(userId, "initial");
52
59
  if (onChange) {
53
60
  log("subscribing to onChange");
54
- onChange((userId) => applyAuthAttrs(userId ?? null, "onChange"));
61
+ onChange((userId) => {
62
+ // Defer out of the caller's stack frame: Supabase's onAuthStateChange
63
+ // fires while holding an internal auth lock, and any sb.from(...) inside
64
+ // roleQuery needs that same lock — awaiting synchronously deadlocks.
65
+ // Microtasks aren't enough; the lock is released after the current task.
66
+ setTimeout(() => applyAuthAttrs(userId ?? null, "onChange"), 0);
67
+ });
55
68
  }
56
69
  else {
57
70
  log("no onChange adapter — gg-auth won't update on later sign-in/out");
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAWlC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAiB,EACjB,IAA2B,EAC3B,KAAK,GAAG,KAAK;IAEb,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,KAAK;QACf,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;QAC3D,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEb,KAAK,UAAU,cAAc,CAC3B,MAAqB,EACrB,MAAc;QAEd,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,GAAG,CAAC,mBAAmB,MAAM,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,IAAI,GAAkB,IAAI,CAAC;YAC/B,IAAI,CAAC;gBACH,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACzB,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACxC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;gBAC7B,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,8CAA8C,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvB,MAAM,GAAG,CAAC,MAAM,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC;QACnC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAElC,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC/B,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAWnC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAiB,EACjB,IAA2B,EAC3B,KAAK,GAAG,KAAK;IAEb,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,KAAK;QACf,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;QAC3D,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEb,KAAK,UAAU,cAAc,CAC3B,MAAqB,EACrB,MAAc;QAEd,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,GAAG,CAAC,mBAAmB,MAAM,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,IAAI,GAAkB,IAAI,CAAC;YAC/B,IAAI,CAAC;gBACH,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACzB,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACxC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;gBAC7B,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,8CAA8C,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvB,4EAA4E;QAC5E,yEAAyE;QACzE,wBAAwB;QACxB,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;YACjD,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC9B,UAAU,CACR,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,KAAK,CAAC,2BAA2B,mBAAmB,IAAI,CAAC,CAC9D,EACH,mBAAmB,CACpB,CACF;SACF,CAAC,CAAC;QACH,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAElC,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC/B,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE;YAClB,sEAAsE;YACtE,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "8.1.2";
1
+ export declare const VERSION = "8.1.4";
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Auto-generated from package.json by scripts/sync-version.sh. Do not edit.
2
- export const VERSION = "8.1.2";
2
+ export const VERSION = "8.1.4";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gg-wf-scripts",
3
- "version": "8.1.2",
3
+ "version": "8.1.4",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {