Skip to content

feat(catch-up): add opt-in unread conversation triage plugin - #3574

Draft
AdamDonna wants to merge 4 commits into
mainfrom
execution-cat/catch-up
Draft

AdamDonna wants to merge 4 commits into
mainfrom
execution-cat/catch-up

Conversation

@AdamDonna

@AdamDonna AdamDonna commented Nov 15, 2026 •

Copy link
Copy Markdown

Adds an opt-in Catch up plugin for reviewing unread Buzz conversations one at a time. Previews preserve unread state; Keep unread skips a conversation for the current review, Mark as read uses the shared channel-read operation (including replies), and Open conversation opens the normal reader. DM cards use participant names.

The plugin reuses existing channel previews and bounded unread evidence, adds no polling or history queries, and surfaces read/repair failures with retry. Counts describe observed recent activity rather than exact totals. Enable it in Settings → Plugins.

Validation:

  • Eight plugin tests pass, covering preview/skip, pending and failed saves, retry, navigation, cleanup, registration, repair errors and DM identity.
  • Whole-app journey passes in Chromium and WebKit: unread state survives preview/skip and changes after explicit reads; light/dark screenshots inspected; keyboard and pointer actions exercised at narrow width and 150% text.
  • Normal pre-push hooks pass: TypeScript/related tests, design checks, and repository publishing checks.
  • Full Vitest suite passes on the published head (1,114 files passed, 8 skipped). The initial run identified three catalog integration expectations, which are fixed.
  • Native catalog registration and opt-in policy verified by all 153 plugin-manager tests at cbc64ce76; full workspace Clippy and pre-push hooks pass. The preceding full JS/browser results are from f8cbecba4; the follow-up changes only the native catalog and its integration expectation.
  • Independent agent review completed; identified blockers fixed.

One browser scenario added to exercise real bundled-plugin activation, host navigation, and shared unread persistence together. No browser cases removed.

Draft pending human acceptance. Native desktop and live-community testing remain unperformed. To try: enable Catch up, leave a conversation unread, open Catch up, confirm Keep unread preserves it, use Check again, then Mark as read and check the conversation's unread indicator clears.

AdamDonna and others added 4 commits November 16, 2026 02:38
Co-authored-by: Execution cat <18a02ddfee65d6f681da1ae91a4188c41adef5698ac6e9ae736ce5355ec0a26d@buzz.block.builderlab.xyz>
Co-authored-by: Adam Donaghy <adonaghy@squareup.com>
Signed-off-by: Adam Donaghy <adonaghy@squareup.com>
Co-authored-by: Execution cat <18a02ddfee65d6f681da1ae91a4188c41adef5698ac6e9ae736ce5355ec0a26d@buzz.block.builderlab.xyz>
Co-authored-by: Adam Donaghy <adonaghy@squareup.com>
Signed-off-by: Adam Donaghy <adonaghy@squareup.com>
Co-authored-by: Execution cat <18a02ddfee65d6f681da1ae91a4188c41adef5698ac6e9ae736ce5355ec0a26d@buzz.block.builderlab.xyz>
Co-authored-by: Adam Donaghy <adonaghy@squareup.com>
Signed-off-by: Adam Donaghy <adonaghy@squareup.com>
Co-authored-by: Execution cat <18a02ddfee65d6f681da1ae91a4188c41adef5698ac6e9ae736ce5355ec0a26d@buzz.block.builderlab.xyz>
Co-authored-by: Adam Donaghy <adonaghy@squareup.com>
Signed-off-by: Adam Donaghy <adonaghy@squareup.com>

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant