The 15 s health poll stays; the manual trigger and the rtt/poll-note
footer earned nothing over it.
Closes#106
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Under 40rem the seven-column line cannot fit: hdr and audio move
into the expand row, the surviving five columns tighten, and the
column header never wraps at any width.
Closes#105
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Deep-link, refresh and back/forward now land on the view the operator
was on instead of the board. Vanilla History API (pushState/popstate),
no router dependency: /library, /queues, /movies/{id}/releases and
/search?q= all restore on load.
Closes#102
An empty release list has two meanings the deck conflated: a sweep
that has not landed yet and a sweep that found nothing. The movie's
last_searched_at tells them apart, so the deck now shows a probing
'sweeping indexers' state and polls the movie (5 s, 150 s budget)
until the sweep lands, then renders buckets or an honest empty
verdict with the sweep's age. A sweep held by the §6.2 backoff times
out to a message that says so.
Closes#101
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>