Uh oh!
There was an error while loading. Please reload this page.
refactor: use official Astryx reasoning - #1748
Merged
Merged
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Astro-Han added a commit
that referenced
this pull request
Aug 3, 2026
…1938) * fix(ui): restore line wrapping in the deep-thinking disclosure body The ejected Astryx ChatReasoning content shell owns no white-space: its StyleX atoms declare only padding/typography/color, so the inherited white-space: normal collapsed every newline in thinking text, swallowing the reasoning line structure (regression from the #1748 migration, which replaced the old whitespace-pre-wrap body with the official component). Give the reasoning body a product class (maka-chat-reasoning-content) on the eject seam and restore the pre-wrap reading contract in @maka/ui styles.css, matching the tool-output body's existing pattern. Regression coverage: - ui render test locks the class on the content div - desktop CSS contract asserts the pre-wrap rule is the only declaration on that class (fails red without the rule) * test(desktop): assert final effective wrap value, not a rule count Codex review (P3): the contract test's 'exactly once' count was a proxy for the real invariant and over-constrained — a future harmless second rule (e.g. a focus outline, a media variant) would false-fail even though white-space stayed pre-wrap. Walk every matching rule body in cascade order and assert the LAST declaration of white-space/word-break is pre-wrap/break-word. Verified: a later white-space: normal re-declaration fails red; a harmless margin addition stays green; the single rule passes.
6 tasks
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
ChatReasoningDOM, state machine, keyboard behavior, collapsed preview, chevron, and streaming shimmer@astryxdesign/labis canary-only and declares an incompatible exact canary peer for the otherwise identical stable core source; retain the official compiled StyleX atoms without forcing or widening the dependency treeIconButton, and a textual truncated stateclassNameseam so the official ellipsis shrinks correctly at 520px instead of expanding the 400px conversation columnVerification
npm ci --ignore-scriptsnpm --workspace @maka/ui test— 295 passednpm --workspace @maka/desktop run typechecknpm --workspace @maka/desktop run buildscrollWidth === clientWidth === 400git diff --checkVisual evidence
Review focus
Astryx publishes
ChatReasoningonly from@astryxdesign/lab@0.1.9-canary.c9fe437, whose exact core peer conflicts with Maka's stable@astryxdesign/core@0.1.9even though both point at the v0.1.9 source commit. This PR does not use--force, install the experimental package, or create a compatibility wrapper. It ejects that one official component with provenance and license headers, using the byte-equivalent compiled atoms from the published component. Core already ships all but the five official shimmer atoms; those five declarations are retained verbatim beside the chat CSS.Astryx has no redaction, stream-buffer pacing, whole-message clipboard lifecycle, or security truncation component. Those remain Maka product responsibilities. Visual truncation of the collapsed preview and the streaming label treatment are owned by
ChatReasoning.