async fn with_hints<P, H>(
primary: impl Future<Output = P>,
hints: impl Future<Output = H>,
) -> (P, H)where
H: Default,Expand description
Run primary and hints together, but never hold primary back for
hints: once primary is ready, the hints are taken if they have already
answered and dropped (H::default()) if not.
For the series view the primary is the episode list and the hints are Next Up and resume, which only refine which episode is “current” — and the picker falls back to the episodes’ own watch state without them. Waiting for them made the episode list wait for the server (2-3 s on a phone) although every episode was in the cache in 50 ms. The cache legs of the hints usually answer before the episodes do, so they are normally kept.
TRACES: UR-062 | DR-101, DR-295