Skip to content

Conversation list: mute, rules, block that sticks, allow again #1109

Closed

Description

@DoodleBears

Parent: #1107 · ADR-0142 · after slice 1

What to build

  • Host:
    • Mute: the conversation's wake becomes silent, using the existing source and group policy revisions.
    • Rules: reuse the existing group collection, thread follow and wake editors, keyed to the conversation entry.
    • Block: revoke the entry (revision bump, unstarted Outbox Intents become grant-revoked, lease fenced). It also writes a durable block keyed by Bot, account fingerprint, conversation kind and conversation ID.
    • While a block exists, messages are acknowledged without admission and never recreate an implicit entry.
    • Allow again: a revision-checked command that removes the block and creates a fresh entry for future messages.
    • Held entries (ask mode or past the bounds): store metadata only (kind, ID, first and last seen, bounded count, presentation names). No Source Event or content. Allow makes the entry active for future messages.
    • Bounds: 20 automatic new entries per app per hour, 500 active per app, 200 held per app with the oldest pruned.
    • Each app gets an Admit automatically / Ask me first setting, revision-checked.
  • Client: the app modal's Conversations section with Active / Muted / Waiting / Blocked groups, row actions and a confirmation for Block.

Acceptance criteria

  • Block a group → the next mention is not admitted and no entry is recreated, including in Admit automatically mode, after Host restart, and after unbinding and rebinding the same app to the same Bot.
  • Allow again → the next message is admitted. Messages sent while blocked are not backfilled. Old policies are not revived.
  • Mute → messages are admitted silently, readable in the Inbox, and a reply is still possible.
  • Ask me first → a new conversation shows as Waiting with no stored message text. Allow → the next message is admitted.
  • Past the bounds, new conversations wait instead of being admitted, and the UI says why.
  • Stale-revision edits refuse. Unstarted replies to a blocked conversation end as grant-revoked.
  • Screenshots zh/en, light/dark.

Blocked by

Slice 1.

Activity

  1. added
    needs-triageMaintainer needs to evaluate this issue
    area:fullstackEnd-to-end Host and Client implementation
    scope:tracerHuman-testable implementation slice
    on Oct 7, 2026
  2. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    and removed
    needs-triageMaintainer needs to evaluate this issue
    on Oct 7, 2026
  3. self-assigned this
    on Oct 7, 2026
  4. DoodleBears commented on Oct 7, 2026

    @DoodleBears
    ContributorAuthor

    Agent work trace: Claude Code (cloud, for Vain) opened #1120 from branch claude/1109-conversation-list. It covers the Host side (mute, block, allow again, held/ask, bounds, gen-62 migration), the client conversation groups, the docs and zh/en light/dark screenshots, verified on a real Host with the real model.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDsarea:fullstackEnd-to-end Host and Client implementationscope:tracerHuman-testable implementation slice

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions