@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 +20 -9
- package/package.json +1 -1
- package/src/PolyguardWebsocketClientImpl.js +26 -14
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
|
|
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
|
-
|
|
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
|
-
|
|
11078
|
+
returnError("No ticket returned from server");
|
|
11075
11079
|
return;
|
|
11076
11080
|
}
|
|
11077
11081
|
const wsUrl = `${wsProtocol}://${this.apiServer}/v2/realtime/${newTicket}`;
|
|
11078
|
-
|
|
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
|
-
|
|
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
|
-
|
|
11146
|
+
returnError(`Unknown message type from server`);
|
|
11136
11147
|
}
|
|
11137
11148
|
} catch (e) {
|
|
11138
11149
|
console.error("Invalid message format from server", e);
|
|
11139
|
-
|
|
11150
|
+
returnError("Invalid message format from server");
|
|
11140
11151
|
}
|
|
11141
11152
|
});
|
|
11142
11153
|
ws.addEventListener("error", () => {
|
|
11143
11154
|
console.error("WebSocket error");
|
|
11144
|
-
|
|
11155
|
+
returnError("WebSocket error");
|
|
11145
11156
|
});
|
|
11146
11157
|
ws.addEventListener("close", () => {
|
|
11147
11158
|
if (!closed) cleanup();
|
|
11148
11159
|
});
|
|
11149
11160
|
} catch (err) {
|
|
11150
|
-
|
|
11161
|
+
returnError("Failed to connect to WebSocket");
|
|
11151
11162
|
}
|
|
11152
11163
|
});
|
|
11153
11164
|
}
|
package/package.json
CHANGED
|
@@ -106,12 +106,16 @@ export class PolyguardWebsocketClientImpl {
|
|
|
106
106
|
let ws = null;
|
|
107
107
|
let closed = false;
|
|
108
108
|
|
|
109
|
-
function
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
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
|
-
|
|
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
|
-
|
|
152
|
+
returnError('No ticket returned from server');
|
|
149
153
|
return;
|
|
150
154
|
}
|
|
151
155
|
const wsUrl = `${wsProtocol}://${this.apiServer}/v2/realtime/${newTicket}`;
|
|
152
|
-
|
|
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
|
-
|
|
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
|
-
|
|
234
|
+
returnError(`Unknown message type from server`);
|
|
223
235
|
}
|
|
224
236
|
} catch (e) {
|
|
225
237
|
console.error('Invalid message format from server', e);
|
|
226
|
-
|
|
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
|
-
|
|
244
|
+
returnError('WebSocket error');
|
|
233
245
|
});
|
|
234
246
|
ws.addEventListener('close', () => {
|
|
235
247
|
if (!closed) cleanup();
|
|
236
248
|
});
|
|
237
249
|
} catch (err) {
|
|
238
|
-
|
|
250
|
+
returnError('Failed to connect to WebSocket');
|
|
239
251
|
}
|
|
240
252
|
});
|
|
241
253
|
}
|