Skip to content

fix(activity): Clear Completed leaves out requests that are still pending - #1438

Open
splitsec2 wants to merge 1 commit into
calibrain:mainfrom
splitsec2:fix/clear-completed-skip-open-requests
Open

splitsec2 wants to merge 1 commit into
calibrain:mainfrom
splitsec2:fix/clear-completed-skip-open-requests

Conversation

@splitsec2

Copy link
Copy Markdown
Contributor

Kept small on purpose so it's easy to review. Same kind of small fix as #1429, so see the question there about separate PRs versus combined.

"Clear Completed" sends each finished download plus the request linked to it. The server only dismisses finished requests, and if one request in the batch is still pending it answers 409 "Only terminal requests can be dismissed" and nothing gets cleared. A request can be pending while its download has ended, for example when the startup sweep from #1409 reopens the request of an interrupted download. On my instance 25 finished downloads were linked to 21 pending requests, and the button failed every time.

The button now leaves out the request target when the request list shows it as pending, and still dismisses the download. A request the list has no record of is sent as before. The target logic moved into a small getClearCompletedTargets helper so it can be tested without rendering the sidebar. The pending-request test fails on the old logic.

Vitest (225 passing), tsc, oxlint and oxfmt are clean. I reproduced the 409 from the server log and the data, but I haven't clicked through it in the UI with this build.

The one red check is the existing clock-dependent test test_a_queued_torrent_asks_for_a_grace_once, which fails on any runner that booted recently. It is fixed in #1426 and is not caused by this change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant