Skip to content

feat: bulk job deletion with multi-select UI. Closes #445#481

Merged
C4illin merged 8 commits intoC4illin:mainfrom
Namit2003:bulk-delete
Dec 26, 2025
Merged

feat: bulk job deletion with multi-select UI. Closes #445#481
C4illin merged 8 commits intoC4illin:mainfrom
Namit2003:bulk-delete

Conversation

@Namit2003
Copy link
Contributor

@Namit2003 Namit2003 commented Dec 17, 2025

Add mass delete functionality to job history

Closes #445

Adds the ability to select and delete multiple jobs at once from the history page.

Changes

  • Added checkboxes to select individual jobs or all at once
  • Added "Delete Selected" button that appears when jobs are selected
  • New /delete-multiple POST endpoint that processes deletions sequentially
  • Validates user ownership and handles partial failures gracefully

Technical notes

  • Sequential deletion chosen for file system safety and better error tracking
  • Returns detailed success/failure counts
  • Reloads page after successful deletion

Summary by cubic

Adds bulk job deletion to the history page with multi-select checkboxes and a Delete Selected action. The server deletes selected jobs sequentially with ownership checks and returns detailed success/failure counts, addressing #445.

  • New Features
    • Multi-select on history: select all or individual jobs, with a visible selected count.
    • New POST /delete-multiple endpoint that accepts jobIds, validates input (max 100) and ownership, deletes sequentially, and returns deleted/failed totals and per-job details.
    • Client confirmation dialog; partial failures are surfaced; page reloads after successful deletions.

Written for commit bd05f37. Summary will update automatically on new commits.

@github-actions github-actions bot added Feature and removed Feature labels Dec 17, 2025
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

2 issues found across 2 files

Prompt for AI agents (all 2 issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="src/pages/deleteJob.tsx">

<violation number="1" location="src/pages/deleteJob.tsx:112">
P2: The `jobIds` array has no maximum size limit. Consider adding `maxItems` to prevent potential DoS attacks where a malicious user submits thousands of IDs, causing excessive database queries and prolonged request processing.</violation>
</file>

<file name="src/pages/history.tsx">

<violation number="1" location="src/pages/history.tsx:299">
P2: Missing `response.ok` check before processing the fetch response. If the server returns an HTTP error status (4xx/5xx), the code will still attempt to process the response body and may show incorrect success/failure messages. Check `response.ok` or `response.status` before parsing the response.</violation>
</file>

Reply to cubic to teach it or ask questions. Re-run a review with @cubic-dev-ai review this PR

@github-actions github-actions bot added Feature and removed Feature labels Dec 18, 2025
@C4illin
Copy link
Owner

C4illin commented Dec 21, 2025

Nice idea! Just some minor thoughts.

I think the button should be to the right here
image

More like this:

image

@github-actions github-actions bot added Feature and removed Feature labels Dec 21, 2025
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 2 files (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="src/pages/history.tsx">

<violation number="1" location="src/pages/history.tsx:57">
P2: Invalid HTML: `&lt;p&gt;` element inside `&lt;button&gt;` is not allowed. Button elements can only contain phrasing content, but `&lt;p&gt;` is flow content. Use `&lt;span&gt;` instead for valid markup.</violation>
</file>

Reply to cubic to teach it or ask questions. Re-run a review with @cubic-dev-ai review this PR

@Namit2003
Copy link
Contributor Author

Yes, I have made the necessary changes. Feel free to let me know if there is anything else.

Screenshot 2025-12-21 at 1 49 09 PM .

@C4illin
Copy link
Owner

C4illin commented Dec 23, 2025

What would you think about having it grayed out all the time so we don't have the bounce when it is shown? Or make it shorter so that it fits without expanding

@github-actions github-actions bot added Feature and removed Feature labels Dec 23, 2025
Copy link
Owner

@C4illin C4illin left a comment

Choose a reason for hiding this comment

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

Well done!

@C4illin C4illin merged commit 8af8e59 into C4illin:main Dec 26, 2025
6 checks passed
evil9369 pushed a commit to pi-docket/ConvertX-CN that referenced this pull request Feb 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request]Add “Delete” Function and Checkboxes in “History”

2 participants