@abstraxn/signer-react 1.0.10 → 1.0.12

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/CHANGELOG.md CHANGED
@@ -5,6 +5,26 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+
9
+
10
+ ## [1.0.12] - 2026-02-18
11
+
12
+ ### Fixed
13
+
14
+ - **Wagmi store cookie reset on theme change** – Changing the app theme (e.g. light/dark toggle) no longer clears the wagmi connection state. The wagmi config `useMemo` now depends on a stable `chainsKey` (sorted chain IDs string) instead of the `wagmiChains` array reference, so the config is not recreated when only theme or other unrelated props change, and the `wagmi.store` cookie (and connection) is preserved.
15
+
16
+ - **Onboarding modal theme not updating with app theme** – When toggling app theme to dark mode, the full onboarding modal (card background, overlay, and wallet buttons) now updates correctly. Previously only the wallet list buttons appeared to change while the rest of the modal stayed light. The SDK now syncs `config.ui.theme` to OnboardingUIWeb when it changes (via `setTheme`), and `setTheme` updates both the root container and the modal content wrapper theme class so the entire modal reflects dark/light.
17
+
18
+ ### Changed
19
+
20
+ - **TypeScript** – Wagmi theme ref is now typed as `useRef<"light" | "dark">` so it is assignable to `createWagmiConfig`’s theme parameter. Hydration guard `useEffect` explicitly returns `undefined` when no cleanup is needed to satisfy "Not all code paths return a value."
21
+
22
+ ## [1.0.11] - 2026-02-16
23
+
24
+ ### Fixed
25
+
26
+ - **External wallet "session expired" when refresh would fix it** – When an external wallet (e.g. WalletConnect) hit "Connector not connected" due to in-memory state desync (session still valid, but wagmi state stale), the SDK now waits 400ms after reconnect so wagmi can update connector state, then retries getting the wallet client or the operation. If that still fails, it retries once more after a 300ms delay before showing "Your wallet session expired or was disconnected. Please reconnect your wallet." This fixes the case where the app appeared disconnected on submit (e.g. `useWriteContract`, `signMessage`, `sendTransaction`) but worked again after a page refresh. Applied in `useWriteContract` (hooks.ts), `signMessage`, and `sendTransaction` (AbstraxnProviderInner).
27
+
8
28
  ## [1.0.9] - 2026-02-11
9
29
 
10
30
  ### Fixed
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  * Main AbstraxnProvider component
4
4
  * Handles QueryClient/WagmiProvider setup and conditional rendering
5
5
  */
6
- import { useMemo } from "react";
6
+ import { useMemo, useRef, useEffect, useState } from "react";
7
7
  import { WagmiProvider } from "wagmi";
8
8
  import { createWagmiConfig } from "../../wagmiConfig";
9
9
  import { EVM_CHAINS, toCoreChain } from "../../chains";
@@ -12,9 +12,24 @@ import { AbstraxnProviderWithoutWagmi } from "./AbstraxnProviderWithoutWagmi";
12
12
  import { useQueryClientSafe, QueryClientWrapper, canUseReactQuery } from "./utils";
13
13
  export function AbstraxnProvider({ config, children }) {
14
14
  const externalWalletsEnabled = config.externalWallets?.enabled ?? false;
15
+ const externalSsr = config.externalWallets?.ssr ?? false;
15
16
  // Get or create QueryClient - tries to use existing one from context first
16
17
  // This ensures we use the app's QueryClient instance if it exists, preventing multiple instances
17
18
  const queryClient = useQueryClientSafe();
19
+ // ✅ Hydration guard for SSR - wait for client-side to be ready for wallet detection
20
+ const [isHydrated, setIsHydrated] = useState(() => {
21
+ return typeof window !== 'undefined';
22
+ });
23
+ useEffect(() => {
24
+ if (externalSsr && typeof window !== 'undefined' && !isHydrated) {
25
+ // Wait for wallet injection scripts to run (Phantom, etc.)
26
+ const timer = setTimeout(() => {
27
+ setIsHydrated(true);
28
+ }, 100);
29
+ return () => clearTimeout(timer);
30
+ }
31
+ return undefined;
32
+ }, [externalSsr, isHydrated]);
18
33
  // Create wagmi config if external wallets are enabled
19
34
  // Use useMemo to ensure config is created synchronously during render
20
35
  // This prevents the "Loading wallet connectors..." state from flashing or blocking initial render
@@ -104,8 +119,20 @@ export function AbstraxnProvider({ config, children }) {
104
119
  .sort()
105
120
  .join(",") || "";
106
121
  const walletConnectProjectId = config.externalWallets?.walletConnectProjectId ?? "";
107
- const externalSsr = config.externalWallets?.ssr ?? false;
108
- const themeKey = config.ui?.theme ?? "dark";
122
+ // Stable key for chains so wagmi config is not recreated when only theme (or other
123
+ // unrelated props) change. Prevents wagmi.store cookie from being reset on theme toggle.
124
+ const chainsKey = useMemo(() => wagmiChains
125
+ .map((c) => c.id)
126
+ .sort((a, b) => a - b)
127
+ .join(","), [wagmiChains]);
128
+ // ✅ Use ref for theme to prevent wagmi config recreation on theme changes
129
+ const wagmiThemeRef = useRef(config.ui?.theme === "light" ? "light" : "dark");
130
+ useEffect(() => {
131
+ const currentTheme = config.ui?.theme || "dark";
132
+ if (currentTheme === "light" || currentTheme === "dark") {
133
+ wagmiThemeRef.current = currentTheme;
134
+ }
135
+ }, [config.ui?.theme]);
109
136
  const { wagmiConfig, configError } = useMemo(() => {
110
137
  if (!externalWalletsEnabled)
111
138
  return { wagmiConfig: null, configError: null };
@@ -118,7 +145,7 @@ export function AbstraxnProvider({ config, children }) {
118
145
  config.externalWallets.connectors.length > 0
119
146
  ? config.externalWallets.connectors
120
147
  : undefined;
121
- const configResult = createWagmiConfig(wagmiChains, config.externalWallets?.walletConnectProjectId, connectors, config.ui?.theme || "dark", config.externalWallets?.ssr);
148
+ const configResult = createWagmiConfig(wagmiChains, config.externalWallets?.walletConnectProjectId, connectors, wagmiThemeRef.current, config.externalWallets?.ssr);
122
149
  return { wagmiConfig: configResult, configError: null };
123
150
  }
124
151
  catch (error) {
@@ -132,10 +159,9 @@ export function AbstraxnProvider({ config, children }) {
132
159
  }
133
160
  }, [
134
161
  externalWalletsEnabled,
135
- wagmiChains,
162
+ chainsKey,
136
163
  connectorsKey,
137
164
  walletConnectProjectId,
138
- themeKey,
139
165
  externalSsr,
140
166
  config.wagmiConfig,
141
167
  ]);
@@ -161,6 +187,11 @@ export function AbstraxnProvider({ config, children }) {
161
187
  // Don't render AbstraxnProviderInner until wagmiConfig is ready
162
188
  return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx("div", { style: { display: "none" }, children: "Loading wallet connectors..." }) }));
163
189
  }
190
+ // ✅ For SSR mode, wait for hydration before rendering WagmiProvider
191
+ // This ensures injected wallets (Phantom, etc.) are detected properly
192
+ if (externalSsr && !isHydrated) {
193
+ return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx("div", { style: { display: "none" }, children: "Hydrating wallet connectors..." }) }));
194
+ }
164
195
  // Do NOT pass key to WagmiProvider. Remounting loses connection state and causes
165
196
  // "Connector not connected" in Next.js (e.g. when config loads after hydration).
166
197
  return (_jsx(QueryClientWrapper, { queryClient: queryClient, children: _jsx(WagmiProvider, { config: wagmiConfig, initialState: config.initialState, children: _jsx(AbstraxnProviderWithWagmi, { config: config, children: children }) }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"AbstraxnProvider.js","sourceRoot":"","sources":["../../../../src/components/AbstraxnProvider/AbstraxnProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstraxnProvider.js","sourceRoot":"","sources":["../../../../src/components/AbstraxnProvider/AbstraxnProvider.tsx"],"names":[],"mappings":"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"}
@@ -979,6 +979,17 @@ export function AbstraxnProviderInner({ config, children, base, wagmi, }) {
979
979
  }
980
980
  };
981
981
  }, []); // Only run once on mount
982
+ // Sync theme to OnboardingUIWeb when config.ui.theme changes (e.g. app theme toggle)
983
+ // So the full modal (card + overlay) goes dark/light, not just the React-mounted wallet buttons
984
+ const currentTheme = config.ui?.theme || "light";
985
+ useEffect(() => {
986
+ if (!onboardingRef.current)
987
+ return;
988
+ const onboarding = onboardingRef.current;
989
+ if (typeof onboarding.setTheme === "function") {
990
+ onboarding.setTheme(currentTheme);
991
+ }
992
+ }, [currentTheme]);
982
993
  // Ref to store the root instance to prevent re-mounting (defined early)
983
994
  const externalWalletRootRef = useRef(null);
984
995
  const externalWalletMountedRef = useRef(false);
@@ -1520,13 +1531,25 @@ export function AbstraxnProviderInner({ config, children, base, wagmi, }) {
1520
1531
  ? [wagmiAccount.connector]
1521
1532
  : undefined,
1522
1533
  });
1534
+ // Give wagmi time to update connector state after reconnect (fixes desync where refresh would work)
1535
+ await new Promise((r) => setTimeout(r, 400));
1523
1536
  const signature = await wagmiSignMessage.signMessageAsync({
1524
1537
  message,
1525
1538
  });
1526
1539
  return signature;
1527
1540
  }
1528
1541
  catch (reconnectErr) {
1529
- // Reconnect or retry failed, fall through to user-facing error
1542
+ // First retry failed; try once more after delay
1543
+ try {
1544
+ await new Promise((r) => setTimeout(r, 300));
1545
+ const signature = await wagmiSignMessage.signMessageAsync({
1546
+ message,
1547
+ });
1548
+ return signature;
1549
+ }
1550
+ catch {
1551
+ // Reconnect or retry failed, fall through to user-facing error
1552
+ }
1530
1553
  }
1531
1554
  }
1532
1555
  const error = isConnectorNotConnected
@@ -1621,11 +1644,21 @@ export function AbstraxnProviderInner({ config, children, base, wagmi, }) {
1621
1644
  ? [wagmiAccount.connector]
1622
1645
  : undefined,
1623
1646
  });
1647
+ // Give wagmi time to update connector state after reconnect (fixes desync where refresh would work)
1648
+ await new Promise((r) => setTimeout(r, 400));
1624
1649
  const hash = await wagmiSendTransaction.sendTransactionAsync(wagmiTx);
1625
1650
  return { hash };
1626
1651
  }
1627
1652
  catch (reconnectErr) {
1628
- // Reconnect or retry failed, fall through to user-facing error
1653
+ // First retry failed; try once more after delay
1654
+ try {
1655
+ await new Promise((r) => setTimeout(r, 300));
1656
+ const hash = await wagmiSendTransaction.sendTransactionAsync(wagmiTx);
1657
+ return { hash };
1658
+ }
1659
+ catch {
1660
+ // Reconnect or retry failed, fall through to user-facing error
1661
+ }
1629
1662
  }
1630
1663
  }
1631
1664
  const error = isConnectorNotConnected