@volr/react 0.1.126 → 0.1.128

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/index.cjs CHANGED
@@ -10053,6 +10053,19 @@ function useAutoRecover({
10053
10053
  setAccessTokenState(client.getAccessToken());
10054
10054
  setRefreshTokenState(client.getRefreshToken());
10055
10055
  if (refreshedUser) {
10056
+ if (refreshedUser.keyStorageType === "passkey" && !refreshedUser.evmAddress) {
10057
+ console.error("[Provider] Invalid state: passkey user without evmAddress - clearing session");
10058
+ client.setAccessToken(null);
10059
+ client.setRefreshToken(null);
10060
+ setAccessTokenState(null);
10061
+ setRefreshTokenState(null);
10062
+ setUser(null);
10063
+ setProviderState(null);
10064
+ safeStorage.removeItem(STORAGE_KEYS.user);
10065
+ safeStorage.removeItem(STORAGE_KEYS.provider);
10066
+ setIsLoading(false);
10067
+ return;
10068
+ }
10056
10069
  setUser(refreshedUser);
10057
10070
  if (!REQUIRE_USER_GESTURE_TO_RESTORE) ; else if (refreshedUser.keyStorageType === "passkey") {
10058
10071
  console.log("[Provider] TTL=0 mode: Provider restoration deferred");
@@ -10064,12 +10077,20 @@ function useAutoRecover({
10064
10077
  const userStr = safeStorage.getItem(STORAGE_KEYS.user);
10065
10078
  if (userStr) {
10066
10079
  try {
10067
- setUser(JSON.parse(userStr));
10080
+ const storedUser = JSON.parse(userStr);
10081
+ if (storedUser.keyStorageType === "passkey" && !storedUser.evmAddress) {
10082
+ console.error("[Provider] Invalid stored user: passkey user without evmAddress - clearing");
10083
+ safeStorage.removeItem(STORAGE_KEYS.user);
10084
+ safeStorage.removeItem(STORAGE_KEYS.provider);
10085
+ } else {
10086
+ setUser(storedUser);
10087
+ }
10068
10088
  } catch {
10069
10089
  safeStorage.removeItem(STORAGE_KEYS.user);
10070
10090
  }
10071
10091
  }
10072
10092
  }
10093
+ setIsLoading(false);
10073
10094
  } catch {
10074
10095
  client.setAccessToken(null);
10075
10096
  client.setRefreshToken(null);
@@ -10079,7 +10100,6 @@ function useAutoRecover({
10079
10100
  setProviderState(null);
10080
10101
  safeStorage.removeItem(STORAGE_KEYS.user);
10081
10102
  safeStorage.removeItem(STORAGE_KEYS.provider);
10082
- } finally {
10083
10103
  setIsLoading(false);
10084
10104
  }
10085
10105
  };