Repository navigation
fix: list the remembered OpenSubtitles file in the detail page's Subtitles menu - #189
Conversation
…itles menu Coming back to a title after picking an OpenSubtitles file, the Subtitles menu on the movie or episode page didn't list that file, and neither Auto nor Off was ticked, so the subtitle looked gone. Tapping anything there to fix it then really did forget the file. The menu now lists the file as "OpenSubtitles · file name" with a tick, on Apple TV and on iPhone and iPad. Choosing it keeps it.
There was a problem hiding this comment.
Claude review of the whole PR at 329ae09. The summary comment lists everything found.
|
Claude review of the new commits 329ae09..6bc6412 I reviewed the new commits: the
I couldn't check any of this by running the apps. I only read the code. I checked the new commits against the code and found nothing to fix. The earlier "Until then" wording in docs/playback/README.md now reads "for as long as it's remembered", which matches how claude-sonnet-5-5, high effort, 16 turns, about US$0.29 of API credit |
…ile shows after launch The store only learns its connection and scope when something reloads it, and nothing on the detail pages did. Straight after launch the remembered file's row, tick and label were missing until the player, a search or Settings had run. Both detail pages now reload it when they appear. Also corrects the playback README wording and adds the row to the architecture doc.
Problem and reproduction
Reported on Discord against 0.44.0 on Apple TV with Emby: pick a subtitle from OpenSubtitles, close the video, come back to the title, and the srt has gone. It happens every time.
Vivid already remembers the chosen OpenSubtitles file per title and file version, and the player restores it on the next play. The detail page's Subtitles menu was the gap:
To reproduce on
main: connect OpenSubtitles, play a title and pick a subtitle from Find on OpenSubtitles, stop, then open Subtitles on the movie or episode page. The file isn't listed and nothing is ticked.Implementation and impact
TVPlaybackSelectorRow.swift(Apple TV): the Subtitles menu lists the file as "OpenSubtitles · file name" with a tick, after Off (and while the file's own subtitles are still being read, straight after Auto). Choosing it does nothing except close the menu, so the file is kept.OpenSubtitlesViews.swift(iPhone and iPad detail sheet): the same row after Off. Choosing it closes the sheet and keeps the file.stagedLabel, which already drives the summary line and the Auto and Off ticks.OpenSubtitlesStore.reload()when they appear. Before, nothing on the detail page loaded the store's connection and scope, so straight after launchstagedLabelreturned nil and the file's label and tick (and now the row) were missing until the player, a search or Settings had run. This was likely part of the original report too, since on a fresh launch Auto showed ticked instead.Deliberately unchanged: how the file is remembered and restored, what Auto, Off and the other rows do (they still replace the file, as documented), the player's own subtitle menus (which already list the file), and Silo, Emby and Jellyfin behaviour, which is the same for all three.
Validation
xcodebuild build -scheme VividTVon the Apple TV 4K (3rd generation) simulator,CODE_SIGNING_ALLOWED=NO: succeeded, with both changed files recompiled.xcodebuild build -scheme Vividon the iPhone 18 Pro simulator,CODE_SIGNING_ALLOWED=NO: succeeded.python3 scripts/ci/check-docs.py --base origin/main: passed.Performance
Not applicable. The row reads the same in-memory label the menu already reads for its ticks.
Testing status
6bc6412(builds and docs check rerun after the review fixes).Design impact and approval
Important
Only blurbery can approve design changes. Obtain prior, explicit approval and reference it here. Unapproved design changes must not be merged.
Documentation impact
docs/plugins.md: Next time you watch now says the detail page lists the remembered file with a tick.docs/playback/README.md: the subtitle menus paragraph says the same.docs/playback/architecture.md: the OpenSubtitles paragraph covers the row and the reload on the detail pages.I checked the docs this change affects and updated them in this PR, or explained above why none needed changes.
AI disclosure
Important
Required for every PR. Incomplete disclosures are not ready for review or merge.
I implemented these changes and used Claude Opus as a tool.