@insforge/sdk 1.3.0-ssr.2 → 1.3.0-ssr.3

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/ssr.mjs CHANGED
@@ -2177,7 +2177,6 @@ var Functions = class _Functions {
2177
2177
  };
2178
2178
 
2179
2179
  // src/modules/realtime.ts
2180
- import { io } from "socket.io-client";
2181
2180
  var CONNECT_TIMEOUT = 1e4;
2182
2181
  var Realtime = class {
2183
2182
  constructor(baseUrl, tokenManager, anonKey) {
@@ -2212,61 +2211,69 @@ var Realtime = class {
2212
2211
  if (this.connectPromise) {
2213
2212
  return this.connectPromise;
2214
2213
  }
2215
- this.connectPromise = new Promise((resolve, reject) => {
2216
- const token = this.tokenManager.getAccessToken() ?? this.anonKey;
2217
- this.socket = io(this.baseUrl, {
2218
- transports: ["websocket"],
2219
- auth: token ? { token } : void 0
2220
- });
2221
- let initialConnection = true;
2222
- let timeoutId = null;
2223
- const cleanup = () => {
2224
- if (timeoutId) {
2225
- clearTimeout(timeoutId);
2226
- timeoutId = null;
2227
- }
2228
- };
2229
- timeoutId = setTimeout(() => {
2230
- if (initialConnection) {
2231
- initialConnection = false;
2232
- this.connectPromise = null;
2233
- this.socket?.disconnect();
2234
- this.socket = null;
2235
- reject(new Error(`Connection timeout after ${CONNECT_TIMEOUT}ms`));
2236
- }
2237
- }, CONNECT_TIMEOUT);
2238
- this.socket.on("connect", () => {
2239
- cleanup();
2240
- for (const channel of this.subscribedChannels) {
2241
- this.socket.emit("realtime:subscribe", { channel });
2242
- }
2243
- this.notifyListeners("connect");
2244
- if (initialConnection) {
2245
- initialConnection = false;
2246
- this.connectPromise = null;
2247
- resolve();
2248
- }
2249
- });
2250
- this.socket.on("connect_error", (error) => {
2251
- cleanup();
2252
- this.notifyListeners("connect_error", error);
2253
- if (initialConnection) {
2254
- initialConnection = false;
2255
- this.connectPromise = null;
2256
- reject(error);
2257
- }
2258
- });
2259
- this.socket.on("disconnect", (reason) => {
2260
- this.notifyListeners("disconnect", reason);
2261
- });
2262
- this.socket.on("realtime:error", (error) => {
2263
- this.notifyListeners("error", error);
2264
- });
2265
- this.socket.onAny((event, message) => {
2266
- if (event === "realtime:error") return;
2267
- this.notifyListeners(event, message);
2268
- });
2269
- });
2214
+ this.connectPromise = (async () => {
2215
+ try {
2216
+ const { io } = await import("socket.io-client");
2217
+ await new Promise((resolve, reject) => {
2218
+ const token = this.tokenManager.getAccessToken() ?? this.anonKey;
2219
+ this.socket = io(this.baseUrl, {
2220
+ transports: ["websocket"],
2221
+ auth: token ? { token } : void 0
2222
+ });
2223
+ let initialConnection = true;
2224
+ let timeoutId = null;
2225
+ const cleanup = () => {
2226
+ if (timeoutId) {
2227
+ clearTimeout(timeoutId);
2228
+ timeoutId = null;
2229
+ }
2230
+ };
2231
+ timeoutId = setTimeout(() => {
2232
+ if (initialConnection) {
2233
+ initialConnection = false;
2234
+ this.connectPromise = null;
2235
+ this.socket?.disconnect();
2236
+ this.socket = null;
2237
+ reject(new Error(`Connection timeout after ${CONNECT_TIMEOUT}ms`));
2238
+ }
2239
+ }, CONNECT_TIMEOUT);
2240
+ this.socket.on("connect", () => {
2241
+ cleanup();
2242
+ for (const channel of this.subscribedChannels) {
2243
+ this.socket.emit("realtime:subscribe", { channel });
2244
+ }
2245
+ this.notifyListeners("connect");
2246
+ if (initialConnection) {
2247
+ initialConnection = false;
2248
+ this.connectPromise = null;
2249
+ resolve();
2250
+ }
2251
+ });
2252
+ this.socket.on("connect_error", (error) => {
2253
+ cleanup();
2254
+ this.notifyListeners("connect_error", error);
2255
+ if (initialConnection) {
2256
+ initialConnection = false;
2257
+ this.connectPromise = null;
2258
+ reject(error);
2259
+ }
2260
+ });
2261
+ this.socket.on("disconnect", (reason) => {
2262
+ this.notifyListeners("disconnect", reason);
2263
+ });
2264
+ this.socket.on("realtime:error", (error) => {
2265
+ this.notifyListeners("error", error);
2266
+ });
2267
+ this.socket.onAny((event, message) => {
2268
+ if (event === "realtime:error") return;
2269
+ this.notifyListeners(event, message);
2270
+ });
2271
+ });
2272
+ } catch (error) {
2273
+ this.connectPromise = null;
2274
+ throw error;
2275
+ }
2276
+ })();
2270
2277
  return this.connectPromise;
2271
2278
  }
2272
2279
  /**
@@ -2596,10 +2603,9 @@ function decodeBase64Url(input) {
2596
2603
  normalized.length + (4 - normalized.length % 4) % 4,
2597
2604
  "="
2598
2605
  );
2599
- if (typeof atob === "function") {
2600
- return atob(padded);
2601
- }
2602
- return Buffer.from(padded, "base64").toString("utf8");
2606
+ const binary = atob(padded);
2607
+ const bytes = Uint8Array.from(binary, (char) => char.charCodeAt(0));
2608
+ return new TextDecoder().decode(bytes);
2603
2609
  }
2604
2610
  function getJwtExpiration(token) {
2605
2611
  if (!token) return null;