@spidy092/auth-client 3.1.5 → 3.1.6

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.js CHANGED
@@ -1251,6 +1251,7 @@ function AuthProvider({ children, onSessionExpired, manageSessionSecurity = true
1251
1251
  const onSessionExpiredRef = useRef(onSessionExpired);
1252
1252
  const recoveryInFlightRef = useRef(null);
1253
1253
  const profileRecoveryTokensRef = useRef(/* @__PURE__ */ new Set());
1254
+ const profileLoadedRef = useRef(false);
1254
1255
  useEffect(() => {
1255
1256
  onSessionExpiredRef.current = onSessionExpired;
1256
1257
  }, [onSessionExpired]);
@@ -1260,8 +1261,9 @@ function AuthProvider({ children, onSessionExpired, manageSessionSecurity = true
1260
1261
  setTokenState(nextToken);
1261
1262
  if (nextToken) {
1262
1263
  setSessionValid(true);
1263
- setLoading(true);
1264
+ if (!profileLoadedRef.current) setLoading(true);
1264
1265
  } else {
1266
+ profileLoadedRef.current = false;
1265
1267
  setSessionValid(false);
1266
1268
  setUser(null);
1267
1269
  setLoading(false);
@@ -1273,6 +1275,7 @@ function AuthProvider({ children, onSessionExpired, manageSessionSecurity = true
1273
1275
  clearToken();
1274
1276
  setTokenState(null);
1275
1277
  setUser(null);
1278
+ profileLoadedRef.current = false;
1276
1279
  setSessionValid(false);
1277
1280
  setLoading(false);
1278
1281
  };
@@ -1288,7 +1291,7 @@ function AuthProvider({ children, onSessionExpired, manageSessionSecurity = true
1288
1291
  if (recoveredToken) {
1289
1292
  setTokenState(recoveredToken);
1290
1293
  setSessionValid(true);
1291
- setLoading(true);
1294
+ if (!profileLoadedRef.current) setLoading(true);
1292
1295
  return true;
1293
1296
  }
1294
1297
  } catch (error) {
@@ -1365,6 +1368,7 @@ function AuthProvider({ children, onSessionExpired, manageSessionSecurity = true
1365
1368
  const userData = (responseBody == null ? void 0 : responseBody.data) ?? responseBody;
1366
1369
  console.log("\u2705 Profile fetched successfully:", userData.email);
1367
1370
  setUser(userData);
1371
+ profileLoadedRef.current = true;
1368
1372
  setSessionValid(true);
1369
1373
  setLoading(false);
1370
1374
  } catch (error) {
@@ -1399,6 +1403,7 @@ function AuthProvider({ children, onSessionExpired, manageSessionSecurity = true
1399
1403
  if (cancelled) return;
1400
1404
  const userData = (responseBody == null ? void 0 : responseBody.data) ?? responseBody;
1401
1405
  setUser(userData);
1406
+ profileLoadedRef.current = true;
1402
1407
  setSessionValid(true);
1403
1408
  setLoading(false);
1404
1409
  return;
@@ -1445,7 +1450,7 @@ function AuthProvider({ children, onSessionExpired, manageSessionSecurity = true
1445
1450
  setToken(newToken);
1446
1451
  setTokenState(newToken);
1447
1452
  setSessionValid(true);
1448
- if (newToken) setLoading(true);
1453
+ if (newToken && !profileLoadedRef.current) setLoading(true);
1449
1454
  },
1450
1455
  clearToken: () => {
1451
1456
  stopSessionSecurity();
@@ -1453,6 +1458,7 @@ function AuthProvider({ children, onSessionExpired, manageSessionSecurity = true
1453
1458
  clearToken();
1454
1459
  setTokenState(null);
1455
1460
  setUser(null);
1461
+ profileLoadedRef.current = false;
1456
1462
  }
1457
1463
  };
1458
1464
  return /* @__PURE__ */ React.createElement(AuthContext.Provider, { value }, children);