feat(desktop-messages): render compact Buzz permalink chips - #5638
Open
tellaho wants to merge 5 commits into
Open
feat(desktop-messages): render compact Buzz permalink chips#5638tellaho wants to merge 5 commits into
tellaho wants to merge 5 commits into
Conversation
Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
tellaho
force-pushed
the
tho/buzz-permalink-chips
branch
from
August 12, 2026 07:32
2bea787 to
197df04
Compare
Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
tellaho
force-pushed
the
tho/buzz-permalink-chips
branch
from
August 12, 2026 09:36
b652e74 to
e0fc8c4
Compare
tellaho
marked this pull request as ready for review
August 12, 2026 09:38
Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Category: improvement
User Impact: Buzz channel, message, repository, pull request, and issue links now open reliably and display recognizable context in the desktop app.
Problem: Buzz links could appear as raw or ambiguous URLs, and navigation links received during startup or community transitions could be dropped before the UI was ready. Repository and issue shares in particular required hover context to understand at a glance.
Solution: Queue desktop channel/message navigation until the UI is ready, then render bare Buzz permalinks as icon-prefixed chips with concise entity context while preserving user-authored Markdown labels as ordinary links.
File changes
desktop/src-tauri/src/deep_link.rs
Adds validated channel-link parsing and a deduplicated, acknowledged queue so navigation survives frontend startup.
desktop/src-tauri/src/lib.rs
Registers the pending-navigation state and commands with the desktop application.
desktop/src/features/communities/useCommunityInit.ts
Resets queued navigation safely across community boundaries without leaking stale destinations.
desktop/src/features/messages/lib/channelLink.test.mjs
Covers valid, malformed, and canonical channel permalink forms.
desktop/src/features/messages/lib/channelLink.ts
Defines strict parsing and detection for
buzz://channel/<uuid>links.desktop/src/features/messages/lib/composerMessageLinkNode.test.mjs
Extends composer-node coverage for normalized Buzz link content.
desktop/src/features/messages/lib/composerMessageLinkNode.ts
Keeps composer link-node handling aligned with the expanded Buzz link surface.
desktop/src/features/messages/lib/remarkChannelDeepLinks.test.mjs
Verifies bare channel URLs become renderable deep-link nodes without touching code.
desktop/src/features/messages/lib/remarkChannelDeepLinks.ts
Transforms eligible bare channel links into dedicated Markdown nodes.
desktop/src/features/messages/lib/remarkEntityLinks.test.mjs
Covers bare repository, pull-request, and issue detection and code-span exclusions.
desktop/src/features/messages/lib/remarkEntityLinks.ts
Adds dedicated Markdown nodes for bare Buzz project entities.
desktop/src/shared/deep-link.test.mjs
Exercises queued navigation, acknowledgement, serialization, and community-switch behavior.
desktop/src/shared/deep-link.ts
Serializes pending deep-link drains and acknowledges destinations only after successful navigation.
desktop/src/shared/styles/globals/markdown.css
Aligns permalink icon geometry and spacing with agent mention chips.
desktop/src/shared/ui/markdown.test.mjs
Adds integration coverage for every permalink chip, authored labels, fallbacks, icons, and static rendering.
desktop/src/shared/ui/markdown.tsx
Routes channel and entity nodes through the shared presentation path while preserving authored link text.
desktop/src/shared/ui/markdown/BuzzLinkChip.tsx
Introduces the shared interactive/static permalink chip and authored-label inline-link components.
desktop/src/shared/ui/markdown/ChannelDeepLink.tsx
Renders channel shares and references with Hash icons, names, and shortened-ID fallbacks.
desktop/src/shared/ui/markdown/MessageLinkPill.tsx
Renders ordinary message shares with message icons and channel/message context while retaining sent-from-thread behavior.
desktop/src/shared/ui/markdown/entityLinks.tsx
Maps repositories, pull requests, and issues to Projects-aligned icons and contextual labels.
desktop/src/shared/ui/markdown/nodeCache.ts
Includes entity-link rendering in cached Markdown node handling.
desktop/src/shared/ui/markdown/utils.ts
Allows validated channel links through the Buzz URL transform.
desktop/src/shared/useMessageDeepLinks.ts
Drains queued navigation links safely and clears them during teardown.
desktop/src/testing/e2eBridge.ts
Extends the mock bridge with pending-navigation command behavior.
desktop/tests/e2e/community-rail.spec.ts
Verifies queued links do not cross community boundaries.
desktop/tests/e2e/navigation.spec.ts
Covers channel/message deep-link navigation during startup and active sessions.
desktop/tests/helpers/bridge.ts
Adds reusable deep-link mock state and acknowledgement helpers.
Reproduction steps
buzz://channel,buzz://message,buzz://repo,buzz://pr, andbuzz://issueURLs.#character.[design discussion](buzz://issue?...)and confirm the supplied label remains an ordinary link rather than becoming a chip.Screenshots / demos
Composer — message permalink preview
Message list — channel, message, repository, pull request, and issue states
Complete permalink chip suite