Skip to content

(ux): no silent failures — every refusal or error says what happened and what to do #566

Closed

Description

@devsuitup

Failures and refusals are often invisible:

  • Delete on a merged row with a live member is refused by a "Failed" flash that shows only on hover.
  • Delete errors otherwise go to the console only.
  • There are 12 alert() and 17 confirm() call sites, each with its own wording.
  • Some refusal texts name verbs the UI does not have: "close it first", "stop it first" for an External session.

Concept: Feedback. See docs/product/UI-PATTERNS.md "Feedback" and docs/product/CONCEPT-MAP.md m2 (#561).

Converge:

  • Every failed or refused action says what happened and what the user can do, in a notice that stays visible.
  • A refusal names only verbs that exist on that surface.
  • alert() and confirm() move to the app's dialog and notice bricks (docs/product/BUILDING-BLOCKS.md).

Activity

  1. devsuitup commented on Oct 13, 2026

    @devsuitup
    OwnerAuthor

    Decision (maintainer, 13/10): adopt the rule as written.

    • Every failed or refused action says what happened and what the user can do, in a notice that stays visible.
    • A refusal names only verbs that exist on that surface.
    • Remaining alert()/confirm() calls move to the app's dialog and notice bricks.

    It will be implemented surface by surface, in small PRs.

  2. devsuitup commented on Oct 16, 2026

    @devsuitup
    OwnerAuthor

    Decided by Jean-Baptiste in person, 2026-10-15: first of the #563–#567 residuals (dependency order #566 → #564 → #567 → #565 → #563).

  3. devsuitup commented on Oct 18, 2026

    @devsuitup
    OwnerAuthor

    Done through #614, #662 and #706. Decided by Jean-Baptiste in person, 2026-10-18: the remaining appAlert error dialogs (file, viewer and activity-trace panels; sidebar remap and worktree delete) are a separate issue: #709. Run now failures after the shell has started: #707.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions