Skip to content

Preserve waiting queue jobs and clarify documentation - #45

Merged
slashmad merged 1 commit into
mainfrom
fix/write-mode-root-lifecycle
Jul 28, 2026
Merged

Preserve waiting queue jobs and clarify documentation#45
slashmad merged 1 commit into
mainfrom
fix/write-mode-root-lifecycle

Conversation

@slashmad

Copy link
Copy Markdown
Owner

Summary

  • make Queue Clear remove only terminal entries while preserving QUEUED and RUNNING work
  • use the same explicit terminal-state allowlist in SQLite cleanup and the WebUI
  • add Move and Reconcile regression coverage for queue cleanup
  • rewrite the repository README around the problem Stowarr solves, its Sync/Reconcile/Move workflows, safety model, setup, Safe assisted repair, shared FIFO, and restart recovery

Why

The previous cleanup query deleted every non-running row, including jobs still waiting in the FIFO. The repository homepage also led with development tooling before explaining Stowarr's purpose and operating model.

Verification

  • 119 Python tests pass
  • focused Move and Reconcile queue-cleanup tests pass
  • Ruff passes
  • ESLint and the complete frontend lint suite pass
  • git diff --check passes

@slashmad
slashmad merged commit 1a0a535 into main Jul 28, 2026
3 checks passed
@slashmad
slashmad deleted the fix/write-mode-root-lifecycle branch July 28, 2026 17:39

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 00f44b9c6e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/stowarr/web/app.js
Comment on lines +613 to 615
const removable=rows.filter(item=>QUEUE_TERMINAL_STATES.has(item.state)).length;
const clearButton=$(`.clear-queue[data-kind="${kind}"]`);
if(clearButton)clearButton.disabled=!removable;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Allow clearing terminal rows beyond the first queue page

When a queue has at least 200 waiting/running jobs plus older terminal jobs, /api/queue and /api/reconcile-queue return only the first 200 rows and order all active rows before terminal rows, so this filter finds zero removable entries and disables Clear even though the DELETE endpoint has terminal rows to remove. Use a server-provided terminal count or otherwise keep the action available when terminal rows may exist beyond the response limit.

Useful? React with 👍 / 👎.

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