Commit Graph
12 Commits
Author SHA1 Message Date
TechNapoleonandGitHub 28565a88dd feat: pick a folder per download with D (#54)
The o key sets one global download folder, so routing a single result
somewhere else (a movie to the NAS, a game to the big drive) meant
changing the setting and changing it back. D on a result now opens a
"download to" prompt for just that item; d stays a one-keypress
download to the default.

The queue already stores a dir per item, so resume, re-seed and
download-again honor the choice with no new plumbing. The prompt
reuses FolderPrompt (new title prop), pre-fills with the last D folder
this session so batches cost one typed path, and nothing new is
persisted. The ? sheet gains d/D entries (d was missing entirely) and
the README now mentions both o and D, which it never documented.

One behavior fix rides along because D exposed it: queue.add() used to
ignore the requested dir when re-adding a failed item, so redirecting
a failed download (the disk-full case D exists for) silently retried
into the old folder. add() now adopts the requested dir on failed
retry, dropping resume progress only when the folder actually changed;
covered in queue.add.test.ts with the engine mocked. The f retry key
goes through queue.retry() and keeps the item's own folder, unchanged.
D on an already-active item says "Already in queue" instead of
claiming a folder that wouldn't be used.
2026-07-05 14:57:32 -04:00
bairon.dev dbe543b433 fix: drop SolidTorrents so games stop showing under TV (#33) 2026-07-02 01:01:51 -04:00
bairon.dev bf2daceb49 feat: accept a bare infohash (#32) 2026-07-02 00:22:12 -04:00
bairon.dev 01715b7172 docs: open the readme with the torrent pain point 2026-06-29 14:20:20 -04:00
bairon.dev 96162598c6 docs: add contributor guide and PR template 2026-06-29 14:09:28 -04:00
bairon.dev 69027331b2 chore: publish as torlnk on npm, keep torlink as the brand
The npm name and command become torlnk (npx torlnk) to clear npm's
"too similar to comlink" guard, mirroring the sndcli/soundcli split. torlink
stays the brand everywhere it matters: the logo wordmark, app and terminal
title, version string, the data and downloads folder (APP_NAME), and the repo.
Updates the cli usage lines, readme install commands, and the user-agent
package url to match.
2026-06-27 18:04:28 -04:00
bairon.dev 21fd77002b fix: clarify c removes from the list, never your files
Reword the c help labels (Downloads "Cancel or remove from list", Seeding
"Remove from list", dropping the Downloads cross-reference) and add a help
note that downloaded files always stay on disk, so cancel and remove never
read as deleting your media. Also trims the over-specific c sentence from the
readme and refreshes the npm description and keywords.
2026-06-27 17:47:35 -04:00
bairon.dev 3616c9305c docs: lead the readme with the in-app flow, drop cli commands from the intro
torlink is a TUI, so Get started now keeps just the single npx torlink launch
and frames searching, pasting a magnet, browsing, and the ? cheatsheet as
in-app keypresses, instead of opening with magnet/torrent args and a global
install.
2026-06-27 17:28:06 -04:00
bairon.dev 14b4a5ede6 feat: seed downloads by default (opt-out) with robust resume and clean quit
Finished downloads now keep seeding automatically and you opt out per item with
p, reusing the live torrent instead of tearing it down. Resume and restore seed
from the .torrent metadata captured at download time, so they verify the local
file immediately rather than depending on re-fetching metadata from the swarm.

Quitting now flushes queue, history, and seeds synchronously and exits
immediately, fixing the hang when quitting while seeding or with a paused seed.
Paused seeds persist their state and stay paused across restarts. Hide the
hardware cursor on the splash, and clarify that c removes a finished item the
same way in Downloads and Seeding.

Tests are isolated from the real data dir via a TORLINK_STATE_DIR override plus
vitest config, so runs never touch user data. Adds scripts/verify-seeding.ts
(npm run verify:seeding), an offline-deterministic harness proving seed, pause,
and resume transfer real bytes.
2026-06-27 17:02:22 -04:00
bairon.dev 8a9886be9c feat: wordmark + progress-bar sheen, dark-violet svg base, readme refinements 2026-06-27 12:42:38 -04:00
bairon.dev ea12f2f134 docs: refine readme examples and phrasing 2026-06-27 02:39:41 -04:00
bairon.dev 60d7a9a755 feat: terminal-native torrent discovery TUI
Curated, multi-source torrent search and download from the terminal:
concurrent search across built-in sources with streamed, source-tagged
results; a download-only webtorrent engine with true pause/resume and
restart recovery; magnet paste; and a calm Ink + React TUI. No indexer
server, no setup.
2026-06-27 02:03:19 -04:00