Document the download surface in DESIGN.md #262

Closed
opened 2026-08-26 10:59:53 +01:00 by naps62-yolo · 2 comments
Owner

§8 already rules that download progress is transient state, held in memory and
rebuilt from Transmission on startup. What it does not say is where that state
is ever seen: §9 describes search, the release deck, the library and the
attention queues, and nothing about a download in flight. The result is that a
season pack downloading and a season pack that never started look identical in
the UI.

Write the surface into the document before it is built:

  • Progress is shown inline, on the row that owns the item — a movie row,
    a season row for its pack, an episode row. There is no downloads page and no
    count in the rail; a download is an attribute of the thing being downloaded,
    not a place to visit.
  • Alongside progress the same row carries the other states a torrent can be
    in: seeding under §7.3's obligation, stalled, errored.
  • A torrent arr did not grab is never shown. §2 already says the service
    knows only what it put on disk, and Transmission's own UI lists the rest.
  • Nothing is persisted. No progress column, no new table — the snapshot comes
    from Transmission and dies with the process, exactly as §8 says.
  • At phone width only active-grab progress survives; seeding and stalled shed
    with the other chips §9.3 already sheds.

Operator decisions this records, from the planning session: inline rather than
a queue view, foreign torrents dropped, ~15s polling reusing the UI's existing
cadence rather than SSE.

Non-goals: any change to what the reconcile loop does, and any new state
machine — §7.3's two lifecycles stay as they are.

§8 already rules that download progress is transient state, held in memory and rebuilt from Transmission on startup. What it does not say is where that state is ever seen: §9 describes search, the release deck, the library and the attention queues, and nothing about a download in flight. The result is that a season pack downloading and a season pack that never started look identical in the UI. Write the surface into the document before it is built: - Progress is shown **inline, on the row that owns the item** — a movie row, a season row for its pack, an episode row. There is no downloads page and no count in the rail; a download is an attribute of the thing being downloaded, not a place to visit. - Alongside progress the same row carries the other states a torrent can be in: seeding under §7.3's obligation, stalled, errored. - **A torrent arr did not grab is never shown.** §2 already says the service knows only what it put on disk, and Transmission's own UI lists the rest. - Nothing is persisted. No progress column, no new table — the snapshot comes from Transmission and dies with the process, exactly as §8 says. - At phone width only active-grab progress survives; seeding and stalled shed with the other chips §9.3 already sheds. Operator decisions this records, from the planning session: inline rather than a queue view, foreign torrents dropped, ~15s polling reusing the UI's existing cadence rather than SSE. Non-goals: any change to what the reconcile loop does, and any new state machine — §7.3's two lifecycles stay as they are.
naps62-yolo added this to the Download visibility milestone 2026-08-26 10:59:53 +01:00
naps62-yolo added the area/infradifficulty/trivialphase/5-uitype/chore labels 2026-08-26 10:59:53 +01:00
naps62-yolo added a new dependency 2026-08-26 11:00:35 +01:00
Author
Owner

Note for the record while writing this into DESIGN.md (commit on issue/262-download-surface): the issue says seeding/stalled shed at phone width "with the other chips §9.3 already sheds", but §9.3 nowhere mentions phone-width shedding. The amendment states the rule without that cross-reference; if §9.3 is meant to shed its own chips on phones, that rule needs adding there too.

Note for the record while writing this into DESIGN.md (commit on `issue/262-download-surface`): the issue says seeding/stalled shed at phone width "with the other chips §9.3 already sheds", but §9.3 nowhere mentions phone-width shedding. The amendment states the rule without that cross-reference; if §9.3 is meant to shed its own chips on phones, that rule needs adding there too.
Author
Owner

Landed on blitz/download-visibility as 54438bb — §9.8 "Downloads on the row", plus the §8 cross-reference. Gate green on the integration branch.

Landed on `blitz/download-visibility` as 54438bb — §9.8 "Downloads on the row", plus the §8 cross-reference. Gate green on the integration branch. <!-- agent-meta: {"model":"claude-opus-5","session":"ca32abe7"} -->
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: yolo/arr#262