@supraio/client-daemon-js 1.0.0-mzbrightsigndecoder.489 → 1.0.0-mzbrightsigndecoder.491

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/daemon.html CHANGED
@@ -4,6 +4,6 @@
4
4
  <title>Supra daemon</title>
5
5
  </head>
6
6
  <body>
7
- <script type="text/javascript" src="daemon.js?v=1.0.0-mzbrightsigndecoder.489"></script>
7
+ <script type="text/javascript" src="daemon.js?v=1.0.0-mzbrightsigndecoder.491"></script>
8
8
  </body>
9
9
  </html>
package/daemon.js CHANGED
@@ -26279,6 +26279,10 @@
26279
26279
  // screen/brightsign.ts
26280
26280
  var import_brightsign_decoder = __toESM(require_dist());
26281
26281
  var teardownRegistered = false;
26282
+ var ownedDecoder;
26283
+ var ownedTCP;
26284
+ var unloading = false;
26285
+ var teardownPromise;
26282
26286
  function isBrightSignRuntimeAvailable() {
26283
26287
  return (0, import_brightsign_decoder.detectCapabilities)().native;
26284
26288
  }
@@ -26287,7 +26291,8 @@
26287
26291
  return true;
26288
26292
  }
26289
26293
  try {
26290
- window.brightSignTCP = (0, import_brightsign_decoder.createBrightSignTCP)();
26294
+ ownedTCP = (0, import_brightsign_decoder.createBrightSignTCP)();
26295
+ window.brightSignTCP = ownedTCP;
26291
26296
  registerTeardown();
26292
26297
  return true;
26293
26298
  } catch (error) {
@@ -26295,23 +26300,56 @@
26295
26300
  return false;
26296
26301
  }
26297
26302
  }
26303
+ async function destroyOwnedResources() {
26304
+ const context = { deadlineMs: 1e3 };
26305
+ const decoder = ownedDecoder;
26306
+ const destroyDecoder = async () => {
26307
+ if (!decoder) {
26308
+ return;
26309
+ }
26310
+ try {
26311
+ await decoder.destroy(context);
26312
+ if (ownedDecoder === decoder) {
26313
+ ownedDecoder = void 0;
26314
+ }
26315
+ if (window.brightSignDecoder === decoder) {
26316
+ window.brightSignDecoder = void 0;
26317
+ }
26318
+ } catch (error) {
26319
+ console.error("Failed to destroy BrightSign decoder", error);
26320
+ }
26321
+ };
26322
+ const tcp = ownedTCP;
26323
+ const destroyTCP = async () => {
26324
+ if (!tcp) {
26325
+ return;
26326
+ }
26327
+ try {
26328
+ await tcp.destroy(context);
26329
+ if (ownedTCP === tcp) {
26330
+ ownedTCP = void 0;
26331
+ }
26332
+ if (window.brightSignTCP === tcp) {
26333
+ window.brightSignTCP = void 0;
26334
+ }
26335
+ } catch (error) {
26336
+ console.error("Failed to destroy BrightSign transport", error);
26337
+ }
26338
+ };
26339
+ await Promise.all([destroyDecoder(), destroyTCP()]);
26340
+ }
26298
26341
  function registerTeardown() {
26299
26342
  if (teardownRegistered) {
26300
26343
  return;
26301
26344
  }
26302
26345
  teardownRegistered = true;
26303
26346
  window.addEventListener("unload", () => {
26304
- const decoder = window.brightSignDecoder;
26305
- const tcp = window.brightSignTCP;
26306
- const context = { deadlineMs: Date.now() + 1e3 };
26307
- window.brightSignDecoder = void 0;
26308
- window.brightSignTCP = void 0;
26309
- void (decoder == null ? void 0 : decoder.destroy(context).catch((error) => {
26310
- console.error("Failed to destroy BrightSign decoder", error);
26311
- }));
26312
- void (tcp == null ? void 0 : tcp.destroy(context).catch((error) => {
26313
- console.error("Failed to destroy BrightSign transport", error);
26314
- }));
26347
+ unloading = true;
26348
+ if (!teardownPromise) {
26349
+ teardownPromise = destroyOwnedResources().finally(() => {
26350
+ teardownPromise = void 0;
26351
+ });
26352
+ }
26315
26353
  });
26316
26354
  }
26317
26355
 
@@ -26344,7 +26382,7 @@
26344
26382
  }
26345
26383
 
26346
26384
  // daemon/plain.ts
26347
- var DAEMON_JS_URL = "supra-client-daemon.js?v=1.0.0-mzbrightsigndecoder.489";
26385
+ var DAEMON_JS_URL = "supra-client-daemon.js?v=1.0.0-mzbrightsigndecoder.491";
26348
26386
  async function startPlainDaemon() {
26349
26387
  initBrightSignTCP();
26350
26388
  await initNaClTCP();
@@ -26358,7 +26396,7 @@
26358
26396
  }
26359
26397
 
26360
26398
  // daemon/wasm.ts
26361
- var DAEMON_WASM_URL = "supra-client-daemon.wasm?v=1.0.0-mzbrightsigndecoder.489";
26399
+ var DAEMON_WASM_URL = "supra-client-daemon.wasm?v=1.0.0-mzbrightsigndecoder.491";
26362
26400
  async function startWasmDaemon() {
26363
26401
  initBrightSignTCP();
26364
26402
  await initNaClTCP();