fix(immersion): use localtime rollup keys and guard sentence search limi

- Remove UTC-based UNION branch from getRollupGroupsForSessions; keep only localtime rollup
- Add resolveSentenceSearchLimit to clamp/sanitize infinity and negative limit values
- Switch onMiningImageEvent from queued to latest-value IPC listener (drop stale frames)
- Add regression tests for rollup key locality and sentence search limit edge cases
This commit is contained in:
2026-06-05 13:08:42 -07:00
parent eb5e07cfc0
commit 10c99b526b
7 changed files with 55 additions and 14 deletions
+9
View File
@@ -34,6 +34,15 @@ test('overlay preload buffers only latest subtitle state until renderer listener
assert.match(source, /onSubtitle:\s*\(callback:[\s\S]+?onSubtitleSetEvent\(callback\);/);
});
test('overlay preload buffers only latest mining image payload before listener registration', () => {
const source = fs.readFileSync(path.join(process.cwd(), 'src', 'preload.ts'), 'utf8');
assert.match(
source,
/const onMiningImageEvent =\s*createLatestValueIpcListenerWithPayload<MiningImagePayload>\(\s*IPC_CHANNELS\.event\.miningImage,/,
);
});
test('overlay preload exposes queued pointer recovery requests', () => {
const source = fs.readFileSync(path.join(process.cwd(), 'src', 'preload.ts'), 'utf8');