fix(k1): stabilize live recovery and media admission
This commit is contained in:
@@ -244,13 +244,16 @@ test("connecting Rerun authority requires an exact recovery generation lease", (
|
||||
);
|
||||
});
|
||||
|
||||
test("opening receiver gets bounded rolling patience while backend publication advances", () => {
|
||||
test("opening receiver preserves partial store replay while backend publication advances", () => {
|
||||
let openState = initialLiveReceiverOpenWatchdogState(0, 0);
|
||||
let recoveryState = initialLiveReceiverRecoveryState();
|
||||
|
||||
const samples = [
|
||||
[134, 3_999, "wait-for-store"],
|
||||
[266, 4_000, "refresh-receiver"],
|
||||
[266, 4_000, "wait-for-store"],
|
||||
[380, 8_000, "wait-for-store"],
|
||||
[486, 12_000, "wait-for-store"],
|
||||
[700, 120_000, "wait-for-store"],
|
||||
];
|
||||
for (const [backendActivitySequence, nowMs, expectedSignal] of samples) {
|
||||
const observed = advanceLiveReceiverOpenWatchdog(
|
||||
@@ -302,17 +305,17 @@ test("fresh backend progress preserves earlier restart debt until viewer admissi
|
||||
});
|
||||
});
|
||||
|
||||
test("aged active receiver refresh does not spend or erase restart debt", () => {
|
||||
test("aged active receiver remains intact and preserves restart debt", () => {
|
||||
const openState = initialLiveReceiverOpenWatchdogState(486, 0);
|
||||
const consumedRestart = requestLiveReceiverRecovery(initialLiveReceiverRecoveryState());
|
||||
const observed = advanceLiveReceiverOpenWatchdog(
|
||||
openState,
|
||||
consumedRestart.state,
|
||||
900,
|
||||
4_000,
|
||||
12_000,
|
||||
);
|
||||
|
||||
assert.equal(observed.signal, "refresh-receiver");
|
||||
assert.equal(observed.signal, "wait-for-store");
|
||||
assert.deepEqual(observed.recoveryState, consumedRestart.state);
|
||||
assert.equal(observed.openForMs, 4_000);
|
||||
assert.equal(observed.openForMs, 12_000);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user