Skip to content

feat(frontend): add batch pause/resume + confirmation modal to StreamsTable bulk actions (#762) - #941

Open
utosjr1913 wants to merge 2 commits into
ritik4ever:mainfrom
utosjr1913:feat/762-bulk-batch-actions
Open

feat(frontend): add batch pause/resume + confirmation modal to StreamsTable bulk actions (#762)#941
utosjr1913 wants to merge 2 commits into
ritik4ever:mainfrom
utosjr1913:feat/762-bulk-batch-actions

Conversation

@utosjr1913

Copy link
Copy Markdown

Summary

Closes #762.

Bulk selection (checkboxes, select all/deselect all, sequential batch cancel) was
already implemented in StreamsTable.tsx. This PR adds the three pieces the issue
still required:

  1. Pause and Resume batch actions, alongside the existing Cancel
  2. A confirmation modal showing the affected count, gating all three actions
    behind an explicit confirm step
  3. Per-stream failure reporting in the UI — previously failures only went to
    console.error

Changes

  • New: frontend/src/components/BulkActionModal.tsx — confirm → running →
    complete modal, reusing the app's existing .modal-backdrop/.modal-panel
    styles and useFocusTrap hook (same pattern as the existing
    ClaimBatchModal.tsx).
  • frontend/src/components/StreamsTable.tsx:
    • isStreamSelectable now includes paused streams (needed so Resume has
      eligible targets)
    • BulkActionBar now renders Pause / Resume / Cancel, all routed through the
      new confirmation modal instead of firing immediately
    • Generalized the old cancel-only handler into requestBulkAction /
      runBulkAction, which collects { streamId, message } failures per stream
  • frontend/src/index.css: added the .bulk-action-bar styles, which were
    referenced in the component but never defined anywhere — the floating action
    bar has been rendering completely unstyled until this PR.
  • Updated BULK_SELECTION_VISUAL_GUIDE.md and BULK_SELECTION_IMPLEMENTATION.md
    to match.

Verification against acceptance criteria

  • Checkbox column, select all/deselect all — pre-existing.
  • Batch actions: cancel, pause, resume — Pause/Resume added.
  • Confirmation modal showing count.
  • Batch cancel triggers individual cancel per stream — generalized to
    pause/resume too.
  • Partial failures shown per stream — listed by stream ID in the modal.
  • UI matches BULK_SELECTION_VISUAL_GUIDE.md — guide updated, missing CSS added.

Known blocker for CI verification

frontend/package.json is empty in this repo (pre-existing, unrelated) —
npm install fails immediately, so I couldn't run the test suite locally.
Flagging for a separate fix.

@drips-wave

drips-wave Bot commented Sep 5, 2026

Copy link
Copy Markdown

@utosjr1913 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

@utosjr1913 is attempting to deploy a commit to the ritik4ever's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 4704ffc2-679e-4f58-a89e-9223733dc526


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

[FEATURE] Add bulk stream selection and batch operations

1 participant