Skip to content

feat(sidebar): show unread conversation counts and DM avatar previews - #472

Merged
wesbillman merged 2 commits into
mainfrom
carl/sidebar-hints
Sep 30, 2026
Merged

wesbillman merged 2 commits into
mainfrom
carl/sidebar-hints

Conversation

@wesbillman

Copy link
Copy Markdown
Collaborator

Summary

  • Show N unread distinct offscreen conversations and up to three overlapping 1:1 DM avatars in both sidebar directions.
  • Reuse existing profiles, media routing, and shared Avatar/Button recipes. Group/self DMs count without borrowing a participant avatar; humans remain circles and agents squircles.
  • Preserve nearest-row scroll/focus behavior, collapsed-section handling, and read/selection state. No new unread service, subscriptions, or DM-first navigation.

Validation

  • At head a637fdbcdcee51778bc8d127234883676079dcc4, the pre-push organization guard, TypeScript, related Vitest tests (7 files / 68 tests), and design-system checks passed. The Rust lane correctly skipped unchanged Rust inputs.
  • Final sidebar browser file: 14/14 executions passed across Chromium and WebKit (7 cases per engine, 33.8s). Independent agent review found no remaining blockers.
  • Earlier full Vitest run: 465 files / 5,717 tests passed, before the main rebase and final shared-button CSS adjustment; not claimed as a full-suite run of the final head.
  • Fetched current main (61d0bd57): the two commits since this branch’s base (32cc8c13) touch inventory UI and reload shortcuts, not the changed sidebar/fixture paths. Hosted merge checks remain pending.

Test-layer rationale

One browser case added per engine, none removed: production sidebar wiring, clipping/scroll direction, 20px avatar geometry, overlap, and computed circle/squircle styling need real layout. The original broad CSS selector failed the avatar-padding assertion in both engines; the corrected shared-button recipe passes. Nine colocated component cases cover count deduplication, visible-copy suppression, avatar caps/order, fallback/profile refresh, removal, and unchanged nearest-row activation.

Remaining readiness gate

Draft pending a final human visual check. The earlier preview was approved, but the subsequent CSS correction changed the pill to shared-button capsule corners and symmetric 16px horizontal padding. Recheck both above/below pills while scrolling unread DMs; clicking must reveal/focus the nearest unread row without opening or marking it read. No preview server was restarted for delivery. Full hosted CI and native validation remain outstanding.

Carl added 2 commits September 30, 2026 13:56
Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
@wesbillman
wesbillman marked this pull request as ready for review September 30, 2026 21:21
@wesbillman
wesbillman requested review from a team and comp615 as code owners September 30, 2026 21:21

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

No changes requested. The distinct conversation counts, one-to-one DM previews and nearest-row reveal behavior match the documented contract without adding unread subscriptions or read-state writes.

Star Lord automated source review via Wes’s account — head a637fdbcdcee51778bc8d127234883676079dcc4; base 61d0bd57e097aae8755d306f6228ef76404056b4. Source-only: no tests or app execution; the hosted CI snapshot passed its required check, but the final human visual check and native behavior remain unverified.

@wesbillman
wesbillman merged commit 8562c29 into main Sep 30, 2026
21 checks passed
@wesbillman
wesbillman deleted the carl/sidebar-hints branch September 30, 2026 21:34
cynfria pushed a commit that referenced this pull request Sep 30, 2026
…followup

* origin/main:
  fix(sidebar): save channel moves on desktop and move channels by drag (#474)
  perf(messages): stop re-rendering every row on each channel-list publish (#473)
  Unify workspace panels and add persistent channel tabs (#413)
  ci: prune expired preview releases after promotion (#461)
  feat(sidebar): show unread conversation counts and DM avatar previews (#472)
  fix(previews): dismiss hovered previews when their trigger scrolls (#460)
  perf(native): reduce crypto, upload and discovery overhead (#464)

Signed-off-by: Tree Trunks <6ba22921d9dc2ad0aa6ecdf63787ddd24726e266d866da31af69f2e4e146ace5@buzz.block.builderlab.xyz>

# Conflicts:
#	src/shared/design-system/icons/index.ts
#	tests/browser/layout.spec.mjs
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