[TV] Search suggestions and history - #5746
Conversation
|
Claude finished @sztomek's task in 6m 3s —— View job Review: [TV] Search parity with Apple TV
Nice piece of work — the parity table in the description made this easy to follow, and calling out the podcast-ordering reversal for a decision rather than burying it is exactly right. The Most of what follows falls out of one thing: the search is now two-phase, and a few places still assume it's atomic. Blocking-ish1. Unguarded suspend calls can crash the app — 2. Transient false "No results for …" — 3. The two phases are serialised — Worth fixing before merge4. Three dead imports in 5. Preview coverage — the checklist claims previews cover the new components, but 6. Redundant truncation — 7. Focus / UX to verify on device8. Focus black hole after picking a suggestion — the focused tile is removed from composition in the same frame with no explicit focus target. Other restore sites here all use a 9. Rows inserted above the focus — when the full search lands, Featured and Episodes carousels appear above the podcasts row the user may already be scrolling. That's the price of progressive + Apple's row order; just flagging it as the thing to watch when you get a device. On your open question — podcast orderingWorth noting that the code doesn't quite do what the description says. The precedence is For what it's worth: subscribed-first is a stronger default on a 10-foot UI, where scrolling is expensive and the shows you follow are the ones you're most likely reaching for. If you keep remote-first, a "Your shows" section would recover most of that. Smaller notes
I did not build or run the test suite in this environment; findings are from reading the diff and surrounding code. |
Generated by 🚫 Danger |
69e600c to
489431e
Compare
|
Version |
Description
Brings the Android TV Search screen up to parity with the Apple TV app (
pocket-casts-ios/Pocket Casts TV App/UI/Search), closing a set of gaps found in a behavioural audit. Stacked on #5745 (the combined-search crash fix) — review/merge that first; this PR's diff excludes it.What changed
combinedSearch(all-at-once)autoCompleteSearch) → fast podcasts + term suggestions, then full search fills in episodeshas_videodropped by the DTOSearchTopResultsView)Shared
servers/modelchange:CombinedResult.EpisodeResultnow parseshas_video, andImprovedSearchResultItem.EpisodeItemcarrieshasVideo(additive, defaults false — benefits phone too).There is an ongoing conversation about the UX, see slack: p1786735532787109-slack-C0ATWH7BNH3
Fixes POC-848 https://linear.app/a8c/issue/POC-848/search-suggestions-and-history
Notes / follow-ups
Testing Instructions
network-type results still error)../gradlew :tv:installDebug. Open Search, type a query:./gradlew :tv:testDebugUnitTest :modules:services:servers:testDebugUnitTest :modules:services:repositories:testDebugUnitTest.Screenshots or Screencast
Screen_recording_20260814_212101.mp4
Checklist
./gradlew spotlessApply)