Skip to content

Approvals: approve/reject inline in the chat or group; slim down the sidebar approvals panel #114

Closed

Description

@Birfy

Problem

Approving a Bot's outgoing messages happens in a sidebar panel under Friends' Bots ("N to approve" → "Waiting for your approval"). It is cluttered (the Auto-send explainer and checkbox sit on top of the list, rows are squeezed so the text wraps one word per line) and forces a separate trip to the sidebar for every approval. This also does not match the intended design: approvals must be prompted in the chat (issue #90 asked for this; the sidebar list should only be a fallback).

Expected

  • A held message shows inline in the conversation / group where it was produced: a compact card under the Bot's pending line with the draft text, Approve and Reject buttons (owner-only; other humans in a group see "Waiting for the owner's approval" with no buttons). Approve/Reject must work right there, with the Bot Social two-step confirm handled automatically by the owner's click (as for the Auto-send toggle).
  • Works in 1:1 chats, rooms/groups and face-to-face rooms, including a granted friend's Bot speaking in a group (the owner's FlyBot shows the card).
  • Several pending drafts in one chat: show them in order, plus an "Approve all" action.
  • The sidebar "N to approve" panel is slimmed down to a small, tidy list (one line per item with chat name, truncated text, a jump-to-chat link; no wrapped one-word-per-line text, no long explainer). The Auto-send setting moves to a compact toggle in the chat/room info panel or settings, not on top of the approvals list.
  • A badge/notification on the chat row when approvals are waiting.

Acceptance

Pending items appear as inline cards in the right chat, approve and reject work from there and update the card state, owner-only enforcement holds, sidebar panel is compact with no text-wrapping bug, tests added.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions