Skip to content

[GUI] Require confirmation or undo before removing an initializer #2349

Description

@romanlutz

Important

Maintainer-owned: This issue is intentionally labeled not ready yet. Please leave implementation to a PyRIT maintainer unless a maintainer explicitly assigns or approves the work.

Describe the bug

Choosing Remove on an additional initializer immediately sends the delete request and removes the persisted card. There is no confirmation step, no warning that the action is immediate, and no undo affordance after success.

This makes an easy misclick destructive. The neighboring Edit and Remove actions have similarly direct presentation, but only one changes persisted configuration irreversibly from the page. Severity: moderate because one accidental activation deletes configuration without a recovery path.

Steps/Code to Reproduce

  1. Open the Initializers page in the local frontend.
  2. Add a refresh_datasets initializer with days set to 7.
  3. On the saved initializer card, choose Remove once.
  4. Observe that no confirmation dialog appears.
  5. Observe that the card disappears immediately after the delete succeeds.
  6. Search the resulting page for an Undo action; none is available.
# N/A - GUI-only reproduction; no Python code is required.

Expected Results

Before or immediately after the destructive action, the UI should provide a clear recovery safeguard: either a confirmation that identifies the initializer being removed, or a short-lived undo action that restores it. The exact pattern should be resolved during UX/design triage.

Actual Results

The first Remove activation immediately deletes the initializer. No confirmation, warning, or undo control appears, and restoring the configuration requires manually recreating it.

Screenshots

Sanitized before/after screenshots and WebM evidence, showing only the application viewport and synthetic numeric values, are attached in the evidence comment below.

Versions

  • PyRIT commit: 3dd9946ee4ef08a2048c64ff4b29d3a856a8068e
  • OS: Windows_NT
  • Browser automation: Playwright Chromium (@playwright/test 1.62.0)
  • pyrit.show_versions(): N/A for this frontend-only reproduction

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIUmbrella label for all feedback submitted via the Co-PyRIT GUIbugSomething isn't workingneeds designWe recommend a design with the team prior to implementationnot ready yetThis issue needs more definition or is blocked by a pending change.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions