Skip to content

refine(desktop): surface unread thread cues - #3948

Closed
daveh-beep wants to merge 4 commits into
block:mainfrom
daveh-beep:dh/thread-unread-wayfinding
Closed

daveh-beep wants to merge 4 commits into
block:mainfrom
daveh-beep:dh/thread-unread-wayfinding

Conversation

@daveh-beep

@daveh-beep daveh-beep commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

Makes unread thread activity visible inside the source channel without adding navigation or state-machine behavior:

  • Promotes the thread summary’s muted unread text into a legible N new pill.
  • Adds a continuous accent spanning the parent message and its thread summary.
  • Includes the unread count in the thread summary’s accessible name.

Why this slice

This is the smallest durable response to the in-channel dead end: users who enter a channel directly can see which parent holds unread replies. It changes only presentation over the existing per-thread unread count and read frontier—no new route, jump behavior, dismissal state, or server data.

The earlier floating jump action was removed after red-team review found multi-thread dismissal and virtualizer edge cases that would require a larger state model. That work can return independently if needed.

Verification

  • Diff rebuilt from current main
  • git diff --check
  • TypeScript typecheck
  • Biome
  • File-size and px-text guards
  • 3,885 desktop unit tests passed
  • 13 targeted thread-unread Playwright smoke tests passed

@daveh-beep

daveh-beep commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

🤖 ## Corrected design scope — in-channel unread-thread cues

Rendered from the corrected PR head (9eb8c616; based on current main).

The red-team pass removed the floating jump pill: its channel-wide dismissal state could hide a second unread thread, it targeted the deferred rather than rendered virtualizer model, and it could toggle an already-open thread closed. Those behaviors were too risky for this low-diff slice.

This PR now changes only durable presentation over existing unread state:

  • a continuous accent spans the parent message and thread summary;
  • the existing muted unread text becomes a legible N new pill;
  • the thread summary's accessible name includes the unread count.

Unread thread cues in the channel

No navigation, dismissal state, routing, server data, or sidebar behavior is included.

@daveh-beep
daveh-beep marked this pull request as ready for review July 31, 2026 16:37
@daveh-beep
daveh-beep requested a review from a team as a code owner July 31, 2026 16:37

@klopez4212 klopez4212 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the pill is cool and stands out more..might still ask wes to review because I have no idea what breaks things

@klopez4212
klopez4212 requested a review from wesbillman July 31, 2026 17:24
@daveh-beep
daveh-beep force-pushed the dh/thread-unread-wayfinding branch from 2b7672f to 9eb8c61 Compare July 31, 2026 18:28
@daveh-beep daveh-beep changed the title refine(desktop): surface unread thread wayfinding refine(desktop): surface unread thread cues Jul 31, 2026
daveh-beep added a commit to daveh-beep/buzz that referenced this pull request Jul 31, 2026
@daveh-beep
daveh-beep force-pushed the dh/thread-unread-wayfinding branch from ccb0ff4 to f8b8199 Compare July 31, 2026 18:38
daveh-beep and others added 4 commits August 4, 2026 21:29
Signed-off-by: David Hamilton <daveh@squareup.com>
Signed-off-by: David Hamilton <daveh@squareup.com>
Signed-off-by: kenny lopez <klopez4212@gmail.com>
Signed-off-by: kenny lopez <klopez4212@gmail.com>
@klopez4212
klopez4212 force-pushed the dh/thread-unread-wayfinding branch from c7119dd to 417ba7b Compare August 4, 2026 20:32
@daveh-beep

Copy link
Copy Markdown
Contributor Author

🤖 Closing this stale slice so we can reset to current main and re-propose only the smallest still-useful change locally first. This branch has diverged from the current unread/notification work; preserving the rationale here rather than carrying conflicts forward.

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.

2 participants