docs: document unlinkImportedFiles and the real-time UI for v0.3.0 - #83
Merged
Conversation
The SSE switch in #78 replaced the UI's polling and refresh controls, and the docs never caught up: nothing described how pages stay current, and nothing warned that a buffering reverse proxy breaks it. - Management UI gains a "Live updates" section: the three snapshot streams, the 15s ping, automatic reconnect, and the Live/Reconnecting badge. - Troubleshooting gains an entry for a UI stuck on "Reconnecting…" — proxy buffering, short idle timeouts, unreachable management API. - Home page and page descriptions mention live updates.
Contributor
|
v0.3.0 added downloads.unlinkImportedFiles and put the whole downloads block in the UI, but the guide never said jack's copy of a download outlives the import. A user following Getting started ends up with a completed folder that grows forever and no idea there's a switch for it — the option existed only in the config reference, which you read after you already have the problem. - How it works: the download flow now ends where it actually ends, with an "After the import" section on the two on-disk outcomes (hardlink vs copy), what the switch does, and why it's narrow. - Getting started: surfaces the choice while you're writing the downloads block. - Troubleshooting: "The completed folder keeps growing". - Management UI: a Settings -> Downloads section — defaults as placeholders, clearing a field restores the default, restart semantics.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Docs for everything user-facing between
v0.2.0andv0.3.0.Two of the four feature PRs shipped doc changes, but only into the reference. The gap was the guide:
unlinkImportedFiles— a new option that decides whether your completed folder grows forever — appeared nowhere a user reads before they have the problem.The main thing:
unlinkImportedFiles(#79, #80)configuration.mddocumented the key well. Nothing else did. Following Getting started end to end, you'd never learn that importing doesn't consume the file incompletedPath— jack's copy stays, and the folder grows with every grab. The switch that fixes it was reachable only from the config reference.guide/how-it-works.md— the download flow stopped at "*arr imports the file" and implied that was the end. Now it has step 6 plus an After the import section: the two on-disk outcomes (hardlinked → shared bytes, redundant entries; copied → a real second copy of everything), whatunlinkImportedFilesdoes in each case, that it's off by default, and why the unlink is narrow — confirmed imports only, that one file, never your library. Sequence diagram extended to match.guide/getting-started.md— raises the choice while you're writing thedownloadsblock, with the config snippet, rather than leaving you to find it later. Also notes the rest of the block is optional and UI-editable.guide/troubleshooting.md— "The completed folder keeps growing": this is expected behaviour, here's the switch, it applies with no restart, and it's not retroactive (deleting rows in the UI clears their files).guide/management-ui.md— a Settings → Downloads section for feat(ui): expose the whole downloads config block in Settings #80's form: placeholders are jack's defaults, clearing a field restores the default,completedPathcan't be cleared, and onlyunlinkImportedFilesskips the restart.Also: the SSE switch (#78, #77)
#78 replaced the UI's polling with SSE and #77 raised the management API idle timeout to keep those streams alive; neither documented it.
guide/management-ui.md— a Live updates section: the three snapshot streams, snapshot-on-connect then snapshot-per-change, the 15sping, auto-reconnect, the Live/Reconnecting badge, and the reverse-proxy requirements (buffering off, idle timeout > 15s).guide/troubleshooting.md— an entry for a UI stuck on Reconnecting….The generated API reference already picks the
/*/streamendpoints up from the OpenAPI spec at build time, so no manual work there.Verification
bun run buildinwebsite/passes — VitePress resolves every internal link and anchor, including the new cross-links between the four pages. Behavioural claims (unlink guards, delete-removes-file, restart semantics, stream paths and mount prefixes) were checked againstartifact-cleanup.ts,downloads.service.ts,sse.ts, and the routers rather than the commit messages. Rendered appearance not checked — no browser on this box.