Uh oh!
There was an error while loading. Please reload this page.
refactor(ui): drop the user-bubble overrides that fork Astryx defaults - #1862
Merged
Conversation
The user bubble redeclared radius, padding and max-width on top of ChatMessageBubble, so the primitive's compact-density geometry never applied and the bubble read squarer and tighter than the surface it sits on. Geometry belongs to the primitive; what stays here is the product tint and the verbatim-text rule, neither of which Astryx has an opinion about. Measured on the NativeConversation story at 1280px: radius 8px -> 9.75px (--radius-container at 13px root) padding 10px / 12px -> 12px / 16px max-width min(100%,640px)-> max(80%, 280px) rendered 640px -> 544px Bubble width stays flat at 544px from 1280px up, since the reading column caps at 680px well before the percentage does.
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 1, 2026
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 freeto 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
The user bubble redeclared
border-radius,paddingandmax-widthon top ofChatMessageBubble, so the primitive's compact-density geometry never applied and the bubble read squarer and tighter than the surface it sits on. Geometry belongs to the primitive; this drops the three overrides.--chat-user-bgand the text colour stay — the brand tint is deliberate and must not fall back to Astryx's--color-neutral.white-space: pre-wrapstays too: Maka renders user input verbatim, which the primitive has no opinion about.Refs #1861 (slice 1 of 4).
Verification
Computed styles on the first user bubble, read from the running app (Playwright + the E2E fake backend, 1280px):
border-radiuspaddingmax-widthmin(100%, 640px)max(80%, 280px)Bubble width stays flat from 1280px up (544px on the
NativeConversationstory at 1280 / 1680 / 1920 / 2560), because the reading column caps at 680px well before the percentage does — dropping the 640px cap does not let the bubble grow without bound on a wide window.npm run lint,npm run format:check— cleanapps/desktopE2Esend-message,scroll-geometry,attachment— 8 passed, two consecutive runs. One earlier run hadscroll-geometry.spec.ts:104fail; it passes in isolation and in both repeat runs, and it asserts composer docking rather than bubble geometry, so it is pre-existing flake, not a regression from this change.Review focus
--radius-containeris0.75remagainst a 13px root, so the radius lands at 9.75px rather than the 12px an1rem = 16pxreading would predict. The visible change is therefore mostly padding and width, not corner shape. If we want the template's rounder corner, that is a token decision (--radius-container, or opting the bubble into--radius-chat), not a per-component override — happy to follow up separately.