@gonvex/react 0.1.10 → 0.1.11

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/README.md CHANGED
@@ -45,7 +45,36 @@ function Tasks() {
45
45
 
46
46
  `useQuery` automatically benefits from the browser query-result cache. On a
47
47
  warm load it may receive the last scoped snapshot first, followed by the
48
- authoritative server result. Its signature and return type do not change.
48
+ authoritative server result. Its signature remains `T | undefined`, but a
49
+ server `query.error` now **throws** during render (Convex-compatible) so error
50
+ boundaries can catch it instead of looking like an endless loading state.
51
+
52
+ ### `useQueryResult` (preferred for new UI)
53
+
54
+ Use when you need loading vs error vs timeout vs disconnected, last-good data,
55
+ or a retry button:
56
+
57
+ ```tsx
58
+ const { data, status, error, isStale, retry } = useQueryResult(api.tasks.list, { status: "open" });
59
+
60
+ if (status === "loading" && !data) return <Spinner />;
61
+ if (status === "error") {
62
+ return <button onClick={retry}>Retry: {error?.message}</button>;
63
+ }
64
+ // status success | timeout | disconnected — data may still be last-good (isStale)
65
+ ```
66
+
67
+ Statuses: `skip` | `loading` | `success` | `error` | `timeout` | `disconnected`.
68
+ Soft timeout default is 15s (subscription stays alive; does not reject).
69
+
70
+ ### Connection state
71
+
72
+ ```tsx
73
+ const { isWebSocketConnected, hasEverConnected, connectionRetries } = useConvexConnectionState();
74
+ ```
75
+
76
+ This reflects the real WebSocket lifecycle (not a stub). Mutations/actions
77
+ reject with `GonvexClientError` on timeout or disconnect and never hang forever.
49
78
 
50
79
  ## Native Google auth
51
80
 
@@ -87,7 +116,9 @@ The package also exports Convex-style names for incremental migration:
87
116
  - `ConvexReactClient`
88
117
  - `useConvex`
89
118
  - `useConvexAuth`
119
+ - `useConvexConnectionState`
90
120
  - `usePaginatedQuery`
121
+ - `useQueryResult`
91
122
 
92
123
  ## Related Packages
93
124
 
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type ButtonHTMLAttributes, type ReactNode } from "react";
2
- import { ConvexReactClient, type FunctionReference, type GonvexClient } from "@gonvex/client";
2
+ import { ConvexReactClient, type ConnectionState, type FunctionReference, type GonvexClient } from "@gonvex/client";
3
3
  import type { JsonValue } from "@gonvex/protocol";
4
+ export { GonvexClientError, type ConnectionState } from "@gonvex/client";
4
5
  export declare const ConvexProvider: typeof GonvexProvider;
5
6
  export declare function GonvexProvider(props: {
6
7
  client: GonvexClient;
@@ -57,12 +58,6 @@ export declare function ConvexProviderWithAuth(props: {
57
58
  children: ReactNode;
58
59
  useAuth: () => AuthState;
59
60
  }): import("react/jsx-runtime").JSX.Element;
60
- /**
61
- * Native Gonvex authentication. The runtime performs the one centrally
62
- * configured Google OAuth flow, while each app uses PKCE and receives a
63
- * project-scoped Gonvex session. No Firebase or Google SDK is loaded in the
64
- * browser.
65
- */
66
61
  export declare function GonvexAuthProvider(props: GonvexAuthConfig & {
67
62
  client: GonvexClient;
68
63
  children: ReactNode;
@@ -79,15 +74,49 @@ export declare function createGonvexAuth(config: GonvexAuthConfig): {
79
74
  GoogleSignInButton: typeof GonvexGoogleAuthButton;
80
75
  useGonvexAuth: typeof useGonvexAuth;
81
76
  };
77
+ export type QueryStatus = "skip" | "loading" | "success" | "error" | "timeout" | "disconnected";
78
+ export type UseQueryResultOptions = {
79
+ /**
80
+ * Soft "pending too long" signal for the live subscription. When no result
81
+ * or error has arrived within this window the status becomes `timeout`
82
+ * (the subscription stays alive; `retry()` re-requests). Default 15s.
83
+ * `0` disables.
84
+ */
85
+ timeoutMs?: number;
86
+ /**
87
+ * Keep showing the last successful data (with `isStale: true`) while the
88
+ * query is erroring, timing out, or disconnected. Default true.
89
+ */
90
+ keepPreviousData?: boolean;
91
+ };
92
+ export type UseQueryResult<T> = {
93
+ data: T | undefined;
94
+ status: QueryStatus;
95
+ error: Error | null;
96
+ isLoading: boolean;
97
+ isError: boolean;
98
+ isSuccess: boolean;
99
+ /** True while showing last good data during an error/timeout/reconnect. */
100
+ isStale: boolean;
101
+ /** Re-request the query from the server (drops error/timeout state). */
102
+ retry: () => void;
103
+ };
104
+ /**
105
+ * Live query hook with an explicit status surface. Unlike `useQuery`, this
106
+ * distinguishes loading / success / error / timeout / disconnected, keeps the
107
+ * last good result while reconnecting, and exposes `retry()`.
108
+ */
109
+ export declare function useQueryResult<T = JsonValue>(ref: FunctionReference, args?: JsonValue | "skip", options?: UseQueryResultOptions): UseQueryResult<T>;
82
110
  export declare function useQuery<T = JsonValue>(ref: FunctionReference, args?: JsonValue | "skip"): T | undefined;
83
- export declare function useMutation(ref: FunctionReference): (args?: JsonValue) => Promise<JsonValue>;
84
- export declare function useAction(ref: FunctionReference): (args?: JsonValue) => Promise<JsonValue>;
111
+ export type UseMutationOptions = {
112
+ /** Per-call timeout override forwarded to the client. `0` disables. */
113
+ timeoutMs?: number;
114
+ };
115
+ export declare function useMutation(ref: FunctionReference, options?: UseMutationOptions): (args?: JsonValue) => Promise<JsonValue>;
116
+ export declare function useAction(ref: FunctionReference, options?: UseMutationOptions): (args?: JsonValue) => Promise<JsonValue>;
85
117
  export declare function useConvex(): GonvexClient;
86
118
  export declare function useConvexAuth(): AuthState;
87
- export declare function useConvexConnectionState(): {
88
- hasInflightRequests: boolean;
89
- isWebSocketConnected: boolean;
90
- };
119
+ export declare function useConvexConnectionState(): ConnectionState;
91
120
  export declare function usePaginatedQuery<T = JsonValue>(ref: FunctionReference, args?: JsonValue | "skip", options?: {
92
121
  initialNumItems?: number;
93
122
  }): {
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
3
- import { ConvexReactClient } from "@gonvex/client";
3
+ import { ConvexReactClient, GonvexClientError } from "@gonvex/client";
4
+ export { GonvexClientError } from "@gonvex/client";
4
5
  const GonvexContext = createContext(null);
5
6
  const GonvexAuthContext = createContext({ isLoading: false, isAuthenticated: true });
6
7
  export const ConvexProvider = GonvexProvider;
@@ -49,6 +50,10 @@ export function ConvexProviderWithAuth(props) {
49
50
  * project-scoped Gonvex session. No Firebase or Google SDK is loaded in the
50
51
  * browser.
51
52
  */
53
+ // Dedupe callback bootstrap across React StrictMode remounts so the OAuth
54
+ // code+PKCE exchange runs once. Without this, the first effect's finally
55
+ // clears sessionStorage PKCE before the remount can finish verification.
56
+ const authBootstrapPromises = new Map();
52
57
  export function GonvexAuthProvider(props) {
53
58
  const runtimeUrl = props.runtimeUrl.replace(/\/+$/, "");
54
59
  const callbackPath = normalizeCallbackPath(props.callbackPath ?? "/");
@@ -59,7 +64,6 @@ export function GonvexAuthProvider(props) {
59
64
  const [error, setError] = useState(null);
60
65
  const [refreshRetryAt, setRefreshRetryAt] = useState(0);
61
66
  const sessionRef = useRef(session);
62
- const bootstrapRef = useRef(null);
63
67
  const refreshRef = useRef(null);
64
68
  const installSession = useCallback((next, persist = true) => {
65
69
  sessionRef.current = next;
@@ -77,10 +81,21 @@ export function GonvexAuthProvider(props) {
77
81
  }, [props.client, props.projectId, storageKey]);
78
82
  useEffect(() => {
79
83
  let cancelled = false;
80
- if (!bootstrapRef.current) {
81
- bootstrapRef.current = bootstrapGonvexAuth({ callbackPath, pkceStorageKey, projectId: props.projectId, runtimeUrl, storageKey });
84
+ let bootstrap = authBootstrapPromises.get(storageKey);
85
+ if (!bootstrap) {
86
+ bootstrap = bootstrapGonvexAuth({ callbackPath, pkceStorageKey, projectId: props.projectId, runtimeUrl, storageKey })
87
+ .finally(() => {
88
+ // Keep the resolved promise briefly so a StrictMode remount attaches
89
+ // to the same result instead of re-running a spent OAuth code.
90
+ window.setTimeout(() => {
91
+ if (authBootstrapPromises.get(storageKey) === bootstrap) {
92
+ authBootstrapPromises.delete(storageKey);
93
+ }
94
+ }, 0);
95
+ });
96
+ authBootstrapPromises.set(storageKey, bootstrap);
82
97
  }
83
- void bootstrapRef.current.then((next) => {
98
+ void bootstrap.then((next) => {
84
99
  if (!cancelled)
85
100
  installSession(next);
86
101
  }).catch((cause) => {
@@ -89,7 +104,6 @@ export function GonvexAuthProvider(props) {
89
104
  setError(cause instanceof Error ? cause.message : "Google sign-in failed.");
90
105
  }
91
106
  }).finally(() => {
92
- safeSessionStorageRemove(pkceStorageKey);
93
107
  if (!cancelled)
94
108
  setIsLoading(false);
95
109
  });
@@ -361,23 +375,38 @@ async function bootstrapGonvexAuth(options) {
361
375
  }
362
376
  }
363
377
  const pkce = readPKCE(options.pkceStorageKey);
364
- clearAuthCallbackParams(url, pkce?.returnTo);
365
- if (!pkce || !returnedState || returnedState !== pkce.state || Date.now() - pkce.createdAt > 10 * 60 * 1000) {
366
- throw new Error("The Google sign-in response could not be verified. Please try again.");
367
- }
378
+ // Prefer surfacing the runtime/Google error when PKCE is missing (e.g. after
379
+ // a StrictMode remount or a second tab), rather than always saying "verified".
368
380
  if (callbackError) {
369
381
  const messages = {
370
382
  access_denied: "Google sign-in was cancelled.",
371
383
  invitation_required: "This app is invite-only. Ask an administrator to invite your verified Google email.",
372
384
  verified_google_email_required: "Google must provide a verified email address for this app.",
373
385
  membership_setup_failed: "Your account was verified, but its workspace could not be prepared. Please try again.",
386
+ google_exchange_failed: "Google rejected the sign-in code exchange. Check GONVEX_GOOGLE_CLIENT_ID/SECRET and the broker callback URI.",
387
+ invalid_google_identity: "Google identity verification failed. Please try again.",
388
+ account_creation_failed: "Your Google account could not be linked. Please try again.",
389
+ code_creation_failed: "Gonvex could not finish creating a sign-in code. Please try again.",
374
390
  };
375
- throw new Error(messages[callbackError] ?? "Google sign-in failed. Please try again.");
391
+ safeSessionStorageRemove(options.pkceStorageKey);
392
+ clearAuthCallbackParams(url, pkce?.returnTo);
393
+ throw new Error(messages[callbackError] ?? `Google sign-in failed (${callbackError}). Please try again.`);
394
+ }
395
+ if (!pkce || !returnedState || returnedState !== pkce.state || Date.now() - pkce.createdAt > 10 * 60 * 1000) {
396
+ clearAuthCallbackParams(url, pkce?.returnTo);
397
+ throw new Error("The Google sign-in response could not be verified. Please try again.");
376
398
  }
377
- return requestGonvexAuthToken(options.runtimeUrl, {
399
+ // Consume PKCE only after validation so a concurrent remount still sees it.
400
+ safeSessionStorageRemove(options.pkceStorageKey);
401
+ clearAuthCallbackParams(url, pkce.returnTo);
402
+ const session = await requestGonvexAuthToken(options.runtimeUrl, {
378
403
  grantType: "authorization_code", project: options.projectId, code,
379
404
  codeVerifier: pkce.verifier, redirectUri: pkce.redirectUri,
380
405
  });
406
+ // Persist before returning so a StrictMode remount can recover the session
407
+ // even if the first effect was cancelled before installSession.
408
+ safeLocalStorageSet(options.storageKey, JSON.stringify(session));
409
+ return session;
381
410
  }
382
411
  async function requestGonvexAuthToken(runtimeUrl, body) {
383
412
  const controller = new AbortController();
@@ -519,25 +548,165 @@ function bytesToBase64Url(bytes) {
519
548
  binary += String.fromCharCode(byte);
520
549
  return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
521
550
  }
551
+ const DEFAULT_LIVE_QUERY_SLOW_MS = 15_000;
552
+ /**
553
+ * Live query hook with an explicit status surface. Unlike `useQuery`, this
554
+ * distinguishes loading / success / error / timeout / disconnected, keeps the
555
+ * last good result while reconnecting, and exposes `retry()`.
556
+ */
557
+ export function useQueryResult(ref, args = {}, options = {}) {
558
+ const client = useGonvexClient();
559
+ const path = ref.path;
560
+ const kind = ref.kind;
561
+ const argsKey = JSON.stringify(args);
562
+ const keepPreviousData = options.keepPreviousData !== false;
563
+ const timeoutMs = options.timeoutMs ?? DEFAULT_LIVE_QUERY_SLOW_MS;
564
+ const [state, setState] = useState({
565
+ data: undefined,
566
+ status: args === "skip" ? "skip" : "loading",
567
+ error: null,
568
+ isStale: false,
569
+ });
570
+ const slowTimerRef = useRef(null);
571
+ const clearSlowTimer = useCallback(() => {
572
+ if (slowTimerRef.current !== null) {
573
+ clearTimeout(slowTimerRef.current);
574
+ slowTimerRef.current = null;
575
+ }
576
+ }, []);
577
+ const startSlowTimer = useCallback(() => {
578
+ clearSlowTimer();
579
+ if (timeoutMs <= 0)
580
+ return;
581
+ slowTimerRef.current = setTimeout(() => {
582
+ slowTimerRef.current = null;
583
+ setState((previous) => {
584
+ if (previous.status !== "loading")
585
+ return previous;
586
+ return { ...previous, status: "timeout", isStale: previous.data !== undefined };
587
+ });
588
+ }, timeoutMs);
589
+ }, [clearSlowTimer, timeoutMs]);
590
+ useEffect(() => {
591
+ if (args === "skip") {
592
+ setState({ data: undefined, status: "skip", error: null, isStale: false });
593
+ return;
594
+ }
595
+ setState({ data: undefined, status: "loading", error: null, isStale: false });
596
+ startSlowTimer();
597
+ const unsubscribeScope = client.onSessionScopeChange(() => {
598
+ setState({ data: undefined, status: "loading", error: null, isStale: false });
599
+ startSlowTimer();
600
+ });
601
+ const unsubscribeQuery = client.subscribeQuery({ kind, path }, args, (message) => {
602
+ if (message.type === "query.result") {
603
+ clearSlowTimer();
604
+ setState({ data: message.result, status: "success", error: null, isStale: false });
605
+ }
606
+ if (message.type === "query.error") {
607
+ clearSlowTimer();
608
+ const error = new GonvexClientError(message.error, { code: "server", path, operation: "query" });
609
+ setState((previous) => ({
610
+ data: keepPreviousData ? previous.data : undefined,
611
+ status: "error",
612
+ error,
613
+ isStale: keepPreviousData && previous.data !== undefined,
614
+ }));
615
+ }
616
+ });
617
+ const applyConnection = (connection) => {
618
+ if (!connection.isWebSocketConnected) {
619
+ clearSlowTimer();
620
+ setState((previous) => {
621
+ if (previous.status === "skip")
622
+ return previous;
623
+ return {
624
+ data: keepPreviousData ? previous.data : undefined,
625
+ status: "disconnected",
626
+ error: previous.error,
627
+ isStale: keepPreviousData && previous.data !== undefined,
628
+ };
629
+ });
630
+ return;
631
+ }
632
+ // The client resubscribes live queries itself on reconnect; report
633
+ // loading until the fresh result lands.
634
+ setState((previous) => {
635
+ if (previous.status !== "disconnected")
636
+ return previous;
637
+ startSlowTimer();
638
+ return { ...previous, status: "loading" };
639
+ });
640
+ };
641
+ const unsubscribeConnection = typeof client.subscribeToConnectionState === "function"
642
+ ? (() => {
643
+ if (typeof client.connectionState === "function") {
644
+ applyConnection(client.connectionState());
645
+ }
646
+ return client.subscribeToConnectionState(applyConnection);
647
+ })()
648
+ : undefined;
649
+ return () => {
650
+ clearSlowTimer();
651
+ unsubscribeScope();
652
+ unsubscribeQuery();
653
+ unsubscribeConnection?.();
654
+ };
655
+ // eslint-disable-next-line react-hooks/exhaustive-deps
656
+ }, [client, kind, path, argsKey, keepPreviousData, startSlowTimer, clearSlowTimer]);
657
+ const retry = useCallback(() => {
658
+ if (args === "skip")
659
+ return;
660
+ setState((previous) => ({
661
+ data: previous.data,
662
+ status: "loading",
663
+ error: null,
664
+ isStale: previous.data !== undefined,
665
+ }));
666
+ startSlowTimer();
667
+ if (typeof client.retryQuery === "function") {
668
+ client.retryQuery({ kind, path }, JSON.parse(argsKey));
669
+ }
670
+ // eslint-disable-next-line react-hooks/exhaustive-deps
671
+ }, [client, kind, path, argsKey, startSlowTimer]);
672
+ return {
673
+ data: state.data,
674
+ status: state.status,
675
+ error: state.error,
676
+ isLoading: state.status === "loading",
677
+ isError: state.status === "error" || state.status === "timeout" || state.status === "disconnected",
678
+ isSuccess: state.status === "success",
679
+ isStale: state.isStale,
680
+ retry,
681
+ };
682
+ }
522
683
  export function useQuery(ref, args = {}) {
523
684
  const client = useGonvexClient();
524
685
  const [result, setResult] = useState();
686
+ const [error, setError] = useState(null);
525
687
  const path = ref.path;
526
688
  const kind = ref.kind;
527
689
  const argsKey = JSON.stringify(args);
528
690
  useEffect(() => {
529
691
  if (args === "skip") {
530
692
  setResult(undefined);
693
+ setError(null);
531
694
  return;
532
695
  }
533
696
  setResult(undefined);
534
- const unsubscribeScope = client.onSessionScopeChange(() => setResult(undefined));
697
+ setError(null);
698
+ const unsubscribeScope = client.onSessionScopeChange(() => {
699
+ setResult(undefined);
700
+ setError(null);
701
+ });
535
702
  const unsubscribeQuery = client.subscribeQuery({ kind, path }, args, (message) => {
536
703
  if (message.type === "query.result") {
537
704
  setResult(message.result);
705
+ setError(null);
538
706
  }
539
707
  if (message.type === "query.error") {
540
708
  setResult(undefined);
709
+ setError(new GonvexClientError(message.error, { code: "server", path, operation: "query" }));
541
710
  }
542
711
  });
543
712
  return () => {
@@ -545,15 +714,19 @@ export function useQuery(ref, args = {}) {
545
714
  unsubscribeQuery();
546
715
  };
547
716
  }, [client, kind, path, argsKey]);
717
+ // Convex-compatible: a failed query throws during render so error
718
+ // boundaries can catch it, instead of being indistinguishable from loading.
719
+ if (error)
720
+ throw error;
548
721
  return result;
549
722
  }
550
- export function useMutation(ref) {
723
+ export function useMutation(ref, options = {}) {
551
724
  const client = useGonvexClient();
552
- return (args = {}) => client.mutation(ref, args);
725
+ return (args = {}) => client.mutation(ref, args, options);
553
726
  }
554
- export function useAction(ref) {
727
+ export function useAction(ref, options = {}) {
555
728
  const client = useGonvexClient();
556
- return (args = {}) => client.action(ref, args);
729
+ return (args = {}) => client.action(ref, args, options);
557
730
  }
558
731
  export function useConvex() {
559
732
  return useGonvexClient();
@@ -561,8 +734,26 @@ export function useConvex() {
561
734
  export function useConvexAuth() {
562
735
  return useContext(GonvexAuthContext);
563
736
  }
737
+ const FALLBACK_CONNECTION_STATE = {
738
+ isWebSocketConnected: false,
739
+ hasEverConnected: false,
740
+ connectionCount: 0,
741
+ connectionRetries: 0,
742
+ hasInflightRequests: false,
743
+ inflightMutations: 0,
744
+ inflightActions: 0,
745
+ inflightOneShotQueries: 0,
746
+ };
564
747
  export function useConvexConnectionState() {
565
- return { hasInflightRequests: false, isWebSocketConnected: true };
748
+ const client = useGonvexClient();
749
+ const [state, setState] = useState(() => (typeof client.connectionState === "function" ? client.connectionState() : FALLBACK_CONNECTION_STATE));
750
+ useEffect(() => {
751
+ if (typeof client.subscribeToConnectionState !== "function")
752
+ return;
753
+ setState(client.connectionState());
754
+ return client.subscribeToConnectionState(setState);
755
+ }, [client]);
756
+ return state;
566
757
  }
567
758
  export function usePaginatedQuery(ref, args = {}, options = {}) {
568
759
  const pageArgs = args === "skip" ? "skip" : { ...(isRecord(args) ? args : { args }), paginationOpts: { numItems: options.initialNumItems ?? 25, cursor: null } };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gonvex/react",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -13,15 +13,20 @@
13
13
  },
14
14
  "types": "./dist/index.d.ts",
15
15
  "dependencies": {
16
- "@gonvex/client": "0.1.10",
17
- "@gonvex/protocol": "0.1.10"
16
+ "@gonvex/client": "0.1.11",
17
+ "@gonvex/protocol": "0.1.11"
18
18
  },
19
19
  "peerDependencies": {
20
20
  "react": ">=19"
21
21
  },
22
22
  "devDependencies": {
23
+ "@testing-library/react": "^16.3.2",
23
24
  "@types/react": "^19.2.14",
24
- "typescript": "^6.0.3"
25
+ "jsdom": "^29.1.1",
26
+ "react": "^19.2.7",
27
+ "react-dom": "^19.2.7",
28
+ "typescript": "^6.0.3",
29
+ "vitest": "^4.1.6"
25
30
  },
26
31
  "main": "./dist/index.js",
27
32
  "files": [
@@ -31,6 +36,7 @@
31
36
  "scripts": {
32
37
  "build": "tsc -p tsconfig.json",
33
38
  "dev": "tsc -p tsconfig.json --watch --preserveWatchOutput",
39
+ "test": "vitest run",
34
40
  "typecheck": "tsc -p tsconfig.json --noEmit"
35
41
  }
36
42
  }