@polyguard/sdk 1.1.0 → 1.1.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/sdk.js CHANGED
@@ -11037,12 +11037,16 @@
11037
11037
  return new Promise(async (resolve, reject) => {
11038
11038
  let ws = null;
11039
11039
  let closed = false;
11040
- function showError(msg) {
11040
+ function returnError(msg, score = "OFFLINE") {
11041
11041
  const errDiv = modal.querySelector("#polyguard-error");
11042
11042
  if (errDiv) {
11043
11043
  errDiv.textContent = msg;
11044
11044
  errDiv.style.display = "block";
11045
11045
  }
11046
+ setTimeout(() => {
11047
+ cleanup();
11048
+ resolve({ presence: { score, msg } });
11049
+ }, 1250);
11046
11050
  }
11047
11051
  function clearError() {
11048
11052
  const errDiv = modal.querySelector("#polyguard-error");
@@ -11065,17 +11069,24 @@
11065
11069
  body: JSON.stringify({ requiredProofs: this.requiredProofs, scanType: this.scanType })
11066
11070
  });
11067
11071
  if (!ticketRes.ok) {
11068
- showError("Failed to get ticket");
11072
+ returnError("Failed to get ticket");
11069
11073
  return;
11070
11074
  }
11071
11075
  const ticketData = await ticketRes.json();
11072
11076
  const newTicket = ticketData.ticket;
11073
11077
  if (!newTicket) {
11074
- showError("No ticket returned from server");
11078
+ returnError("No ticket returned from server");
11075
11079
  return;
11076
11080
  }
11077
11081
  const wsUrl = `${wsProtocol}://${this.apiServer}/v2/realtime/${newTicket}`;
11078
- ws = new reconnecting_websocket_mjs_default(wsUrl);
11082
+ const options = {
11083
+ maxRetries: 10,
11084
+ minTimeout: 1e3,
11085
+ maxTimeout: 1e4,
11086
+ reconnectionDelay: 1e3,
11087
+ reconnectionDelayGrowFactor: 1.5
11088
+ };
11089
+ ws = new reconnecting_websocket_mjs_default(wsUrl, options);
11079
11090
  ws.addEventListener("message", (event) => {
11080
11091
  try {
11081
11092
  const data = JSON.parse(event.data);
@@ -11127,27 +11138,27 @@
11127
11138
  qrDiv2.innerHTML = LOADING_SPINNER;
11128
11139
  return;
11129
11140
  } else if (data && data.error) {
11130
- showError(data.error);
11141
+ returnError(data.error);
11131
11142
  ws.close();
11132
11143
  return;
11133
11144
  } else {
11134
11145
  console.error("Unknown message type from server", data);
11135
- showError(`Unknown message type from server`);
11146
+ returnError(`Unknown message type from server`);
11136
11147
  }
11137
11148
  } catch (e) {
11138
11149
  console.error("Invalid message format from server", e);
11139
- showError("Invalid message format from server");
11150
+ returnError("Invalid message format from server");
11140
11151
  }
11141
11152
  });
11142
11153
  ws.addEventListener("error", () => {
11143
11154
  console.error("WebSocket error");
11144
- showError("WebSocket error");
11155
+ returnError("WebSocket error");
11145
11156
  });
11146
11157
  ws.addEventListener("close", () => {
11147
11158
  if (!closed) cleanup();
11148
11159
  });
11149
11160
  } catch (err) {
11150
- showError("Failed to connect to WebSocket");
11161
+ returnError("Failed to connect to WebSocket");
11151
11162
  }
11152
11163
  });
11153
11164
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyguard/sdk",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "main": "dist/sdk.js",
5
5
  "module": "dist/sdk.js",
6
6
  "browser": "dist/sdk.js",
@@ -106,12 +106,16 @@ export class PolyguardWebsocketClientImpl {
106
106
  let ws = null;
107
107
  let closed = false;
108
108
 
109
- function showError(msg) {
110
- const errDiv = modal.querySelector('#polyguard-error');
111
- if (errDiv) {
112
- errDiv.textContent = msg;
113
- errDiv.style.display = 'block';
114
- }
109
+ function returnError(msg, score = "OFFLINE") {
110
+ const errDiv = modal.querySelector('#polyguard-error');
111
+ if (errDiv) {
112
+ errDiv.textContent = msg;
113
+ errDiv.style.display = 'block';
114
+ }
115
+ setTimeout(() => {
116
+ cleanup();
117
+ resolve({presence: { score: score, msg: msg }});
118
+ }, 1250);
115
119
  }
116
120
  function clearError() {
117
121
  const errDiv = modal.querySelector('#polyguard-error');
@@ -139,17 +143,24 @@ export class PolyguardWebsocketClientImpl {
139
143
  body: JSON.stringify({ requiredProofs: this.requiredProofs, scanType: this.scanType }),
140
144
  });
141
145
  if (!ticketRes.ok) {
142
- showError('Failed to get ticket');
146
+ returnError('Failed to get ticket');
143
147
  return;
144
148
  }
145
149
  const ticketData = await ticketRes.json();
146
150
  const newTicket = ticketData.ticket;
147
151
  if (!newTicket) {
148
- showError('No ticket returned from server');
152
+ returnError('No ticket returned from server');
149
153
  return;
150
154
  }
151
155
  const wsUrl = `${wsProtocol}://${this.apiServer}/v2/realtime/${newTicket}`;
152
- ws = new ReconnectingWebSocket(wsUrl);
156
+ const options = {
157
+ maxRetries: 10,
158
+ minTimeout: 1000,
159
+ maxTimeout: 10000,
160
+ reconnectionDelay: 1000,
161
+ reconnectionDelayGrowFactor: 1.5,
162
+ };
163
+ ws = new ReconnectingWebSocket(wsUrl, options);
153
164
  ws.addEventListener('message', (event) => {
154
165
  try {
155
166
  const data = JSON.parse(event.data);
@@ -213,29 +224,30 @@ export class PolyguardWebsocketClientImpl {
213
224
  if (!qrDiv) return;
214
225
  qrDiv.innerHTML = LOADING_SPINNER;
215
226
  return;
227
+
216
228
  } else if (data && data.error) {
217
- showError(data.error);
229
+ returnError(data.error);
218
230
  ws.close();
219
231
  return;
220
232
  } else {
221
233
  console.error('Unknown message type from server', data);
222
- showError(`Unknown message type from server`);
234
+ returnError(`Unknown message type from server`);
223
235
  }
224
236
  } catch (e) {
225
237
  console.error('Invalid message format from server', e);
226
- showError('Invalid message format from server');
238
+ returnError('Invalid message format from server');
227
239
  // ws.close();
228
240
  }
229
241
  });
230
242
  ws.addEventListener('error', () => {
231
243
  console.error('WebSocket error');
232
- showError('WebSocket error');
244
+ returnError('WebSocket error');
233
245
  });
234
246
  ws.addEventListener('close', () => {
235
247
  if (!closed) cleanup();
236
248
  });
237
249
  } catch (err) {
238
- showError('Failed to connect to WebSocket');
250
+ returnError('Failed to connect to WebSocket');
239
251
  }
240
252
  });
241
253
  }