mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-06-10 03:13:32 -07:00
feat(overlay): add loading OSD spinner and queue notifications until ren
- Show mpv OSD spinner from start-file until subminer-overlay-loading-ready; force-shown for visible-overlay startup regardless of osd_messages setting - Gate non-macOS overlay visibility on content-ready so first subtitle line is immediately hoverable and clickable - Queue startup notifications in main process until overlay window finishes loading; upsert progress cards by id to avoid cold-start floods - Defer background warmups until after overlay runtime init so queued notifications can deliver promptly - Preserve character dictionary checking/building/importing/ready phases as distinct history entries; route building and importing to system notifications when notificationType is both
This commit is contained in:
@@ -58,6 +58,22 @@ test('renderer reports subtitle bounds immediately after initial subtitle layout
|
||||
assert.ok(immediateMeasurementIndex < listenerIndex);
|
||||
});
|
||||
|
||||
test('renderer wires subtitle pointer handlers before first subtitle paint', () => {
|
||||
const primaryMouseEnterIndex = indexOfRequired(
|
||||
"ctx.dom.subtitleContainer.addEventListener('mouseenter', mouseHandlers.handlePrimaryMouseEnter);",
|
||||
);
|
||||
const pointerTrackingIndex = indexOfRequired('mouseHandlers.setupPointerTracking();');
|
||||
const initialRenderIndex = indexOfRequired('subtitleRenderer.renderSubtitle(initialSubtitle);');
|
||||
const initialMeasurementIndex = indexOfRequired(
|
||||
'positioning.applyYPercent(positioning.getCurrentYPercent());\n measurementReporter.emitNow();',
|
||||
);
|
||||
|
||||
assert.ok(primaryMouseEnterIndex < initialRenderIndex);
|
||||
assert.ok(pointerTrackingIndex < initialRenderIndex);
|
||||
assert.ok(primaryMouseEnterIndex < initialMeasurementIndex);
|
||||
assert.ok(pointerTrackingIndex < initialMeasurementIndex);
|
||||
});
|
||||
|
||||
test('renderer reports subtitle bounds immediately after live subtitle layout', () => {
|
||||
const liveRenderIndex = indexOfRequired('subtitleRenderer.renderSubtitle(data);');
|
||||
const liveLayoutIndex = indexOfRequired(
|
||||
|
||||
Reference in New Issue
Block a user