Skip to content

Add Clear All button on the Ops page #1017

Closed

Description

@vybe

Summary

The Operating Room (Ops page) accumulates items across its three tabs — Needs Response, Notifications, and Resolved. Today these can only be dealt with one at a time (respond / cancel per item). Add a Clear All button so an operator can dismiss every item in the current tab in a single action.

Context

After a busy run, the Resolved tab (and Notifications) can fill up with dozens of items that no longer need attention. Clearing them individually is tedious. A single bulk action keeps the queue readable and reduces operator friction — a small UI/UX win on a page operators check frequently.

Acceptance Criteria

  • A Clear All button appears in the Operating Room header/toolbar, scoped to the active tab.
  • Clicking it clears all items in the current tab (e.g. cancel all pending on Needs Response, dismiss all on Resolved / Notifications).
  • A confirmation step guards against accidental bulk clears.
  • The button is disabled / hidden when the active tab has no items.
  • Tab badge counts and the live feed update immediately after clearing (WebSocket-driven, no manual refresh needed).
  • Bulk clear respects access control — only items for agents the user can access are affected.

Technical Notes

  • Frontend view: src/frontend/src/views/OperatingRoom.vue (tabs: needs-response, notifications, resolved).
  • Today only a per-item action exists: POST /api/operator-queue/{id}/cancel (src/backend/routers/operator_queue.py). A bulk endpoint (e.g. POST /api/operator-queue/clear with a status/agent filter) would avoid N round-trips; otherwise the frontend can iterate the per-item endpoint as a first pass.
  • Operator queue statuses: pending, responded, acknowledged, expired, cancelled. Decide which the bulk action targets per tab.
  • Real-time updates flow through the existing operator_queue_* WebSocket events — ensure bulk clears emit/refresh consistently.
  • Stores: src/frontend/src/stores/operatorQueue.js (resolved/pending) and src/frontend/src/stores/notifications.js.

Activity

  1. vybe commented on Jun 11, 2026

    @vybe
    ContributorAuthor

    /claim

  2. github-actions commented on Jun 11, 2026

    @github-actions

    Claimed by @vybe. Label status-in-progress added.

    Next steps:

    1. Create branch: feature/1017-<short-slug>
    2. Implement the feature
    3. Open a PR with Fixes #1017
  3. added
    status-in-devMerged to dev, awaiting release cut to main
    and removed on Jun 11, 2026
  4. removed
    status-in-devMerged to dev, awaiting release cut to main
    on Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions