Files
terebi/TODO.md
T

24 lines
1.7 KiB
Markdown

- [x] make sponsored blocks skippable:
- display the skip button used for openings and endings but for sponsored blocks it shouldn't disappear after a timeout
- add a setting for autoskipping (shouldn't activate if seeking onto the sponsored segment (or just before it) to avoid fighting user intention)
### Terebi handoff: restore opening/ending metadata for ZokoAnime
**Finding:** ZokoAnime already returns episode-relative timestamps in its decoded configuration:
```json
"skip": {
"intro": {"start": 49, "end": 144},
"outro": {"start": 1357, "end": 1451}
}
```
Values are seconds. Verified on Cowboy Bebop episode 1—including `/stream/mal/1/1/sub`, the actual resolver path—and Attack on Titan S3 Part 2 episode 1.
**Current gaps**
- `ZokoResolver.swift`: `parse` decodes only `src` and `subtitles`, discarding `skip`.
- `TerebiApp.swift`: `replaceMetadata(for:)` only acquires intervals for `miruro:` identities.
**Requested change:** retain optional provider intervals through resolution/source preparation and feed the existing metadata/display lifecycle for `anilist:` identities. No Tubular changes, Miruro lookup, or external timing service needed.
**Acceptance:** preserve fractional seconds; validate finite, nonnegative, ordered boundaries against actual media duration; missing/malformed intervals must not block playback. Clear stale intervals on media replacement and retain cancellation/generation guards. Cover direct launches, queues, and saved-episode reopening without changing existing display/skip policy.
**Evidence:** [research note](docs/miruro-segments.md#current-provider-investigation-2026-10-25). Metadata verified; player rendering and timestamp alignment were not.