Conversation
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.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.
Summary
Adds an optional Message bubbles plugin so people can try left-aligned message bubbles by enabling or disabling a plugin. The host provides a scoped
conversation.registerAppearancecapability and owns the rendering; the example plugin selects thebubblespreset. A host release containing this capability is required before installing the plugin.Own messages use dark bubbles in light mode and light bubbles in dark mode. The preset includes compact spacing, bottom-aligned avatars, smaller corners for long messages, inset metadata, and flat standalone media. Shared UI polish includes attachment-style timecode chips, composer-style file cards, reaction pills, and inline Retry actions; those shared changes remain when the plugin is disabled.
Timeline and thread grouping share a five-minute, same-author/same-channel/same-day rule. Reactions do not interrupt groups, and thread nesting boundaries remain intact. This includes the grouping/styling work requested from #364, which is still open; please coordinate that overlap before merging. Current main (
9c0b26c6) is integrated, preserving its grouped images, video controls, and message management.The maintained message gallery adds mixed-sender examples, light/dark and appearance toggles, and grouped thread replies.
Validation
aababdf7: TypeScript, 440 tests across 39 related files, design types, and design-system guards.Remaining before ready for review
Kept as a draft; the review-completed attestation has not been added.