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 +1 -1
- package/README.zh-CN.md +1 -1
- package/lib/client-routes.js +52 -0
- package/lib/client-routes.js.map +1 -1
- package/lib/client.js +101 -4
- package/lib/relay-client.js +71 -0
- package/lib/relay-client.js.map +1 -1
- package/lib/types/client-data/remote-status.d.ts +39 -2
- package/lib/types/client-data/remote-status.d.ts.map +1 -1
- package/lib/types/client-routes.d.ts +19 -0
- package/lib/types/client-routes.d.ts.map +1 -1
- package/lib/types/relay-client.d.ts +10 -0
- package/lib/types/relay-client.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client-data/remote-status.ts +128 -2
- package/src/client-routes.ts +53 -0
- package/src/relay-client.ts +76 -0
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.
|
|
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.
|
|
97
|
+
"dsh-zen-remote": "^2.2.9" // 本地开发换成 "link:/path/to/dsh-zen-remote"
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
```
|
package/lib/client-routes.js
CHANGED
|
@@ -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');
|
package/lib/client-routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-routes.js","sourceRoot":"","sources":["../src/client-routes.ts"],"names":[],"mappings":"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"}
|
|
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;;;;;;;;;;;;;;;;;6EAiB6E;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,mBAAmB,eAAe,CAAA;AAE9E;;;;;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,yBAAyB,EAAE,CAAC;gBACxC,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,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,uCAAuC;gBACvC,sEAAsE;gBACtE,qEAAqE;gBACrE,4DAA4D;gBAC5D,oEAAoE;gBACpE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAA;gBAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,2DAA2D;oBAC3D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;oBAC1E,OAAM;gBACR,CAAC;gBACD,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;gBAC3C,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;gBAClE,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"}
|
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
|
-
|
|
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
|
};
|
package/lib/relay-client.js
CHANGED
|
@@ -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,
|
package/lib/relay-client.js.map
CHANGED
|
@@ -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
|
|
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;
|
|
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,
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;
|
|
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.
|
|
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
|
-
|
|
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
|
}
|
package/src/client-routes.ts
CHANGED
|
@@ -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')
|
package/src/relay-client.ts
CHANGED
|
@@ -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,
|