Wire up controls that were rendered but inert, expose unused server
actions, and harden the live update path.
Controls now functional:
- File priority dropdowns (Content tab) now persist via new
setFilePriority server action
- Context menu: Set location, Limit download/upload rate, Set share
limit (wire setSavePath/setDownLimit/setUpLimit/setRatioLimit)
- Trackers sidebar filter actually filters (snapshot now carries
per-torrent trackerHosts)
Robustness:
- Grid updates cells in place when row order/columns are unchanged
(preserves text selection/scroll, no per-second listener re-bind)
- Boot retries until the server responds; SSE drops show a
"Reconnecting" banner; failed actions/add/delete surface a toast
- Prune selection/detail for torrents that disappear
- Drop Backspace-as-delete (kept Delete)
Cleanup:
- Remove pseudo DHT/PeX/LSD names from the real-tracker host pool in
mock data (they leaked into announce URLs and the sidebar)
- Remove dead detailTab import/export
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>