Skip to content

feat(desktop): make thread reply notifications traceable - #3754

Draft
daveh-beep wants to merge 3 commits into
block:mainfrom
daveh-beep:dh/thread-notification-traceability
Draft

feat(desktop): make thread reply notifications traceable#3754
daveh-beep wants to merge 3 commits into
block:mainfrom
daveh-beep:dh/thread-notification-traceability

Conversation

@daveh-beep

Copy link
Copy Markdown
Contributor

Summary

  • distinguish thread-only channel unreads from mentions with a thread glyph badge
  • promote Inbox when it has unread items so its hierarchy matches its payoff
  • make unseen thread replies traceable in-channel with parent accents, high-contrast counts, and a jump/open pill
  • include sender context in desktop thread-reply notifications

Problem

A reply in a followed/participated thread currently makes the channel row bold with a solid numeric badge. Opening that channel produces no visible new message because thread replies are intentionally excluded from the top-level unread divider. The only trace is muted (N new) metadata under the parent message, which may be off-screen.

This creates a signal-strength inversion: the strongest signal points at a surface with no visible payoff, while Inbox—the surface that can resolve the notification—gets the weakest signal.

Design rationale and before/after loop

https://blockcell.sqprod.co/sites/buzz-design-reel/

The reel uses Buzz's dark-theme HSL tokens, Inter Variable font, real sidebar/button dimensions, badge classes, unread divider, thread-summary treatment, and unread pill styling. It includes realistic states for channel messages, thread-only replies, mentions, DMs, muted channels, and read channels.

Test plan

  • just desktop-check
  • just desktop-test (3824 passed)
  • pre-push suite (desktop, desktop Tauri, mobile, Rust) passed before upload
  • E2E expectations updated but Playwright suite not run locally

Review status

Draft for design and implementation review. Please treat the Blockcell reel as rationale/fodder, not a final spec.

Signed-off-by: David Hamilton <daveh@squareup.com>
…n-traceability

* origin/main:
  fix(desktop): remove remaining Projects panel fills (block#3742)
  feat(mobile): desktop-parity emoji and thread experience (block#3485)
  desktop: restore direct community member adds (block#3634)
  fix(desktop): explain open agent access (block#2561)
  fix(cli): resolve agents from owner records (block#3178)
  fix(desktop): remove Projects overview card fills (block#3416)
  feat(replica): portable heartbeat-token fence with snapshot-local reader routing (block#3268)
  fix(git): channel binding tooling + author remediation for unbound repos (block#3626)
  feat: configure S3 URL addressing style (block#3400)
  feat: add first-class OpenRouter provider support (block#1975)
  feat(agent,acp): wire provider total_tokens through NIP-AM publish chain (block#3593)
  chore(release): release Buzz Desktop version 0.5.2 (block#3624)
  docs: add Linux rendering troubleshooting guide (block#3573)
  fix(desktop): discover bun-installed agent CLIs in ~/.bun/bin (block#3343)
  feat(tracing): correlate trace IDs in relay logs (block#3608)
  chore(ci): bump Linux AppImage build container to ubuntu:24.04 (block#3602)
  feat(cli): mirror Desktop mention delivery (block#3330)

Signed-off-by: David Hamilton <daveh@squareup.com>
Signed-off-by: David Hamilton <daveh@squareup.com>
daveh-beep added a commit to daveh-beep/buzz that referenced this pull request Jul 30, 2026
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