dsh-zen-remote 2.2.8 → 2.2.9

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/README.md CHANGED
@@ -94,7 +94,7 @@ dsh plugin --profile web add dsh-zen-remote
94
94
  // ~/.dsh/profiles/desktop/package.json
95
95
  {
96
96
  "dependencies": {
97
- "dsh-zen-remote": "^2.2.8" // for local development: "link:/path/to/dsh-zen-remote"
97
+ "dsh-zen-remote": "^2.2.9" // for local development: "link:/path/to/dsh-zen-remote"
98
98
  }
99
99
  }
100
100
  ```
package/README.zh-CN.md CHANGED
@@ -94,7 +94,7 @@ dsh plugin --profile web add dsh-zen-remote
94
94
  // ~/.dsh/profiles/desktop/package.json
95
95
  {
96
96
  "dependencies": {
97
- "dsh-zen-remote": "^2.2.8" // 本地开发换成 "link:/path/to/dsh-zen-remote"
97
+ "dsh-zen-remote": "^2.2.9" // 本地开发换成 "link:/path/to/dsh-zen-remote"
98
98
  }
99
99
  }
100
100
  ```
@@ -38,6 +38,25 @@ export const CLIENT_STATUS_ROUTE = `${CLIENT_ROUTE_PREFIX}/status`;
38
38
  /** POST: one immediate reconnect attempt (T43, the settings page's 立即重连);
39
39
  * answered 409 unless the relay client is currently `offline`. */
40
40
  export const CLIENT_RECONNECT_ROUTE = `${CLIENT_ROUTE_PREFIX}/reconnect`;
41
+ /** POST: the browser's NETWORK-RESTORED hint.
42
+ *
43
+ * Why this route exists: the host half runs in a plain Node process with no
44
+ * OS network events, and the browser half cannot touch the relay client's
45
+ * memory across the HTTP boundary. So the browser — the only place that can
46
+ * observe `online`/`visibilitychange` — reports the hint here, and the host
47
+ * turns it into ONE controlled probe + reconnect.
48
+ *
49
+ * Deliberately narrower than `reconnect`:
50
+ * - it first runs `probeHealth()` (authenticated GET /ping); a hint NEVER
51
+ * alone proves the link is back (`navigator.onLine === true` is not
52
+ * evidence);
53
+ * - only a successful probe advances to `networkRestored()`, which itself
54
+ * refuses outside `offline` and inside its 3s anti-storm gap;
55
+ * - it answers the probe outcome so the page can log/annotate it.
56
+ *
57
+ * It NEVER changes state by itself: `probeHealth` is read-only, and
58
+ * `networkRestored` is the same controlled path the settings button uses. */
59
+ export const CLIENT_NETWORK_HINT_ROUTE = `${CLIENT_ROUTE_PREFIX}/network-hint`;
41
60
  /** GET: the remote-session status the T34 client parts render from (T34) —
42
61
  * the relay's serving state, the interface-compatibility verdict, the
43
62
  * handshake's server name, and the closed-session map. The prefix is
@@ -509,6 +528,39 @@ export function createClientHandler(options) {
509
528
  responseJson(res, 200, { ok: true });
510
529
  return;
511
530
  }
531
+ if (route === CLIENT_NETWORK_HINT_ROUTE) {
532
+ if (method !== 'POST') {
533
+ res.setHeader('Allow', 'POST');
534
+ responseJson(res, 405, { ok: false, error: { code: 'method-not-allowed', message: 'Use POST' } });
535
+ return;
536
+ }
537
+ if (!sameOriginPost(req)) {
538
+ responseJson(res, 403, {
539
+ ok: false,
540
+ error: { code: 'origin-rejected', message: 'The request must originate from this DSH Web application' },
541
+ });
542
+ return;
543
+ }
544
+ const relay = options.getRelayClient?.();
545
+ if (relay === undefined) {
546
+ responseJson(res, 503, { ok: false, error: { code: 'unavailable', message: 'No relay client is running' } });
547
+ return;
548
+ }
549
+ // a hint is a QUESTION, not a verdict.
550
+ // `probeHealth` is one authenticated GET /ping: it proves the HOST is
551
+ // reachable with the current token — nothing about the long streams.
552
+ // Only a reachable host earns the controlled reconnect, and
553
+ // `networkRestored()` is what enforces "offline only" + the 3s gap.
554
+ const reachable = await relay.probeHealth();
555
+ if (!reachable) {
556
+ // Honest answer: the network may be back, the HOST is not.
557
+ responseJson(res, 200, { ok: true, reachable: false, reconnected: false });
558
+ return;
559
+ }
560
+ const reconnected = relay.networkRestored();
561
+ responseJson(res, 200, { ok: true, reachable: true, reconnected });
562
+ return;
563
+ }
512
564
  if (route === CLIENT_REMOTE_STATUS_ROUTE) {
513
565
  if (method !== 'GET') {
514
566
  res.setHeader('Allow', 'GET');
@@ -1 +1 @@
1
- {"version":3,"file":"client-routes.js","sourceRoot":"","sources":["../src/client-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE3H,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAI5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAA;AAE5D,qEAAqE;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,mBAAmB,QAAQ,CAAA;AAEhE,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,mBAAmB,SAAS,CAAA;AAElE;kEACkE;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,mBAAmB,YAAY,CAAA;AAExE;;;;;wEAKwE;AACxE,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,mBAAmB,gBAAgB,CAAA;AAEhF;;8EAE8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,mBAAmB,UAAU,CAAA;AAEpE;;;;4CAI4C;AAC5C,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,mBAAmB,kBAAkB,CAAA;AAEpF;;mDAEmD;AACnD,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAElC;;;uEAGuE;AACvE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,mBAAmB,QAAQ,CAAA;AAEtE,uEAAuE;AACvE,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAE/B,6CAA6C;AAC7C,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAE9B,4EAA4E;AAC5E,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,CAAA;AAkEhC;;;;;;;;GAQG;AACH,MAAM,gBAAiB,SAAQ,KAAK;IACzB,MAAM,CAAQ;IACd,IAAI,CAAQ;IAErB,YAAY,MAAc,EAAE,IAAY,EAAE,OAAe;QACvD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CAAC,GAAoB;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACtE,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,cAAc,EAAE,CAAC;QAC1F,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,4BAA4B,cAAc,aAAa,CAAC,CAAA;IACzG,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAA;QAC/E,IAAI,IAAI,KAAK,CAAC,MAAM,CAAA;QACpB,IAAI,IAAI,GAAG,cAAc;YAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,4BAA4B,cAAc,aAAa,CAAC,CAAA;QAClI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACnD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAA;IACjC,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,iCAAiC,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,oCAAoC,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,MAAiC,CAAA;AAC1C,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,GAAmB,EAAE,MAAuB;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC5E,MAAM,WAAW,GACf,SAAS,KAAK,kBAAkB,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,2BAA2B,CAAA;IACzH,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;IAC1C,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACrD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;IAC1C,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA;IAClD,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC5B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,GAAmB,EAAE,KAAc;IAC9D,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACvH,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;YACxE,OAAM;QACR,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC7E,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAC3E,OAAM;QACR,CAAC;IACH,CAAC;IACD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;AACpE,CAAC;AAED;+CAC+C;AAC/C,KAAK,UAAU,KAAK,CAAC,SAAoB,EAAE,SAAiB,EAAE,KAAa;IACzE,IAAI,QAAkB,CAAA;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,eAAe,EAAE;YAC3E,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;YAC7C,mEAAmE;YACnE,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC9C,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACzD,IAAI,IAAa,CAAA;IACjB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAC3E,CAAC;AAED;;sEAEsE;AACtE,SAAS,YAAY,CAAC,GAAmB,EAAE,OAAqB,EAAE,SAAiB;IACjF,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACf,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IACD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,aAAa,CAAA;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,UAAU,CAAA;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,cAAc,CAAA;IAC1D,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAiD,EAAE,SAAiB,EAAE,iBAA0B;IACvI,OAAO;QACL,KAAK;QACL,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS;QACT,UAAU,EAAE,CAAC,iBAAiB,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KAC7F,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAAI,OAAmB;IACpD,IAAI,KAAgD,CAAA;IACpD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,OAAO;YACP,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,uBAAuB,gBAAgB,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;gBAC3H,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;oBAAE,KAAK,CAAC,KAAK,EAAE,CAAA;YACtD,CAAC,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,KAA8B;IACzD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,UAAU,CAAA;IAC1C,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QACjB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAA;QAClB,KAAK,UAAU;YACb,OAAO,UAAU,CAAA;QACnB;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,SAAS,GAAc,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;IACnF,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,8DAA8D;QAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;YAC7B,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE;gBACrC,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE;aAC5E,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAA;QACrE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAA;QAClC,IAAI,CAAC;YACH,uEAAuE;YACvE,sEAAsE;YACtE,wEAAwE;YACxE,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,IAAI,KAAK,KAAK,0BAA0B,EAAE,CAAC;gBAC9E,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAA;gBACpG,OAAM;YACR,CAAC;YACD,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;gBACjC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;oBAC9B,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;oBACjG,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;wBACrB,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,0DAA0D,EAAE;qBACxG,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;gBACpE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;oBAC9D,OAAM;gBACR,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC7B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9B,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC/B,CAAC,CAAA;gBACF,IAAI,MAAc,CAAA;gBAClB,IAAI,WAAoB,CAAA;gBACxB,IAAI,CAAC;oBACH,iEAAiE;oBACjE,+DAA+D;oBAC/D,+DAA+D;oBAC/D,8DAA8D;oBAC9D,kEAAkE;oBAClE,wBAAwB;oBACxB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE;wBACpE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE;wBAC9D,IAAI,EAAE,OAAO;wBACb,gEAAgE;wBAChE,8DAA8D;wBAC9D,iDAAiD;wBACjD,QAAQ,EAAE,QAAQ;wBAClB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;qBAC9C,CAAC,CAAA;oBACF,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;oBACxB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;oBAClC,IAAI,CAAC;wBACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAChC,CAAC;oBAAC,MAAM,CAAC;wBACP,WAAW,GAAG,SAAS,CAAA;oBACzB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;oBAC1D,OAAM;gBACR,CAAC;gBACD,YAAY,CAAC,GAAG,EAAE,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;gBAC7E,OAAM;YACR,CAAC;YACD,IAAI,KAAK,KAAK,mBAAmB,EAAE,CAAC;gBAClC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;oBAC7B,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;oBAChG,OAAM;gBACR,CAAC;gBACD,gEAAgE;gBAChE,qEAAqE;gBACrE,qEAAqE;gBACrE,oEAAoE;gBACpE,mEAAmE;gBACnE,iEAAiE;gBACjE,oEAAoE;gBACpE,QAAQ;gBACR,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,EAAE,CAAA;gBAC1C,MAAM,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAA;gBAC9D,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,EAAE,CAAA;gBAChD,MAAM,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAA;gBAChE,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,CAAA;gBAC9C,MAAM,MAAM,GACV,WAAW,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;oBACjF,CAAC,CAAC;wBACE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;wBAC/C,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;wBAC/C,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,EAAE;wBACnD,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,IAAI,EAAE;qBACtD;oBACH,CAAC,CAAC,SAAS,CAAA;gBACf,MAAM,eAAe,GAAG,CAAC,IAA6B,EAA2B,EAAE;oBACjF,kEAAkE;oBAClE,kEAAkE;oBAClE,qEAAqE;oBACrE,IAAI,IAAI,GAA4B,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAA;oBACtG,IAAI,SAAS,KAAK,SAAS;wBAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAA;oBAC1D,IAAI,mBAAmB,KAAK,SAAS;wBAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,mBAAmB,EAAE,CAAA;oBAC9E,IAAI,YAAY,KAAK,SAAS;wBAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,CAAA;oBAChE,IAAI,oBAAoB,KAAK,SAAS;wBAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,oBAAoB,EAAE,CAAA;oBAChF,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAA;gBAC1D,CAAC,CAAA;gBACD,qEAAqE;gBACrE,gEAAgE;gBAChE,kEAAkE;gBAClE,oEAAoE;gBACpE,2BAA2B;gBAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAA;gBAClC,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAA8B,CAAC,CAAC,CAAC,EAAE,CAAA;gBACnH,MAAM,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;gBACxE,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;gBAC/D,IAAI,KAAK,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;oBACrC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;oBAC9D,OAAM;gBACR,CAAC;gBACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;gBAChD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAA;oBACjE,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,CAAA;gBACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,mEAAmE;oBACnE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;oBAC3D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;oBAC7E,OAAM;gBACR,CAAC;gBACD,oEAAoE;gBACpE,mEAAmE;gBACnE,iEAAiE;gBACjE,+DAA+D;gBAC/D,iEAAiE;gBACjE,gDAAgD;gBAChD,IACE,KAAK,CAAC,KAAK,KAAK,QAAQ;oBACxB,KAAK,CAAC,aAAa,KAAK,SAAS;oBACjC,KAAK,CAAC,mBAAmB,KAAK,SAAS;oBACvC,KAAK,CAAC,mBAAmB,KAAK,sBAAsB,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,EAC3E,CAAC;oBACD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;oBACpI,OAAM;gBACR,CAAC;gBACD,mEAAmE;gBACnE,iEAAiE;gBACjE,oEAAoE;gBACpE,gEAAgE;gBAChE,4DAA4D;gBAC5D,kEAAkE;gBAClE,mCAAmC;gBACnC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;oBACpD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;gBACpH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,CAAA;oBACzG,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;wBAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;oBACvG,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;wBAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;oBACnE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC/C,CAAC;gBACD,OAAM;YACR,CAAC;YACD,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;gBACrC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;oBAC9B,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;oBACjG,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;wBACrB,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,0DAA0D,EAAE;qBACxG,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,CAAA;gBACxC,iEAAiE;gBACjE,iEAAiE;gBACjE,+CAA+C;gBAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAA;oBAC5G,OAAM;gBACR,CAAC;gBACD,iEAAiE;gBACjE,kDAAkD;gBAClD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;oBACpD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAA;oBAC3G,OAAM;gBACR,CAAC;gBACD,oEAAoE;gBACpE,qEAAqE;gBACrE,iDAAiD;gBACjD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gBACpC,OAAM;YACR,CAAC;YACD,IAAI,KAAK,KAAK,0BAA0B,EAAE,CAAC;gBACzC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;oBAC7B,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;oBAChG,OAAM;gBACR,CAAC;gBACD,+DAA+D;gBAC/D,+DAA+D;gBAC/D,gEAAgE;gBAChE,gEAAgE;gBAChE,qEAAqE;gBACrE,gEAAgE;gBAChE,mEAAmE;gBACnE,cAAc;gBACd,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,CAAA;gBACxC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,EAAE,CAAA;gBAC1C,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;oBACrB,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;oBACjC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;oBAC5D,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,IAAI,EAAE;oBAClD,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChH,cAAc,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC;yBACtD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;yBAClC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;yBAC9B,IAAI,EAAE;iBACV,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YACD,IAAI,KAAK,KAAK,4BAA4B,EAAE,CAAC;gBAC3C,kEAAkE;gBAClE,kEAAkE;gBAClE,yCAAyC;gBACzC,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAA;gBACrC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAA;oBACpG,OAAM;gBACR,CAAC;gBACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;oBAC9B,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;oBACjG,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;wBACrB,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,0DAA0D,EAAE;qBACxG,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,oEAAoE;gBACpE,kEAAkE;gBAClE,gEAAgE;gBAChE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAA;gBAC1B,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAC;oBACnG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,yEAAyE,EAAE,EAAE,CAAC,CAAA;oBACzJ,OAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAuB,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAA;gBACnG,IAAI,CAAC,IAAI,CAAC,CAAA;gBACV,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gBACpC,OAAM;YACR,CAAC;YACD,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;gBACnC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;oBAC9B,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;oBACjG,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;wBACrB,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,0DAA0D,EAAE;qBACxG,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,qEAAqE;gBACrE,4DAA4D;gBAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,iDAAiD,EAAE,EAAE,CAAC,CAAA;oBACjI,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,CAAA;gBACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAA;oBAC5G,OAAM;gBACR,CAAC;gBACD,mEAAmE;gBACnE,gEAAgE;gBAChE,iEAAiE;gBACjE,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACzF,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;oBACnG,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;oBAC7B,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;gBACtC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,+DAA+D;oBAC/D,6BAA6B;oBAC7B,MAAM,IAAI,GAAG,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAA;oBAClE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;gBACzH,CAAC;gBACD,OAAM;YACR,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC/C,mEAAmE;gBACnE,iEAAiE;gBACjE,8DAA8D;gBAC9D,iEAAiE;gBACjE,qEAAqE;gBACrE,mEAAmE;gBACnE,YAAY;gBACZ,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;oBAC7B,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;oBAChG,OAAM;gBACR,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;gBAC9D,oEAAoE;gBACpE,gEAAgE;gBAChE,oBAAoB;gBACpB,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAE,CAAC;oBAC5F,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;oBACvE,OAAM;gBACR,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,qBAAqB,CAAC,CAAA;gBAC1D,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;gBACvD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACrE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;oBAChD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oCAAoC,EAAE,EAAE,CAAC,CAAA;oBACpH,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;gBACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,sCAAsC,EAAE,EAAE,CAAC,CAAA;oBACtH,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,CAAA;gBACxC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACpD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;oBACxE,OAAM;gBACR,CAAC;gBACD,IAAI,KAAK,CAAC,aAAa,EAAE,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACrD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;oBACnG,OAAM;gBACR,CAAC;gBACD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;gBAC3C,kEAAkE;gBAClE,mEAAmE;gBACnE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;gBACpC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBACrB,IAAI,CAAC,GAAG,CAAC,aAAa;wBAAE,MAAM,CAAC,KAAK,EAAE,CAAA;gBACxC,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;oBACtF,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,SAAS;wBAAE,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC3E,CAAC;gBACD,OAAM;YACR,CAAC;YACD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAA;QACtG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wEAAwE;YACxE,sEAAsE;YACtE,kDAAkD;YAClD,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;gBACtC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACnG,OAAM;YACR,CAAC;YACD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QACpE,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"client-routes.js","sourceRoot":"","sources":["../src/client-routes.ts"],"names":[],"mappings":"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"}
package/lib/client.js CHANGED
@@ -17578,7 +17578,7 @@ __modules["client-data/remote-status.js"] = function (require, module, exports)
17578
17578
  * - `getRemoteStatusStore()` is the page-wide singleton.
17579
17579
  */
17580
17580
  Object.defineProperty(exports, "__esModule", { value: true });
17581
- exports.REMOTE_STATUS_POLL_MS = exports.documentVisibility = exports.BRIDGE_STAMP_ATTRIBUTE = exports.BRIDGE_STAMP_PLUGIN = exports.CLIENT_UNSHARE_ROUTE = exports.REMOTE_STATUS_ROUTE = void 0;
17581
+ exports.REMOTE_STATUS_POLL_MS = exports.windowNetworkHint = exports.documentVisibility = exports.BRIDGE_STAMP_ATTRIBUTE = exports.BRIDGE_STAMP_PLUGIN = exports.CLIENT_UNSHARE_ROUTE = exports.NETWORK_HINT_ROUTE = exports.REMOTE_STATUS_ROUTE = void 0;
17582
17582
  exports.parseRemoteStatusBody = parseRemoteStatusBody;
17583
17583
  exports.shouldStampBridgeAttribute = shouldStampBridgeAttribute;
17584
17584
  exports.createZhRemoteStatusFormatter = createZhRemoteStatusFormatter;
@@ -17593,6 +17593,8 @@ const locales_ts_1 = require("./client/locales.js");
17593
17593
  /** Same-origin client route feeding this store (host half: T34,
17594
17594
  * src/client-routes.ts). */
17595
17595
  exports.REMOTE_STATUS_ROUTE = '/_dsh/zen-remote/client/remote-status';
17596
+ /** the browser's network-restored hint (POST). */
17597
+ exports.NETWORK_HINT_ROUTE = '/_dsh/zen-remote/client/network-hint';
17596
17598
  /** Same-origin client route closing one remote session from this machine. */
17597
17599
  exports.CLIENT_UNSHARE_ROUTE = '/_dsh/zen-remote/client/unshare';
17598
17600
  /** Parse one GET body tolerantly: a garbage shape is "not online yet", a
@@ -17702,18 +17704,50 @@ exports.documentVisibility = {
17702
17704
  return () => { document.removeEventListener('visibilitychange', listener); };
17703
17705
  },
17704
17706
  };
17707
+ /** The real source (Node / SSR: never notifying — a host has no navigator). */
17708
+ exports.windowNetworkHint = {
17709
+ subscribe: (listener) => {
17710
+ if (typeof window === 'undefined' || typeof window.addEventListener !== 'function')
17711
+ return () => { };
17712
+ const onOnline = () => { listener(); };
17713
+ const onVisibility = () => {
17714
+ if (typeof document !== 'undefined' && document.visibilityState === 'visible')
17715
+ listener();
17716
+ };
17717
+ window.addEventListener('online', onOnline);
17718
+ if (typeof document !== 'undefined')
17719
+ document.addEventListener('visibilitychange', onVisibility);
17720
+ return () => {
17721
+ window.removeEventListener('online', onOnline);
17722
+ if (typeof document !== 'undefined')
17723
+ document.removeEventListener('visibilitychange', onVisibility);
17724
+ };
17725
+ },
17726
+ };
17705
17727
  /** Poll cadence while the page is visible and at least one part is mounted
17706
17728
  * (T34: 15 秒). */
17707
17729
  exports.REMOTE_STATUS_POLL_MS = 15_000;
17730
+ /** The minimum gap between two client-side network hints — the same 3s the
17731
+ * host's `networkRestored()` enforces, so the two never fight. `hintGapMs`
17732
+ * injects a smaller one (tests). */
17733
+ const NETWORK_HINT_CLIENT_GAP_MS = 3_000;
17708
17734
  /**
17709
17735
  * Build one store over an injectable fetch and visibility source — the
17710
17736
  * shares-store discipline: latest-wins (an earlier request answering late
17711
17737
  * never overwrites a newer table), every GET failure fails its own round,
17712
17738
  * the timer is real while visible and gone while hidden, and becoming
17713
17739
  * visible pulls once immediately. `pollMs` exists for tests: the shipped
17714
- * cadence is far too slow to observe.
17740
+ * cadence is far too slow to observe. `hintGapMs` exists for the same
17741
+ * reason: the shipped hint gap (default 3000) is far too slow to observe.
17715
17742
  */
17716
- function createRemoteStatusStore(fetchImpl, visibility = exports.documentVisibility, pollMs = exports.REMOTE_STATUS_POLL_MS) {
17743
+ function createRemoteStatusStore(fetchImpl, visibility = exports.documentVisibility, pollMs = exports.REMOTE_STATUS_POLL_MS,
17744
+ /** the network-restored hint source. Omitted → no
17745
+ * hint wiring (a host mount, or a test). */
17746
+ networkHint,
17747
+ /** the minimum gap between two client-side hints, ms; default 3000 (the
17748
+ * same anti-storm gap the host enforces). Exists for tests, like
17749
+ * `pollMs`: the shipped gap is far too slow to observe. */
17750
+ hintGapMs = NETWORK_HINT_CLIENT_GAP_MS) {
17717
17751
  const gate = (0, settings_form_ts_1.createLatestGate)();
17718
17752
  const listeners = new Set();
17719
17753
  let snapshot = Object.freeze({ ready: false, view: undefined });
@@ -17823,18 +17857,74 @@ function createRemoteStatusStore(fetchImpl, visibility = exports.documentVisibil
17823
17857
  startTimer();
17824
17858
  }
17825
17859
  };
17860
+ // ONE controlled round per hint.
17861
+ //
17862
+ // The chain is: hint → POST client/network-hint → host runs probeHealth()
17863
+ // (authenticated GET /ping) → only a reachable host advances to
17864
+ // networkRestored() (which is itself offline-only + 3s-gapped) → the next
17865
+ // status poll reflects the new state, and the intercept layer's $zr/events
17866
+ // leg reopens on its own once the relay reads online.
17867
+ //
17868
+ // THREE client-side guards keep a flapping machine from turning the hint
17869
+ // into a poll: a healthy-link gate (the last status read said `online` —
17870
+ // nothing to retire), an in-flight slot (one hint at a time), and a
17871
+ // minimum gap (the same 3s the host enforces, so the two never fight).
17872
+ let hintInFlight = false;
17873
+ let lastHintAt = 0;
17874
+ const sendNetworkHint = async () => {
17875
+ // The healthy-link gate: a hint exists to retire a stale `offline`. While
17876
+ // the last status read says `online`, a tab switch or a browser `online`
17877
+ // event must not spend the hint→ping→refresh triple. `view` undefined
17878
+ // (no GET answered yet) passes — conservative before the first read.
17879
+ if (snapshot.view?.state === 'online')
17880
+ return;
17881
+ if (hintInFlight)
17882
+ return;
17883
+ const now = Date.now();
17884
+ if (now - lastHintAt < hintGapMs)
17885
+ return;
17886
+ lastHintAt = now;
17887
+ hintInFlight = true;
17888
+ try {
17889
+ await fetchImpl(exports.NETWORK_HINT_ROUTE, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: '{}' });
17890
+ }
17891
+ catch {
17892
+ // A hint that cannot be delivered is simply dropped — the poll and the
17893
+ // streams are still the truth, and the next event tries again.
17894
+ }
17895
+ finally {
17896
+ hintInFlight = false;
17897
+ // Whatever the hint achieved, re-read the status so the UI stops
17898
+ // showing a stale `offline` the moment the host is back.
17899
+ void refresh();
17900
+ }
17901
+ };
17902
+ let offNetworkHint;
17903
+ const startHintWiring = () => {
17904
+ if (networkHint === undefined || offNetworkHint !== undefined)
17905
+ return;
17906
+ offNetworkHint = networkHint.subscribe(() => { void sendNetworkHint(); });
17907
+ };
17826
17908
  return {
17827
17909
  getSnapshot: () => snapshot,
17828
17910
  subscribe(listener) {
17829
17911
  listeners.add(listener);
17830
17912
  syncPolling();
17913
+ startHintWiring();
17831
17914
  return () => {
17832
17915
  listeners.delete(listener);
17833
17916
  syncPolling();
17917
+ // The hint listener follows the subscribers: no page, no hints.
17918
+ if (listeners.size === 0 && offNetworkHint !== undefined) {
17919
+ offNetworkHint();
17920
+ offNetworkHint = undefined;
17921
+ }
17834
17922
  };
17835
17923
  },
17836
17924
  refresh,
17837
17925
  unshare,
17926
+ /** explicit hint trigger (tests / manual probe). */
17927
+ notifyNetworkRestored: () => { void sendNetworkHint(); },
17838
17928
  };
17839
17929
  }
17840
17930
  let singleton;
@@ -17853,7 +17943,14 @@ function subscribeIfVirtual(store, sessionId, listener) {
17853
17943
  * matter how many of the icon and banner parts are mounted at once. Created
17854
17944
  * lazily over the real fetch, so check scripts never construct it. */
17855
17945
  function getRemoteStatusStore() {
17856
- singleton ??= createRemoteStatusStore((input, init) => fetch(input, init));
17946
+ // the REAL entry wiring. The network-hint source is
17947
+ // passed here and nowhere else, so every mounted remote part (icon + banner)
17948
+ // shares ONE store and therefore ONE hint subscription — no per-component
17949
+ // listeners, no duplicate POSTs.
17950
+ //
17951
+ // Node / SSR: `windowNetworkHint.subscribe` returns a no-op detacher and
17952
+ // never fires (there is no `window`), so a host mount is unaffected.
17953
+ singleton ??= createRemoteStatusStore((input, init) => fetch(input, init), exports.documentVisibility, exports.REMOTE_STATUS_POLL_MS, exports.windowNetworkHint);
17857
17954
  return singleton;
17858
17955
  }
17859
17956
  };
@@ -51,6 +51,9 @@ const RELAY_PROTOCOL = 1;
51
51
  const HANDSHAKE_PATH = '/_dsh/zen-remote/relay/v1/handshake';
52
52
  const INVOKE_PATH = '/_dsh/zen-remote/relay/v1/invoke';
53
53
  const STREAM_PATH = '/_dsh/zen-remote/relay/v1/stream';
54
+ /** the relay's existing authenticated health route
55
+ * (`GET …/relay/ping`, answers `{ok:true}`). Used by probeHealth() only. */
56
+ const PING_PATH = '/_dsh/zen-remote/relay/ping';
54
57
  const UNSHARE_PATH = '/_dsh/zen-remote/relay/v1/unshare';
55
58
  const EVENT_RESULT_PATH = '/_dsh/zen-remote/relay/v1/event-result';
56
59
  const HTTP_PATH = '/_dsh/zen-remote/relay/v1/http';
@@ -1027,6 +1030,69 @@ export function createRelayClient(options) {
1027
1030
  void connect().catch(() => { });
1028
1031
  return true;
1029
1032
  }
1033
+ /**
1034
+ * one authenticated `GET /ping` — the independent
1035
+ * health confirmation a restored link needs when no business traffic is
1036
+ * flowing. Never throws, never moves `state`, de-duplicated in flight.
1037
+ */
1038
+ let healthProbeInFlight;
1039
+ async function probeHealth() {
1040
+ if (healthProbeInFlight !== undefined)
1041
+ return healthProbeInFlight;
1042
+ const attempt = (async () => {
1043
+ let creds;
1044
+ try {
1045
+ creds = requireCredentials();
1046
+ }
1047
+ catch {
1048
+ return false;
1049
+ }
1050
+ const ac = new AbortController();
1051
+ const timer = setTimeout(() => ac.abort(), Math.min(requestTimeoutMs, 8_000));
1052
+ if (typeof timer.unref === 'function')
1053
+ timer.unref();
1054
+ try {
1055
+ const response = await fetchImpl(`${creds.url}${PING_PATH}`, {
1056
+ method: 'GET',
1057
+ headers: {
1058
+ authorization: `Bearer ${creds.token}`,
1059
+ accept: 'application/json',
1060
+ },
1061
+ redirect: 'manual',
1062
+ signal: ac.signal,
1063
+ });
1064
+ return response.ok;
1065
+ }
1066
+ catch {
1067
+ return false;
1068
+ }
1069
+ finally {
1070
+ clearTimeout(timer);
1071
+ }
1072
+ })();
1073
+ healthProbeInFlight = attempt;
1074
+ try {
1075
+ return await attempt;
1076
+ }
1077
+ finally {
1078
+ if (healthProbeInFlight === attempt)
1079
+ healthProbeInFlight = undefined;
1080
+ }
1081
+ }
1082
+ /** controlled fast-path; see the interface note. */
1083
+ const NETWORK_HINT_MIN_GAP_MS = 3_000;
1084
+ let lastNetworkHintAt = 0;
1085
+ function networkRestored() {
1086
+ if (stopped || state !== 'offline')
1087
+ return false;
1088
+ const now = clock.now();
1089
+ if (now - lastNetworkHintAt < NETWORK_HINT_MIN_GAP_MS)
1090
+ return false;
1091
+ lastNetworkHintAt = now;
1092
+ cancelRetry();
1093
+ void connect().catch(() => { });
1094
+ return true;
1095
+ }
1030
1096
  /**
1031
1097
  * The credentials source moved (a pairing write, an unpair, a hand edit
1032
1098
  * committed by the loader): drop any pending wait — the ladder belongs to
@@ -1622,6 +1688,11 @@ export function createRelayClient(options) {
1622
1688
  queueDeviceName,
1623
1689
  connect,
1624
1690
  reconnect,
1691
+ // the two new surfaces. `probeHealth` is the
1692
+ // authenticated GET /ping health check (never moves `state`);
1693
+ // `networkRestored` is the controlled fast-path (offline-only + 3s gap).
1694
+ probeHealth,
1695
+ networkRestored,
1625
1696
  credentialsChanged,
1626
1697
  stop,
1627
1698
  invoke,
@@ -1 +1 @@
1
- {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@
30
30
  /** Same-origin client route feeding this store (host half: T34,
31
31
  * src/client-routes.ts). */
32
32
  export declare const REMOTE_STATUS_ROUTE = "/_dsh/zen-remote/client/remote-status";
33
+ /** the browser's network-restored hint (POST). */
34
+ export declare const NETWORK_HINT_ROUTE = "/_dsh/zen-remote/client/network-hint";
33
35
  /** Same-origin client route closing one remote session from this machine. */
34
36
  export declare const CLIENT_UNSHARE_ROUTE = "/_dsh/zen-remote/client/unshare";
35
37
  /** The relay's serving state, as the route words it. */
@@ -117,6 +119,29 @@ export interface VisibilitySource {
117
119
  /** The real source: `visibilitychange` off `document` (Node: always visible,
118
120
  * never notifying). */
119
121
  export declare const documentVisibility: VisibilitySource;
122
+ /**
123
+ * the browser-side signal that a previously broken
124
+ * link MAY be back. Two triggers, both cheap and event-driven (never polled):
125
+ *
126
+ * - `window`'s `online` event — the browser's own reachability flag going
127
+ * true. Note this is a HINT, never proof: `navigator.onLine === true`
128
+ * means "an interface is up", not "the host is reachable". The host
129
+ * resolves the question with an authenticated `/ping` before anything
130
+ * reconnects.
131
+ * - `visibilitychange` → visible: a backgrounded tab (throttled timers, a
132
+ * possibly-changed network) coming back is the other moment a stale
133
+ * `offline` is most likely, and it costs one hint at most.
134
+ *
135
+ * Deliberately NOT wired: `window`'s `offline` event. Going offline needs no
136
+ * action (the poll and the streams already notice), and firing a hint there
137
+ * would only produce refused round-trips.
138
+ */
139
+ export interface NetworkHintSource {
140
+ /** Attach; the returned function detaches. */
141
+ subscribe(listener: () => void): () => void;
142
+ }
143
+ /** The real source (Node / SSR: never notifying — a host has no navigator). */
144
+ export declare const windowNetworkHint: NetworkHintSource;
120
145
  /** How one `client/unshare` POST ended. A refused action carries the
121
146
  * backend's error `code` when it sent one (`not-shared`, `remote-mismatch`,
122
147
  * …). */
@@ -139,6 +164,10 @@ export interface RemoteStatusStore {
139
164
  /** POST client/unshare for one VIRTUAL session id, then refresh.
140
165
  * @returns the action's outcome. */
141
166
  unshare(sessionId: string): Promise<RemoteUnshareOutcome>;
167
+ /** fire one network-restored hint now (the same
168
+ * controlled round the window `online` event drives). Exposed for tests
169
+ * and for a host-side manual probe; never bypasses the host's probe. */
170
+ notifyNetworkRestored(): void;
142
171
  }
143
172
  /** Poll cadence while the page is visible and at least one part is mounted
144
173
  * (T34: 15 秒). */
@@ -149,9 +178,17 @@ export declare const REMOTE_STATUS_POLL_MS = 15000;
149
178
  * never overwrites a newer table), every GET failure fails its own round,
150
179
  * the timer is real while visible and gone while hidden, and becoming
151
180
  * visible pulls once immediately. `pollMs` exists for tests: the shipped
152
- * cadence is far too slow to observe.
181
+ * cadence is far too slow to observe. `hintGapMs` exists for the same
182
+ * reason: the shipped hint gap (default 3000) is far too slow to observe.
153
183
  */
154
- export declare function createRemoteStatusStore(fetchImpl: typeof fetch, visibility?: VisibilitySource, pollMs?: number): RemoteStatusStore;
184
+ export declare function createRemoteStatusStore(fetchImpl: typeof fetch, visibility?: VisibilitySource, pollMs?: number,
185
+ /** the network-restored hint source. Omitted → no
186
+ * hint wiring (a host mount, or a test). */
187
+ networkHint?: NetworkHintSource,
188
+ /** the minimum gap between two client-side hints, ms; default 3000 (the
189
+ * same anti-storm gap the host enforces). Exists for tests, like
190
+ * `pollMs`: the shipped gap is far too slow to observe. */
191
+ hintGapMs?: number): RemoteStatusStore;
155
192
  /**
156
193
  * The subscribe face both T34 parts hand `useSyncExternalStore`: a VIRTUAL-id
157
194
  * session subscribes to the store — the subscription is what keeps it
@@ -1 +1 @@
1
- {"version":3,"file":"remote-status.d.ts","sourceRoot":"","sources":["../../../src/client-data/remote-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAMH;4BAC4B;AAC5B,eAAO,MAAM,mBAAmB,0CAA0C,CAAA;AAE1E,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,oCAAoC,CAAA;AAErE,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;AAE7E,uDAAuD;AACvD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE7D,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,iBAAiB,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACpD;;;gBAGY;IACZ,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,6EAA6E;AAC7E,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACnC;AAED;;WAEW;AACX,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAoBlF;AAID;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE3F;AAED,yCAAyC;AACzC,eAAO,MAAM,mBAAmB,uBAAuB,CAAA;AAEvD,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,sCAA0C,CAAA;AAI7E,oDAAoD;AACpD,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,CAAA;AAE1B,2EAA2E;AAC3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,mBAAmB,KAAK,MAAM,CAAA;AAExE;;eAEe;AACf,wBAAgB,6BAA6B,IAAI,qBAAqB,CAErE;AAED;;;;sEAIsE;AACtE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;IACjE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,EACzC,CAAC,GAAE,qBAAuD,GACzD,uBAAuB,CAUzB;AAID,0CAA0C;AAC1C,MAAM,MAAM,mBAAmB,GAC3B,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,wBAAwB,GACxB,0BAA0B,GAC1B,0BAA0B,CAAA;AAE9B,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,mBAAmB,KAAK,MAAM,CAAA;AAExE;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,EACzC,SAAS,EAAE,MAAM,EACjB,CAAC,GAAE,qBAAwC,GAC1C,MAAM,GAAG,SAAS,CAepB;AAID;uEACuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,IAAI,OAAO,CAAA;IAClB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;CAC5C;AAED;uBACuB;AACvB,eAAO,MAAM,kBAAkB,EAAE,gBAOhC,CAAA;AAED;;SAES;AACT,MAAM,MAAM,oBAAoB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAElD,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,WAAW,IAAI,oBAAoB,CAAA;IACnC;8CAC0C;IAC1C,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3C,iEAAiE;IACjE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3B;wCACoC;IACpC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;CAC1D;AAED;kBACkB;AAClB,eAAO,MAAM,qBAAqB,QAAS,CAAA;AAE3C;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,OAAO,KAAK,EACvB,UAAU,GAAE,gBAAqC,EACjD,MAAM,GAAE,MAA8B,GACrC,iBAAiB,CAsHnB;AAID;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAEhH;AAED;;sEAEsE;AACtE,wBAAgB,oBAAoB,IAAI,iBAAiB,CAGxD"}
1
+ {"version":3,"file":"remote-status.d.ts","sourceRoot":"","sources":["../../../src/client-data/remote-status.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,25 @@ export declare const CLIENT_STATUS_ROUTE = "/_dsh/zen-remote/client/status";
39
39
  /** POST: one immediate reconnect attempt (T43, the settings page's 立即重连);
40
40
  * answered 409 unless the relay client is currently `offline`. */
41
41
  export declare const CLIENT_RECONNECT_ROUTE = "/_dsh/zen-remote/client/reconnect";
42
+ /** POST: the browser's NETWORK-RESTORED hint.
43
+ *
44
+ * Why this route exists: the host half runs in a plain Node process with no
45
+ * OS network events, and the browser half cannot touch the relay client's
46
+ * memory across the HTTP boundary. So the browser — the only place that can
47
+ * observe `online`/`visibilitychange` — reports the hint here, and the host
48
+ * turns it into ONE controlled probe + reconnect.
49
+ *
50
+ * Deliberately narrower than `reconnect`:
51
+ * - it first runs `probeHealth()` (authenticated GET /ping); a hint NEVER
52
+ * alone proves the link is back (`navigator.onLine === true` is not
53
+ * evidence);
54
+ * - only a successful probe advances to `networkRestored()`, which itself
55
+ * refuses outside `offline` and inside its 3s anti-storm gap;
56
+ * - it answers the probe outcome so the page can log/annotate it.
57
+ *
58
+ * It NEVER changes state by itself: `probeHealth` is read-only, and
59
+ * `networkRestored` is the same controlled path the settings button uses. */
60
+ export declare const CLIENT_NETWORK_HINT_ROUTE = "/_dsh/zen-remote/client/network-hint";
42
61
  /** GET: the remote-session status the T34 client parts render from (T34) —
43
62
  * the relay's serving state, the interface-compatibility verdict, the
44
63
  * handshake's server name, and the closed-session map. The prefix is
@@ -1 +1 @@
1
- {"version":3,"file":"client-routes.d.ts","sourceRoot":"","sources":["../../src/client-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAA;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAA;AAElF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAA;AAGrE,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,4BAA4B,CAAA;AAE5D,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,kCAAiC,CAAA;AAEhE,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,mCAAkC,CAAA;AAElE;kEACkE;AAClE,eAAO,MAAM,sBAAsB,sCAAqC,CAAA;AAExE;;;;;wEAKwE;AACxE,eAAO,MAAM,0BAA0B,0CAAyC,CAAA;AAEhF;;8EAE8E;AAC9E,eAAO,MAAM,oBAAoB,oCAAmC,CAAA;AAEpE;;;;4CAI4C;AAC5C,eAAO,MAAM,4BAA4B,4CAA2C,CAAA;AAOpF;;;uEAGuE;AACvE,eAAO,MAAM,wBAAwB,kCAAiC,CAAA;AAWtE,8DAA8D;AAC9D,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEpF,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,KAAK,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,cAAc,CAAA;IAC/C;;sCAEkC;IAClC,YAAY,EAAE,MAAM,OAAO,CAAA;IAC3B,oDAAoD;IACpD,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB;;;;+EAI2E;IAC3E,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C;;;;;oDAKgD;IAChD,cAAc,CAAC,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IAC9C;;8EAE0E;IAC1E,YAAY,CAAC,EAAE,MAAM,oBAAoB,GAAG,SAAS,CAAA;IACrD;;;2EAGuE;IACvE,sBAAsB,CAAC,EAAE,MAAM,8BAA8B,GAAG,SAAS,CAAA;IACzE;;;uDAGmD;IACnD,uBAAuB,CAAC,EAAE,MAAM,+BAA+B,GAAG,SAAS,CAAA;IAC3E;;;;sEAIkE;IAClE,qBAAqB,CAAC,EAAE,MAAM,YAAY,EAAE,CAAA;IAC5C;;;;;;0CAMsC;IACtC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;iBAKa;IACb,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAA;CACtD;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AA8NxF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAgYhF"}
1
+ {"version":3,"file":"client-routes.d.ts","sourceRoot":"","sources":["../../src/client-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAA;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAA;AAElF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAA;AAGrE,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,4BAA4B,CAAA;AAE5D,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,kCAAiC,CAAA;AAEhE,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,mCAAkC,CAAA;AAElE;kEACkE;AAClE,eAAO,MAAM,sBAAsB,sCAAqC,CAAA;AAExE;;;;;;;;;;;;;;;;;6EAiB6E;AAC7E,eAAO,MAAM,yBAAyB,yCAAwC,CAAA;AAE9E;;;;;wEAKwE;AACxE,eAAO,MAAM,0BAA0B,0CAAyC,CAAA;AAEhF;;8EAE8E;AAC9E,eAAO,MAAM,oBAAoB,oCAAmC,CAAA;AAEpE;;;;4CAI4C;AAC5C,eAAO,MAAM,4BAA4B,4CAA2C,CAAA;AAOpF;;;uEAGuE;AACvE,eAAO,MAAM,wBAAwB,kCAAiC,CAAA;AAWtE,8DAA8D;AAC9D,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEpF,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,KAAK,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,cAAc,CAAA;IAC/C;;sCAEkC;IAClC,YAAY,EAAE,MAAM,OAAO,CAAA;IAC3B,oDAAoD;IACpD,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB;;;;+EAI2E;IAC3E,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C;;;;;oDAKgD;IAChD,cAAc,CAAC,EAAE,MAAM,WAAW,GAAG,SAAS,CAAA;IAC9C;;8EAE0E;IAC1E,YAAY,CAAC,EAAE,MAAM,oBAAoB,GAAG,SAAS,CAAA;IACrD;;;2EAGuE;IACvE,sBAAsB,CAAC,EAAE,MAAM,8BAA8B,GAAG,SAAS,CAAA;IACzE;;;uDAGmD;IACnD,uBAAuB,CAAC,EAAE,MAAM,+BAA+B,GAAG,SAAS,CAAA;IAC3E;;;;sEAIkE;IAClE,qBAAqB,CAAC,EAAE,MAAM,YAAY,EAAE,CAAA;IAC5C;;;;;;0CAMsC;IACtC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;iBAKa;IACb,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAA;CACtD;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AA8NxF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAiahF"}
@@ -194,6 +194,16 @@ export interface RelayClient {
194
194
  * ladder (the settings page's 立即重连). Answers whether an attempt was
195
195
  * started — the reconnect route turns a false into a 409. */
196
196
  reconnect(): boolean;
197
+ /** ONE lightweight authenticated health probe
198
+ * (`GET /ping`). Never changes `state`; de-duplicated while in flight;
199
+ * resolves false on any refusal. NOT a poller — call it on a real signal. */
200
+ probeHealth(): Promise<boolean>;
201
+ /** a CONTROLLED fast-path for a reliable
202
+ * "network is back" signal. Fires only from `offline`, refuses within
203
+ * NETWORK_HINT_MIN_GAP_MS of the previous hint (no storm), and otherwise
204
+ * behaves exactly like reconnect(). connect() de-duplicates concurrent
205
+ * attempts via connectInFlight. Answers whether an attempt started. */
206
+ networkRestored(): boolean;
197
207
  /** Notify that the credentials source may have changed (the loader's
198
208
  * volatile-update for the row): a pending reconnect wait is cancelled and,
199
209
  * with credentials present, one immediate attempt runs with the new
@@ -1 +1 @@
1
- {"version":3,"file":"relay-client.d.ts","sourceRoot":"","sources":["../../src/relay-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-client.d.ts","sourceRoot":"","sources":["../../src/relay-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-zen-remote",
3
- "version": "2.2.8",
3
+ "version": "2.2.9",
4
4
  "description": "一个插件、两种角色:主服务端把 DeepSeek Harness 变成手机能安全访问的 PWA(移动端界面、配对码网关、Web Push),并把选定会话共享给已配对的桌面端;子客户端在另一台 DSH 桌面端的侧边栏里远程使用这些会话。One DSH plugin, two roles: the host turns DeepSeek Harness into a phone-reachable PWA (mobile UI, pairing-code gateway behind your own reverse proxy, Web Push) and shares chosen sessions to paired desktops; the client uses those sessions remotely from another DSH desktop app's sidebar.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -35,6 +35,8 @@ import { zh } from '../client/locales.ts'
35
35
  /** Same-origin client route feeding this store (host half: T34,
36
36
  * src/client-routes.ts). */
37
37
  export const REMOTE_STATUS_ROUTE = '/_dsh/zen-remote/client/remote-status'
38
+ /** the browser's network-restored hint (POST). */
39
+ export const NETWORK_HINT_ROUTE = '/_dsh/zen-remote/client/network-hint'
38
40
 
39
41
  /** Same-origin client route closing one remote session from this machine. */
40
42
  export const CLIENT_UNSHARE_ROUTE = '/_dsh/zen-remote/client/unshare'
@@ -224,6 +226,47 @@ export const documentVisibility: VisibilitySource = {
224
226
  },
225
227
  }
226
228
 
229
+ // --- the NETWORK-RESTORED hint source ---------------
230
+
231
+ /**
232
+ * the browser-side signal that a previously broken
233
+ * link MAY be back. Two triggers, both cheap and event-driven (never polled):
234
+ *
235
+ * - `window`'s `online` event — the browser's own reachability flag going
236
+ * true. Note this is a HINT, never proof: `navigator.onLine === true`
237
+ * means "an interface is up", not "the host is reachable". The host
238
+ * resolves the question with an authenticated `/ping` before anything
239
+ * reconnects.
240
+ * - `visibilitychange` → visible: a backgrounded tab (throttled timers, a
241
+ * possibly-changed network) coming back is the other moment a stale
242
+ * `offline` is most likely, and it costs one hint at most.
243
+ *
244
+ * Deliberately NOT wired: `window`'s `offline` event. Going offline needs no
245
+ * action (the poll and the streams already notice), and firing a hint there
246
+ * would only produce refused round-trips.
247
+ */
248
+ export interface NetworkHintSource {
249
+ /** Attach; the returned function detaches. */
250
+ subscribe(listener: () => void): () => void
251
+ }
252
+
253
+ /** The real source (Node / SSR: never notifying — a host has no navigator). */
254
+ export const windowNetworkHint: NetworkHintSource = {
255
+ subscribe: (listener) => {
256
+ if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') return () => {}
257
+ const onOnline = (): void => { listener() }
258
+ const onVisibility = (): void => {
259
+ if (typeof document !== 'undefined' && document.visibilityState === 'visible') listener()
260
+ }
261
+ window.addEventListener('online', onOnline)
262
+ if (typeof document !== 'undefined') document.addEventListener('visibilitychange', onVisibility)
263
+ return () => {
264
+ window.removeEventListener('online', onOnline)
265
+ if (typeof document !== 'undefined') document.removeEventListener('visibilitychange', onVisibility)
266
+ }
267
+ },
268
+ }
269
+
227
270
  /** How one `client/unshare` POST ended. A refused action carries the
228
271
  * backend's error `code` when it sent one (`not-shared`, `remote-mismatch`,
229
272
  * …). */
@@ -243,24 +286,42 @@ export interface RemoteStatusStore {
243
286
  /** POST client/unshare for one VIRTUAL session id, then refresh.
244
287
  * @returns the action's outcome. */
245
288
  unshare(sessionId: string): Promise<RemoteUnshareOutcome>
289
+
290
+ /** fire one network-restored hint now (the same
291
+ * controlled round the window `online` event drives). Exposed for tests
292
+ * and for a host-side manual probe; never bypasses the host's probe. */
293
+ notifyNetworkRestored(): void
246
294
  }
247
295
 
248
296
  /** Poll cadence while the page is visible and at least one part is mounted
249
297
  * (T34: 15 秒). */
250
298
  export const REMOTE_STATUS_POLL_MS = 15_000
251
299
 
300
+ /** The minimum gap between two client-side network hints — the same 3s the
301
+ * host's `networkRestored()` enforces, so the two never fight. `hintGapMs`
302
+ * injects a smaller one (tests). */
303
+ const NETWORK_HINT_CLIENT_GAP_MS = 3_000
304
+
252
305
  /**
253
306
  * Build one store over an injectable fetch and visibility source — the
254
307
  * shares-store discipline: latest-wins (an earlier request answering late
255
308
  * never overwrites a newer table), every GET failure fails its own round,
256
309
  * the timer is real while visible and gone while hidden, and becoming
257
310
  * visible pulls once immediately. `pollMs` exists for tests: the shipped
258
- * cadence is far too slow to observe.
311
+ * cadence is far too slow to observe. `hintGapMs` exists for the same
312
+ * reason: the shipped hint gap (default 3000) is far too slow to observe.
259
313
  */
260
314
  export function createRemoteStatusStore(
261
315
  fetchImpl: typeof fetch,
262
316
  visibility: VisibilitySource = documentVisibility,
263
317
  pollMs: number = REMOTE_STATUS_POLL_MS,
318
+ /** the network-restored hint source. Omitted → no
319
+ * hint wiring (a host mount, or a test). */
320
+ networkHint?: NetworkHintSource,
321
+ /** the minimum gap between two client-side hints, ms; default 3000 (the
322
+ * same anti-storm gap the host enforces). Exists for tests, like
323
+ * `pollMs`: the shipped gap is far too slow to observe. */
324
+ hintGapMs: number = NETWORK_HINT_CLIENT_GAP_MS,
264
325
  ): RemoteStatusStore {
265
326
  const gate = createLatestGate()
266
327
  const listeners = new Set<() => void>()
@@ -366,18 +427,71 @@ export function createRemoteStatusStore(
366
427
  }
367
428
  }
368
429
 
430
+ // ONE controlled round per hint.
431
+ //
432
+ // The chain is: hint → POST client/network-hint → host runs probeHealth()
433
+ // (authenticated GET /ping) → only a reachable host advances to
434
+ // networkRestored() (which is itself offline-only + 3s-gapped) → the next
435
+ // status poll reflects the new state, and the intercept layer's $zr/events
436
+ // leg reopens on its own once the relay reads online.
437
+ //
438
+ // THREE client-side guards keep a flapping machine from turning the hint
439
+ // into a poll: a healthy-link gate (the last status read said `online` —
440
+ // nothing to retire), an in-flight slot (one hint at a time), and a
441
+ // minimum gap (the same 3s the host enforces, so the two never fight).
442
+ let hintInFlight = false
443
+ let lastHintAt = 0
444
+
445
+ const sendNetworkHint = async (): Promise<void> => {
446
+ // The healthy-link gate: a hint exists to retire a stale `offline`. While
447
+ // the last status read says `online`, a tab switch or a browser `online`
448
+ // event must not spend the hint→ping→refresh triple. `view` undefined
449
+ // (no GET answered yet) passes — conservative before the first read.
450
+ if (snapshot.view?.state === 'online') return
451
+ if (hintInFlight) return
452
+ const now = Date.now()
453
+ if (now - lastHintAt < hintGapMs) return
454
+ lastHintAt = now
455
+ hintInFlight = true
456
+ try {
457
+ await fetchImpl(NETWORK_HINT_ROUTE, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: '{}' })
458
+ } catch {
459
+ // A hint that cannot be delivered is simply dropped — the poll and the
460
+ // streams are still the truth, and the next event tries again.
461
+ } finally {
462
+ hintInFlight = false
463
+ // Whatever the hint achieved, re-read the status so the UI stops
464
+ // showing a stale `offline` the moment the host is back.
465
+ void refresh()
466
+ }
467
+ }
468
+
469
+ let offNetworkHint: (() => void) | undefined
470
+ const startHintWiring = (): void => {
471
+ if (networkHint === undefined || offNetworkHint !== undefined) return
472
+ offNetworkHint = networkHint.subscribe(() => { void sendNetworkHint() })
473
+ }
474
+
369
475
  return {
370
476
  getSnapshot: () => snapshot,
371
477
  subscribe(listener: () => void): () => void {
372
478
  listeners.add(listener)
373
479
  syncPolling()
480
+ startHintWiring()
374
481
  return () => {
375
482
  listeners.delete(listener)
376
483
  syncPolling()
484
+ // The hint listener follows the subscribers: no page, no hints.
485
+ if (listeners.size === 0 && offNetworkHint !== undefined) {
486
+ offNetworkHint()
487
+ offNetworkHint = undefined
488
+ }
377
489
  }
378
490
  },
379
491
  refresh,
380
492
  unshare,
493
+ /** explicit hint trigger (tests / manual probe). */
494
+ notifyNetworkRestored: () => { void sendNetworkHint() },
381
495
  }
382
496
  }
383
497
 
@@ -399,6 +513,18 @@ export function subscribeIfVirtual(store: RemoteStatusStore, sessionId: string,
399
513
  * matter how many of the icon and banner parts are mounted at once. Created
400
514
  * lazily over the real fetch, so check scripts never construct it. */
401
515
  export function getRemoteStatusStore(): RemoteStatusStore {
402
- singleton ??= createRemoteStatusStore((input, init) => fetch(input, init))
516
+ // the REAL entry wiring. The network-hint source is
517
+ // passed here and nowhere else, so every mounted remote part (icon + banner)
518
+ // shares ONE store and therefore ONE hint subscription — no per-component
519
+ // listeners, no duplicate POSTs.
520
+ //
521
+ // Node / SSR: `windowNetworkHint.subscribe` returns a no-op detacher and
522
+ // never fires (there is no `window`), so a host mount is unaffected.
523
+ singleton ??= createRemoteStatusStore(
524
+ (input, init) => fetch(input, init),
525
+ documentVisibility,
526
+ REMOTE_STATUS_POLL_MS,
527
+ windowNetworkHint,
528
+ )
403
529
  return singleton
404
530
  }
@@ -52,6 +52,26 @@ export const CLIENT_STATUS_ROUTE = `${CLIENT_ROUTE_PREFIX}/status`
52
52
  * answered 409 unless the relay client is currently `offline`. */
53
53
  export const CLIENT_RECONNECT_ROUTE = `${CLIENT_ROUTE_PREFIX}/reconnect`
54
54
 
55
+ /** POST: the browser's NETWORK-RESTORED hint.
56
+ *
57
+ * Why this route exists: the host half runs in a plain Node process with no
58
+ * OS network events, and the browser half cannot touch the relay client's
59
+ * memory across the HTTP boundary. So the browser — the only place that can
60
+ * observe `online`/`visibilitychange` — reports the hint here, and the host
61
+ * turns it into ONE controlled probe + reconnect.
62
+ *
63
+ * Deliberately narrower than `reconnect`:
64
+ * - it first runs `probeHealth()` (authenticated GET /ping); a hint NEVER
65
+ * alone proves the link is back (`navigator.onLine === true` is not
66
+ * evidence);
67
+ * - only a successful probe advances to `networkRestored()`, which itself
68
+ * refuses outside `offline` and inside its 3s anti-storm gap;
69
+ * - it answers the probe outcome so the page can log/annotate it.
70
+ *
71
+ * It NEVER changes state by itself: `probeHealth` is read-only, and
72
+ * `networkRestored` is the same controlled path the settings button uses. */
73
+ export const CLIENT_NETWORK_HINT_ROUTE = `${CLIENT_ROUTE_PREFIX}/network-hint`
74
+
55
75
  /** GET: the remote-session status the T34 client parts render from (T34) —
56
76
  * the relay's serving state, the interface-compatibility verdict, the
57
77
  * handshake's server name, and the closed-session map. The prefix is
@@ -589,6 +609,39 @@ export function createClientHandler(options: ClientHandlerOptions): ClientHandle
589
609
  responseJson(res, 200, { ok: true })
590
610
  return
591
611
  }
612
+ if (route === CLIENT_NETWORK_HINT_ROUTE) {
613
+ if (method !== 'POST') {
614
+ res.setHeader('Allow', 'POST')
615
+ responseJson(res, 405, { ok: false, error: { code: 'method-not-allowed', message: 'Use POST' } })
616
+ return
617
+ }
618
+ if (!sameOriginPost(req)) {
619
+ responseJson(res, 403, {
620
+ ok: false,
621
+ error: { code: 'origin-rejected', message: 'The request must originate from this DSH Web application' },
622
+ })
623
+ return
624
+ }
625
+ const relay = options.getRelayClient?.()
626
+ if (relay === undefined) {
627
+ responseJson(res, 503, { ok: false, error: { code: 'unavailable', message: 'No relay client is running' } })
628
+ return
629
+ }
630
+ // a hint is a QUESTION, not a verdict.
631
+ // `probeHealth` is one authenticated GET /ping: it proves the HOST is
632
+ // reachable with the current token — nothing about the long streams.
633
+ // Only a reachable host earns the controlled reconnect, and
634
+ // `networkRestored()` is what enforces "offline only" + the 3s gap.
635
+ const reachable = await relay.probeHealth()
636
+ if (!reachable) {
637
+ // Honest answer: the network may be back, the HOST is not.
638
+ responseJson(res, 200, { ok: true, reachable: false, reconnected: false })
639
+ return
640
+ }
641
+ const reconnected = relay.networkRestored()
642
+ responseJson(res, 200, { ok: true, reachable: true, reconnected })
643
+ return
644
+ }
592
645
  if (route === CLIENT_REMOTE_STATUS_ROUTE) {
593
646
  if (method !== 'GET') {
594
647
  res.setHeader('Allow', 'GET')
@@ -57,6 +57,9 @@ const RELAY_PROTOCOL = 1
57
57
  const HANDSHAKE_PATH = '/_dsh/zen-remote/relay/v1/handshake'
58
58
  const INVOKE_PATH = '/_dsh/zen-remote/relay/v1/invoke'
59
59
  const STREAM_PATH = '/_dsh/zen-remote/relay/v1/stream'
60
+ /** the relay's existing authenticated health route
61
+ * (`GET …/relay/ping`, answers `{ok:true}`). Used by probeHealth() only. */
62
+ const PING_PATH = '/_dsh/zen-remote/relay/ping'
60
63
  const UNSHARE_PATH = '/_dsh/zen-remote/relay/v1/unshare'
61
64
  const EVENT_RESULT_PATH = '/_dsh/zen-remote/relay/v1/event-result'
62
65
  const HTTP_PATH = '/_dsh/zen-remote/relay/v1/http'
@@ -318,6 +321,18 @@ export interface RelayClient {
318
321
  * ladder (the settings page's 立即重连). Answers whether an attempt was
319
322
  * started — the reconnect route turns a false into a 409. */
320
323
  reconnect(): boolean
324
+
325
+ /** ONE lightweight authenticated health probe
326
+ * (`GET /ping`). Never changes `state`; de-duplicated while in flight;
327
+ * resolves false on any refusal. NOT a poller — call it on a real signal. */
328
+ probeHealth(): Promise<boolean>
329
+
330
+ /** a CONTROLLED fast-path for a reliable
331
+ * "network is back" signal. Fires only from `offline`, refuses within
332
+ * NETWORK_HINT_MIN_GAP_MS of the previous hint (no storm), and otherwise
333
+ * behaves exactly like reconnect(). connect() de-duplicates concurrent
334
+ * attempts via connectInFlight. Answers whether an attempt started. */
335
+ networkRestored(): boolean
321
336
  /** Notify that the credentials source may have changed (the loader's
322
337
  * volatile-update for the row): a pending reconnect wait is cancelled and,
323
338
  * with credentials present, one immediate attempt runs with the new
@@ -1308,6 +1323,62 @@ export function createRelayClient(options: CreateRelayClientOptions): RelayClien
1308
1323
  return true
1309
1324
  }
1310
1325
 
1326
+ /**
1327
+ * one authenticated `GET /ping` — the independent
1328
+ * health confirmation a restored link needs when no business traffic is
1329
+ * flowing. Never throws, never moves `state`, de-duplicated in flight.
1330
+ */
1331
+ let healthProbeInFlight: Promise<boolean> | undefined
1332
+ async function probeHealth(): Promise<boolean> {
1333
+ if (healthProbeInFlight !== undefined) return healthProbeInFlight
1334
+ const attempt = (async (): Promise<boolean> => {
1335
+ let creds: { url: string, token: string }
1336
+ try {
1337
+ creds = requireCredentials()
1338
+ } catch {
1339
+ return false
1340
+ }
1341
+ const ac = new AbortController()
1342
+ const timer = setTimeout(() => ac.abort(), Math.min(requestTimeoutMs, 8_000))
1343
+ if (typeof timer.unref === 'function') timer.unref()
1344
+ try {
1345
+ const response = await fetchImpl(`${creds.url}${PING_PATH}`, {
1346
+ method: 'GET',
1347
+ headers: {
1348
+ authorization: `Bearer ${creds.token}`,
1349
+ accept: 'application/json',
1350
+ },
1351
+ redirect: 'manual',
1352
+ signal: ac.signal,
1353
+ })
1354
+ return response.ok
1355
+ } catch {
1356
+ return false
1357
+ } finally {
1358
+ clearTimeout(timer)
1359
+ }
1360
+ })()
1361
+ healthProbeInFlight = attempt
1362
+ try {
1363
+ return await attempt
1364
+ } finally {
1365
+ if (healthProbeInFlight === attempt) healthProbeInFlight = undefined
1366
+ }
1367
+ }
1368
+
1369
+ /** controlled fast-path; see the interface note. */
1370
+ const NETWORK_HINT_MIN_GAP_MS = 3_000
1371
+ let lastNetworkHintAt = 0
1372
+ function networkRestored(): boolean {
1373
+ if (stopped || state !== 'offline') return false
1374
+ const now = clock.now()
1375
+ if (now - lastNetworkHintAt < NETWORK_HINT_MIN_GAP_MS) return false
1376
+ lastNetworkHintAt = now
1377
+ cancelRetry()
1378
+ void connect().catch(() => {})
1379
+ return true
1380
+ }
1381
+
1311
1382
  /**
1312
1383
  * The credentials source moved (a pairing write, an unpair, a hand edit
1313
1384
  * committed by the loader): drop any pending wait — the ladder belongs to
@@ -1907,6 +1978,11 @@ export function createRelayClient(options: CreateRelayClientOptions): RelayClien
1907
1978
  queueDeviceName,
1908
1979
  connect,
1909
1980
  reconnect,
1981
+ // the two new surfaces. `probeHealth` is the
1982
+ // authenticated GET /ping health check (never moves `state`);
1983
+ // `networkRestored` is the controlled fast-path (offline-only + 3s gap).
1984
+ probeHealth,
1985
+ networkRestored,
1910
1986
  credentialsChanged,
1911
1987
  stop,
1912
1988
  invoke,