Files
SubMiner/backlog/tasks/task-211 - Recover-anime-episode-progress-from-subtitle-timing-when-checkpoints-are-missing.md
sudacode 9d109de8db Restore anime episode progress from subtitle timing
- Fall back to latest retained subtitle/event segment end when `ended_media_ms` is missing
- Tighten stats command tests and add regression coverage for the fallback
2026-03-20 00:45:27 -07:00

1.5 KiB

id, title, status, assignee, created_date, updated_date, labels, milestone, dependencies, references
id title status assignee created_date updated_date labels milestone dependencies references
TASK-211 Recover anime episode progress from subtitle timing when checkpoints are missing Done
@Codex
2026-03-20 10:15 2026-03-20 10:22
stats
bug
m-1
src/core/services/immersion-tracker/query.ts
src/core/services/immersion-tracker/__tests__/query.test.ts

Description

Anime episode progress can still show 0% for older sessions that have watch-time and subtitle timing but no persisted ended_media_ms checkpoint. Recover progress from the latest retained subtitle/event segment end so already-recorded sessions render a useful progress percentage.

Acceptance Criteria

  • getAnimeEpisodes returns the latest known session position even when ended_media_ms is null but subtitle/event timing exists.
  • Existing ended-session metrics and aggregation totals do not regress.
  • Regression coverage locks the fallback behavior.

Implementation Notes

Added a query-side fallback for anime episode progress: when the newest session for a video has no persisted ended_media_ms, getAnimeEpisodes now uses the latest retained subtitle-line or session-event segment_end_ms from that same session. This recovers useful progress for already-recorded sessions that have timing data but predate or missed checkpoint persistence.

Verification: bun test src/core/services/immersion-tracker/__tests__/query.test.ts passed. bun run typecheck passed.