Skip to content

feat(desktop): restore message quick reactions - #6892

Merged
morgmart merged 1 commit into
mainfrom
morganm/restore-quick-emojis
Aug 26, 2026
Merged

feat(desktop): restore message quick reactions#6892
morgmart merged 1 commit into
mainfrom
morganm/restore-quick-emojis

Conversation

@morgmart

@morgmart morgmart commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • restore three learned quick-reaction shortcuts to the desktop message action rail
  • keep Add reaction (SmilePlus, h-4 w-4) immediately after shortcuts and left of the restored divider
  • preserve Reply, Copy link, More, custom emoji rendering, accessibility labels, and responsive behavior
  • hide shortcuts and the divider below sm, while keeping Add reaction available

Tests

At 24c4732c2341b846dccf4ae8fdc2455f700fc44d:

  • pnpm exec biome check src/features/messages/ui/MessageActionBar.tsx tests/e2e/message-copy-link.spec.ts tests/e2e/custom-emoji.spec.ts
  • pnpm exec tsc --noEmit
  • pnpm test — 5,567 passed
  • pnpm build:e2e
  • pnpm exec playwright test tests/e2e/message-copy-link.spec.ts tests/e2e/custom-emoji.spec.ts --project=smoke — 19 passed
  • pnpm exec playwright test tests/e2e/reaction-order.spec.ts --project=smoke — 2 passed
  • pre-push: file-size-check, desktop-check, desktop-typecheck, desktop-test

Vogue design review: SHIP.

Screenshot

Restored desktop message action rail: three learned quick reactions, Add reaction (SmilePlus), divider, Reply, Copy link, and More.

Restored desktop message action rail

Co-authored-by: Rivet <a08d9a8418c7ff03afe19964724c8fd87bf1776ab9e9b9cafb8cc920edd02a6e@buzz.block.builderlab.xyz>
Signed-off-by: Rivet <a08d9a8418c7ff03afe19964724c8fd87bf1776ab9e9b9cafb8cc920edd02a6e@buzz.block.builderlab.xyz>
@morgmart
morgmart requested a review from a team as a code owner August 26, 2026 16:30

@jedwards27 jedwards27 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.

:bot: Jude’s code review agent — APPROVE

Reviewed: f177f4909d55ad48a36e86a682cd5be4f006f0fe..24c4732c2341b846dccf4ae8fdc2455f700fc44d (exact live head 24c4732c2341b846dccf4ae8fdc2455f700fc44d; clean detached checkouts)

Risk: medium — user-visible message interaction restoring learned reactions, with unchanged reaction publication/removal boundaries.

Behavior/contracts traced: community-scoped learned-reaction selection and post-success recording; custom shortcode filtering, palette URL resolution, and WKWebView relay rewriting; quick-button/picker convergence on the same pending-protected optimistic toggle; unchanged Nostr kind 7 add and kind 5 removal paths; rail ordering/responsiveness; keyboard focus, accessible names, picker focus/Escape, zoom, theme, and narrow layout.

Findings: no blocking or non-blocking code defect found. The rail is three learned shortcuts → Add reaction → divider → Reply → Copy link → More. Stale custom shortcodes are filtered, valid custom emoji retain image rendering, and the shortcuts intentionally remain visually neutral after activation while the message reaction state updates.

Author action: none.

Verification owner: CI/release gate for required exact-head checks. Optional real Tauri/WKWebView touch and VoiceOver observation remains reviewer/native-tooling owned, not author rework.

Validation at matching HEAD:

  • just desktop-check — pass (pre-existing informational warnings only)
  • just desktop-typecheck — pass
  • full just desktop-test — 5,567/5,567 pass
  • just desktop-build / pnpm build:e2e — pass (existing chunk warnings only)
  • focused shipped Playwright (custom-emoji.spec.ts, message-copy-link.spec.ts) — 19/19 pass
  • biome check on all three changed files and git diff --check — pass
  • causal mutation changing useQuickReactionEmojis(3, …) to (...0, …) made the focused rail contract fail; restored exact head passed
  • browser probes passed for learned custom-emoji image rendering and keyboard activation, focus-within retention, 375×667 responsive ordering/in-viewport layout, dark theme, and simulated 200% root zoom at 900px

Manual/native evidence: screenshot inspection at the exact source revision showed 👍 ❤️ 😂 [Add reaction] | Reply Copy More with correct spacing and no clipping at 900×700. Browser interaction covered hover/keyboard/narrow/zoom/theme/semantic names. Real Tauri-native hover/touch/VoiceOver was not run because the canonical native harness was unavailable and shared-machine GUI launch lacked explicit opt-in.

Residual risk: low, concentrated in unobserved OS-native input/AX delivery. GitHub currently reports only the passing DCO check; broader required CI has not appeared and remains an external merge gate. The changed renderer behavior has focused causal coverage, full Desktop package validation, and browser-visible evidence.

@wpfleger96 wpfleger96 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Reviewed exact head 24c4732c2341b846dccf4ae8fdc2455f700fc44d against base f177f4909d55ad48a36e86a682cd5be4f006f0fe.

No blocking or non-blocking source findings. The change restores exactly three learned quick reactions, preserves the shared reaction-selection and post-success learning path, filters stale custom shortcodes, rewrites valid custom-emoji media URLs, hides shortcuts below sm, and places Add reaction before the divider and existing Reply/Copy/More actions.

The focused E2E assertions cover ordered actions, divider placement, neutral shortcut state after selection, custom-emoji behavior, and thread-panel containment. git diff --check passes. CI was still running at review time; required CI remains the merge gate.

@morgmart
morgmart merged commit 22cdda4 into main Aug 26, 2026
24 checks passed
@morgmart
morgmart deleted the morganm/restore-quick-emojis branch August 26, 2026 17:32
brow added a commit that referenced this pull request Aug 26, 2026
…ignment

* origin/main: (33 commits)
  feat(desktop): restore message quick reactions (#6892)
  Use paired tags for standing & per-turn context (#6701)
  fix(cli): preserve signatures in event reads (#6884)
  refactor(db): finish replaceable event store extraction (#6777)
  Fix Admin feedback filter overflow (#6825)
  fix(desktop): stop pulsing addressed agents on send (#6873)
  fix(desktop): prioritize sidebar channel status (#6861)
  feat(desktop): hyperlink selected composer text on link paste (#6684)
  chore(release): release Buzz Desktop version 0.5.20 (#6839)
  feat(desktop): add KLIPY GIF search to composers (#5554)
  fix(desktop): respect automatic mention preference after send (#6837)
  fix(release): attribute desktop candidates to the operator (#6831)
  fix(ci): check out source in docker.yml merge job (#6833)
  chore(release): release Buzz Desktop version 0.5.19 (#6828)
  Remove public relay signing key fallback (#6729)
  docs(nest): make commit attribution policy-neutral (#6707)
  fix(desktop-messages): preserve inline agent mentions with persistent addressing (#6793)
  Qualify canonical relay images for staged delivery (#6781)
  feat(desktop): persist agent addressing across composer messages (#6714)
  feat: navigate images across message threads (#6705)
  ...

Signed-off-by: Tom Brow <tomb@block.xyz>

# Conflicts:
#	.env.example
#	crates/buzz-db/src/push.rs
#	mobile/lib/shared/profile/user_cache_provider.dart
wpfleger96 pushed a commit that referenced this pull request Aug 26, 2026
…c-agent-commit-identity

* origin/main:
  feat(desktop): restore message quick reactions (#6892)

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
wpfleger96 pushed a commit that referenced this pull request Aug 26, 2026
…-history

* origin/main:
  feat(desktop): restore message quick reactions (#6892)
  Use paired tags for standing & per-turn context (#6701)
  fix(cli): preserve signatures in event reads (#6884)
  refactor(db): finish replaceable event store extraction (#6777)
  Fix Admin feedback filter overflow (#6825)
  fix(desktop): stop pulsing addressed agents on send (#6873)
  fix(desktop): prioritize sidebar channel status (#6861)
  feat(desktop): hyperlink selected composer text on link paste (#6684)

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
mfethe1 added a commit to mfethe1/buzz that referenced this pull request Aug 26, 2026
wpfleger96 pushed a commit that referenced this pull request Aug 26, 2026
…enericize

* origin/main:
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)
  Use paired tags for standing & per-turn context (#6701)
  fix(cli): preserve signatures in event reads (#6884)
  refactor(db): finish replaceable event store extraction (#6777)
  Fix Admin feedback filter overflow (#6825)
  fix(desktop): stop pulsing addressed agents on send (#6873)
  fix(desktop): prioritize sidebar channel status (#6861)
  feat(desktop): hyperlink selected composer text on link paste (#6684)
  chore(release): release Buzz Desktop version 0.5.20 (#6839)

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
wpfleger96 pushed a commit that referenced this pull request Aug 26, 2026
…arer-auth

* origin/main:
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
salman1993 added a commit that referenced this pull request Aug 26, 2026
…cp-sessions

* origin/main:
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)
  Use paired tags for standing & per-turn context (#6701)
  fix(cli): preserve signatures in event reads (#6884)
  refactor(db): finish replaceable event store extraction (#6777)
  Fix Admin feedback filter overflow (#6825)

Signed-off-by: Salman Mohammed <smohammed@squareup.com>

# Conflicts:
#	crates/buzz-acp/src/pool.rs
brow added a commit that referenced this pull request Aug 26, 2026
…ifications-pr

* origin/main:
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)
  Use paired tags for standing & per-turn context (#6701)
  fix(cli): preserve signatures in event reads (#6884)
  refactor(db): finish replaceable event store extraction (#6777)
  Fix Admin feedback filter overflow (#6825)
  fix(desktop): stop pulsing addressed agents on send (#6873)
  fix(desktop): prioritize sidebar channel status (#6861)
  feat(desktop): hyperlink selected composer text on link paste (#6684)

Signed-off-by: Tom Brow <tomb@block.xyz>
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
…r-contracts

* origin/main: (26 commits)
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)
  Use paired tags for standing & per-turn context (#6701)
  fix(cli): preserve signatures in event reads (#6884)
  refactor(db): finish replaceable event store extraction (#6777)
  Fix Admin feedback filter overflow (#6825)
  fix(desktop): stop pulsing addressed agents on send (#6873)
  fix(desktop): prioritize sidebar channel status (#6861)
  feat(desktop): hyperlink selected composer text on link paste (#6684)
  ...

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
…h-coordinator

* origin/main: (138 commits)
  fix(client): resurface hidden DMs from live activity (#6885)
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)
  Use paired tags for standing & per-turn context (#6701)
  fix(cli): preserve signatures in event reads (#6884)
  refactor(db): finish replaceable event store extraction (#6777)
  Fix Admin feedback filter overflow (#6825)
  fix(desktop): stop pulsing addressed agents on send (#6873)
  fix(desktop): prioritize sidebar channel status (#6861)
  ...

# Conflicts:
#	Justfile
wpfleger96 pushed a commit that referenced this pull request Aug 27, 2026
…agent-edit

* origin/main: (39 commits)
  chore(deps): update dependency vitest to v4.1.11 (#6667)
  chore(deps): update dependency @tanstack/react-virtual to v3.14.10 (#6666)
  chore(deps): update ubuntu:24.04 docker digest to 33ceb71 (#6664)
  fix(projects): allow owners to delete agent projects (#6533)
  Fade expanded video controls on hover (#6926)
  fix(db): exclude kind:30179 ciphertext from brownfield FTS (#6822)
  fix(client): resurface hidden DMs from live activity (#6885)
  fix(desktop): keep the draft space when typing right after a mention pick (#6875)
  broker: define the agent-to-broker action contract (#6742)
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)
  ...

Signed-off-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@buzz.block.builderlab.xyz>
sandro-sq added a commit that referenced this pull request Aug 27, 2026
…e-view

* origin/pr-6189: (170 commits)
  test(mesh): prove relay mode probes are refreshed
  fix(mesh): keep closed availability helper test-only
  fix(mesh): refresh relay admission mode safely
  fix(desktop): keep project sheets independent from threads (#6901)
  Add gated security reviews (#6816)
  fix(desktop): accent-colored mention badges that count thread mentions (#6900)
  Add Buzz benchmark evaluation layers (#6823)
  fix(desktop): show edited head content in thread panel (#6887)
  fix(desktop-tooltip): increase surface contrast (#6897)
  Deduplicate ACP thread prompt context (#6706)
  Apply access policy when reusing channel agents (#6838)
  feat(sidebar): prioritize unread DMs in overflow navigation (#6842)
  feat(projects): add agent and CLI project-home support (#6590)
  feat(desktop): restore message quick reactions (#6892)
  Use paired tags for standing & per-turn context (#6701)
  fix(cli): preserve signatures in event reads (#6884)
  refactor(db): finish replaceable event store extraction (#6777)
  Fix Admin feedback filter overflow (#6825)
  fix(desktop): stop pulsing addressed agents on send (#6873)
  fix(desktop): prioritize sidebar channel status (#6861)
  ...

Signed-off-by: Alessandro Joabar <sandro@squareup.com>

# Conflicts:
#	desktop/src-tauri/src/commands/mesh_llm.rs
#	desktop/src-tauri/src/mesh_llm/catalog.rs
#	desktop/src/features/sidebar/ui/AppSidebar.tsx
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.

3 participants