@blinkdotnew/sdk 0.14.0 → 0.14.1

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
@@ -930,7 +930,17 @@ var BlinkAuth = class {
930
930
  * Redirect to Blink auth page
931
931
  */
932
932
  login(nextUrl) {
933
- const redirectUrl = nextUrl || (typeof window !== "undefined" ? window.location.href : "");
933
+ let redirectUrl = nextUrl || (typeof window !== "undefined" ? window.location.href : "");
934
+ if (redirectUrl && typeof window !== "undefined") {
935
+ try {
936
+ const url = new URL(redirectUrl);
937
+ url.searchParams.delete("redirect_url");
938
+ url.searchParams.delete("redirect");
939
+ redirectUrl = url.toString();
940
+ } catch (e) {
941
+ console.warn("Failed to parse redirect URL:", e);
942
+ }
943
+ }
934
944
  const authUrl = new URL("/auth", this.authUrl);
935
945
  authUrl.searchParams.set("redirect_url", redirectUrl);
936
946
  if (this.config.projectId) {
@@ -1257,8 +1267,15 @@ var BlinkAuth = class {
1257
1267
  issuedAt: tokensWithTimestamp.issued_at
1258
1268
  });
1259
1269
  if (persist && typeof window !== "undefined") {
1260
- localStorage.setItem("blink_tokens", JSON.stringify(tokensWithTimestamp));
1261
- console.log("\u{1F4BE} Tokens persisted to localStorage");
1270
+ try {
1271
+ localStorage.setItem("blink_tokens", JSON.stringify(tokensWithTimestamp));
1272
+ console.log("\u{1F4BE} Tokens persisted to localStorage");
1273
+ } catch (error) {
1274
+ console.log("\u{1F4A5} Error persisting tokens to localStorage:", error);
1275
+ if (error instanceof DOMException && error.name === "SecurityError") {
1276
+ console.log("\u{1F6AB} localStorage access blocked - running in cross-origin iframe");
1277
+ }
1278
+ }
1262
1279
  }
1263
1280
  let user = null;
1264
1281
  try {
@@ -1301,7 +1318,11 @@ var BlinkAuth = class {
1301
1318
  }
1302
1319
  clearTokens() {
1303
1320
  if (typeof window !== "undefined") {
1304
- localStorage.removeItem("blink_tokens");
1321
+ try {
1322
+ localStorage.removeItem("blink_tokens");
1323
+ } catch (error) {
1324
+ console.log("\u{1F4A5} Error clearing tokens from localStorage:", error);
1325
+ }
1305
1326
  }
1306
1327
  this.updateAuthState({
1307
1328
  user: null,
@@ -1316,7 +1337,9 @@ var BlinkAuth = class {
1316
1337
  const stored = localStorage.getItem("blink_tokens");
1317
1338
  console.log("\u{1F50D} Checking localStorage for tokens:", {
1318
1339
  hasStoredData: !!stored,
1319
- storedLength: stored?.length || 0
1340
+ storedLength: stored?.length || 0,
1341
+ origin: window.location.origin,
1342
+ isIframe: window.self !== window.top
1320
1343
  });
1321
1344
  if (stored) {
1322
1345
  const tokens = JSON.parse(stored);
@@ -1330,8 +1353,10 @@ var BlinkAuth = class {
1330
1353
  }
1331
1354
  return null;
1332
1355
  } catch (error) {
1333
- console.log("\u{1F4A5} Error parsing stored tokens:", error);
1334
- localStorage.removeItem("blink_tokens");
1356
+ console.log("\u{1F4A5} Error accessing localStorage:", error);
1357
+ if (error instanceof DOMException && error.name === "SecurityError") {
1358
+ console.log("\u{1F6AB} localStorage access blocked - likely due to cross-origin iframe restrictions");
1359
+ }
1335
1360
  return null;
1336
1361
  }
1337
1362
  }
package/dist/index.mjs CHANGED
@@ -928,7 +928,17 @@ var BlinkAuth = class {
928
928
  * Redirect to Blink auth page
929
929
  */
930
930
  login(nextUrl) {
931
- const redirectUrl = nextUrl || (typeof window !== "undefined" ? window.location.href : "");
931
+ let redirectUrl = nextUrl || (typeof window !== "undefined" ? window.location.href : "");
932
+ if (redirectUrl && typeof window !== "undefined") {
933
+ try {
934
+ const url = new URL(redirectUrl);
935
+ url.searchParams.delete("redirect_url");
936
+ url.searchParams.delete("redirect");
937
+ redirectUrl = url.toString();
938
+ } catch (e) {
939
+ console.warn("Failed to parse redirect URL:", e);
940
+ }
941
+ }
932
942
  const authUrl = new URL("/auth", this.authUrl);
933
943
  authUrl.searchParams.set("redirect_url", redirectUrl);
934
944
  if (this.config.projectId) {
@@ -1255,8 +1265,15 @@ var BlinkAuth = class {
1255
1265
  issuedAt: tokensWithTimestamp.issued_at
1256
1266
  });
1257
1267
  if (persist && typeof window !== "undefined") {
1258
- localStorage.setItem("blink_tokens", JSON.stringify(tokensWithTimestamp));
1259
- console.log("\u{1F4BE} Tokens persisted to localStorage");
1268
+ try {
1269
+ localStorage.setItem("blink_tokens", JSON.stringify(tokensWithTimestamp));
1270
+ console.log("\u{1F4BE} Tokens persisted to localStorage");
1271
+ } catch (error) {
1272
+ console.log("\u{1F4A5} Error persisting tokens to localStorage:", error);
1273
+ if (error instanceof DOMException && error.name === "SecurityError") {
1274
+ console.log("\u{1F6AB} localStorage access blocked - running in cross-origin iframe");
1275
+ }
1276
+ }
1260
1277
  }
1261
1278
  let user = null;
1262
1279
  try {
@@ -1299,7 +1316,11 @@ var BlinkAuth = class {
1299
1316
  }
1300
1317
  clearTokens() {
1301
1318
  if (typeof window !== "undefined") {
1302
- localStorage.removeItem("blink_tokens");
1319
+ try {
1320
+ localStorage.removeItem("blink_tokens");
1321
+ } catch (error) {
1322
+ console.log("\u{1F4A5} Error clearing tokens from localStorage:", error);
1323
+ }
1303
1324
  }
1304
1325
  this.updateAuthState({
1305
1326
  user: null,
@@ -1314,7 +1335,9 @@ var BlinkAuth = class {
1314
1335
  const stored = localStorage.getItem("blink_tokens");
1315
1336
  console.log("\u{1F50D} Checking localStorage for tokens:", {
1316
1337
  hasStoredData: !!stored,
1317
- storedLength: stored?.length || 0
1338
+ storedLength: stored?.length || 0,
1339
+ origin: window.location.origin,
1340
+ isIframe: window.self !== window.top
1318
1341
  });
1319
1342
  if (stored) {
1320
1343
  const tokens = JSON.parse(stored);
@@ -1328,8 +1351,10 @@ var BlinkAuth = class {
1328
1351
  }
1329
1352
  return null;
1330
1353
  } catch (error) {
1331
- console.log("\u{1F4A5} Error parsing stored tokens:", error);
1332
- localStorage.removeItem("blink_tokens");
1354
+ console.log("\u{1F4A5} Error accessing localStorage:", error);
1355
+ if (error instanceof DOMException && error.name === "SecurityError") {
1356
+ console.log("\u{1F6AB} localStorage access blocked - likely due to cross-origin iframe restrictions");
1357
+ }
1333
1358
  return null;
1334
1359
  }
1335
1360
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blinkdotnew/sdk",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "Blink TypeScript SDK for client-side applications - Zero-boilerplate CRUD + auth + AI + analytics + notifications for modern SaaS/AI apps",
5
5
  "keywords": [
6
6
  "blink",