cross-tab-worker-databus 0.20.20 → 0.20.22
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/CHANGELOG.md +12 -0
- package/dist/centrifuge.js +1 -1
- package/dist/{chunk-2PUSQWOL.js → chunk-JOQXQPGI.js} +9 -2
- package/dist/{chunk-2PUSQWOL.js.map → chunk-JOQXQPGI.js.map} +2 -2
- package/dist/cjs/centrifuge.cjs +8 -1
- package/dist/cjs/centrifuge.cjs.map +2 -2
- package/dist/cjs/index.cjs +8 -1
- package/dist/cjs/index.cjs.map +2 -2
- package/dist/core/data-bus.d.ts +1 -0
- package/dist/core/data-bus.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/docs/roadmap.md +9 -1
- package/docs/zh/roadmap.md +9 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
本项目遵循 [Semantic Versioning](https://semver.org/);变更记录格式参考 [Keep a Changelog](https://keepachangelog.com/)。
|
|
4
4
|
|
|
5
|
+
## [0.20.22] - 2026-09-03
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Explicit stop/restart lifecycles now reset recovery attempt and exhaustion state so a new session starts with a fresh diagnostic sequence.
|
|
10
|
+
|
|
11
|
+
## [0.20.21] - 2026-09-03
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Recovery exhaustion diagnostics are now emitted at most once per failed recovery sequence and reset after a successful reopen.
|
|
16
|
+
|
|
5
17
|
## [0.20.20] - 2026-09-03
|
|
6
18
|
|
|
7
19
|
### Added
|
package/dist/centrifuge.js
CHANGED
|
@@ -1275,6 +1275,7 @@ var CrossTabDataBus = class {
|
|
|
1275
1275
|
// Monotonic attempt number within one runtime recovery sequence; reset once
|
|
1276
1276
|
// a transport reopen succeeds so traces can correlate repeated failures.
|
|
1277
1277
|
recoveryAttempt = 0;
|
|
1278
|
+
recoveryExhausted = false;
|
|
1278
1279
|
// True while the tab is hidden so an in-flight transport start does not mark
|
|
1279
1280
|
// the transport ready after suspendTransport() has stopped it.
|
|
1280
1281
|
suspended = false;
|
|
@@ -1673,6 +1674,8 @@ var CrossTabDataBus = class {
|
|
|
1673
1674
|
this.pendingStop = null;
|
|
1674
1675
|
this.lastError = null;
|
|
1675
1676
|
this.activeConfig = void 0;
|
|
1677
|
+
this.recoveryAttempt = 0;
|
|
1678
|
+
this.recoveryExhausted = false;
|
|
1676
1679
|
this.updateStatus("disconnected");
|
|
1677
1680
|
}
|
|
1678
1681
|
}
|
|
@@ -1883,7 +1886,10 @@ var CrossTabDataBus = class {
|
|
|
1883
1886
|
this.lastRecoveryAt = now;
|
|
1884
1887
|
const attempt = ++this.recoveryAttempt;
|
|
1885
1888
|
if (attempt > this.recoveryMaxAttempts) {
|
|
1886
|
-
|
|
1889
|
+
if (!this.recoveryExhausted) {
|
|
1890
|
+
this.recoveryExhausted = true;
|
|
1891
|
+
this.trace.event({ type: "reliability", operation: "transport_recovery", attempt: this.recoveryMaxAttempts, outcome: "exhausted" });
|
|
1892
|
+
}
|
|
1887
1893
|
return;
|
|
1888
1894
|
}
|
|
1889
1895
|
this.trace.event({ type: "reliability", operation: "transport_recovery", attempt, outcome: "scheduled" });
|
|
@@ -1997,6 +2003,7 @@ var CrossTabDataBus = class {
|
|
|
1997
2003
|
if (traceAttempt !== void 0) {
|
|
1998
2004
|
this.trace.event({ type: "reliability", operation: "transport_recovery", attempt: traceAttempt, outcome: "succeeded" });
|
|
1999
2005
|
this.recoveryAttempt = 0;
|
|
2006
|
+
this.recoveryExhausted = false;
|
|
2000
2007
|
}
|
|
2001
2008
|
if (this.startPromise === opening) this.startPromise = null;
|
|
2002
2009
|
},
|
|
@@ -2104,4 +2111,4 @@ export {
|
|
|
2104
2111
|
parseDataBusPublication,
|
|
2105
2112
|
selectWorkerBackend
|
|
2106
2113
|
};
|
|
2107
|
-
//# sourceMappingURL=chunk-
|
|
2114
|
+
//# sourceMappingURL=chunk-JOQXQPGI.js.map
|