Files
SubMiner/backlog/tasks/task-145 - Show-checking-and-generation-OSD-for-character-dictionary-auto-sync.md
sudacode e0f82d28f0 Improve startup dictionary sync UX and default playback keybindings
- Add default `f` fullscreen overlay binding and switch default AniSkip skip key to `Tab`
- Make character-dictionary auto-sync non-blocking at startup with tokenization gating for Yomitan mutations
- Add ordered startup OSD progress (checking/generating/updating/importing), refresh current subtitle on sync completion, and extend regression tests
2026-03-09 00:50:32 -07:00

2.0 KiB

id, title, status, assignee, created_date, updated_date, labels, dependencies, references, priority
id title status assignee created_date updated_date labels dependencies references priority
TASK-145 Show checking and generation OSD for character dictionary auto-sync Done
2026-03-09 11:20 2026-03-09 11:20
dictionary
overlay
ux
/home/sudacode/projects/japanese/SubMiner/src/main.ts
/home/sudacode/projects/japanese/SubMiner/src/main/runtime/character-dictionary-auto-sync.ts
/home/sudacode/projects/japanese/SubMiner/src/main/runtime/startup-osd-sequencer.ts
/home/sudacode/projects/japanese/SubMiner/src/main/character-dictionary-runtime.ts
medium

Description

Surface an immediate startup OSD that the character dictionary is being checked, and show a distinct generating message only when the current AniList media actually needs a fresh snapshot build instead of reusing a cached one.

Acceptance Criteria

  • #1 Auto-sync emits a checking progress event before snapshot resolution completes.
  • #2 Auto-sync emits generating only for snapshot cache misses and keeps updating/importing as later phases.
  • #3 Startup OSD sequencing still prioritizes tokenization then annotation loading before buffered dictionary progress.

Final Summary

Character dictionary auto-sync now emits Checking character dictionary... as soon as the AniList media is resolved, then emits Generating character dictionary... only when the snapshot layer misses and a real rebuild begins. Cached snapshots skip the generating phase and continue straight into the later update/import flow.

Wired those progress callbacks through the character-dictionary runtime boundary, updated the startup OSD sequencer to treat checking/generating as dictionary-progress phases with the same tokenization and annotation precedence, and added regression coverage for cache-hit vs cache-miss behavior plus buffered startup ordering.