History

feat: export a search result as .torrent without downloading it (#125)

* feat(ui): export a search result as .torrent without downloading it Lets you grab the .torrent file for a torrent you haven't downloaded yet straight from the details view, fetching just the metadata over the network (destroying the handle the instant it arrives) or reusing a cached .torrent if one already exists. Bound to `s` in the details view to mirror the existing "export" key on the downloads page, at the cost of overloading `s` with "sort" in the results list (see PR description for the tradeoff). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X8mRpPSwcUzB2p4zJQtnQm * fix(ui): rebind export to e, add metadata-fetch timeout, trim help label Splits sort and export back apart per review: s stays Sort (used far more often) and e becomes Export in the results detail view, freeing up the duplicate s row in the ? sheet. fetchAndExportTorrent now races the metadata fetch against a 20s timeout so a no-peer magnet resolves null instead of hanging forever. Shortening the help label back under the packing threshold restores the four-column layout at 136 cols. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X8mRpPSwcUzB2p4zJQtnQm ---------

Chris Pyles committed 3 months ago

Commit a7017551 parent de43d0f9 files · +277 −5Browse files

Showing the changes to scripts (1 of 9 files). Show all

Unified · Split

scripts/render-previews-impl.tsx+3−0
@@ -96,11 +96,14 @@ function makeStore( · 95 unmodified lines
9696 setDownloadFocus: noop,
9797 seedFocus: null,
9898 setSeedFocus: noop,
99+ resultFocus: null,
100+ setResultFocus: noop,
99101 startDownload: noop,
100102 requestDownloadTo: noop,
101103 copyMagnet: noop,
102104 openDownloadFolder: noop,
103105 exportTorrent: noop,
106+ fetchAndExportTorrent: noop,
104107 notice: null,
105108 setNotice: noop,
106109 quitAll: noop,