Repository navigation
web(827): tile spec brief into flow; contain long-token thread rows - #846
Merged
Merged
Conversation
Long-content scroll probes (detail 5336px transcript, board 12-card column, fresh/doc-pane/composer seams): zero paint bleed in either direction; all headers are static flex siblings; no sticky anywhere in web source. Evidence for the non-repro finding on #827.
200-char URL row overflows the center column by 21px and is clipped at the center/right seam (elementFromPoint + zoomed crop); root cause is the flex min-width:auto + break-word intrinsic-sizing trap in .chat-text (same latent in .chat-bubble/.chat-taskline-title). No code change; fix proposal awaits user sign-off.
.chat-text/.chat-bubble/.chat-taskline-title/.chat-plan-title could exceed the center column on unbreakable latin runs (flex min-width:auto keyed to min-content, which break-word does not shrink): clipped at the center/right seam and read as covered by the right pane. min-width:0 lets rows shrink to the column; break-word added on the two titles that lacked it (min-width alone left glyph spill). Failure modes: overlong tokens now wrap in place (the fix); fitted geometry untouched (lint + typecheck + e2e:affected 756 green); CJK breaking unchanged; URL copy unaffected (visual wrap only); no new copy.
The live SpecBlock sat above .chat-col, permanently pinning the top of long threads. Moved to chat-pin head so it scrolls away with the flow; fresh-state card already lived in a scroller, untouched. No style change. Also notes the round-1 probe correction: column-reverse scrollTop is negative here (0 bottom, -max top); the re-shot full-scroll GIF and pins use it. Gates: lint + typecheck + e2e:affected 759 green, including the new spec-flow.spec.ts (in-flow structure, scroll-away behavior, long-URL containment).
Per user sign-off: the three min-width rows ship (chat-text, chat-bubble, chat-taskline-title); the fourth (chat-plan-title) stays undecided and is reverted to pre-fix behavior pending a separate verdict. Reference (todos.dev) is not followed: long links wrap, no h-scroll. Re-verified post-revert: trio contained (sw==cw), plan-title overflow restored (1279 vs 672, parked). Gates: lint + typecheck + e2e:affected 107 green.
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.
Long-token thread rows overflowed the center column and were clipped at the center/right seam, reading as covered by the right pane; the live spec brief card pinned the top of long threads. This change tiles both into the flow.
What
apps/web/src/detail/detail.css:min-width: 0on.chat-text,.chat-bubble,.chat-taskline-title(flex items refused to shrink below the longest unbreakable token becausebreak-worddoes not shrink intrinsic min-content size);overflow-wrap: break-wordadded on.chat-taskline-title, which lacked it (box shrank but glyphs still spilled).apps/web/src/routes/todo-detail-page.tsx: liveSpecBlockmoved from above.chat-coltochat-pinhead so it scrolls away with long threads. No style change. Fresh-state card already lived in a scroller.apps/web/e2e/spec-flow.spec.ts(new, live-stubbed): card renders inside.chat-col; scrolls out at the bottom and back at the top; 200-char URL row hasscrollWidth == clientWidth.Deliberately out of scope
.chat-plan-titlekeeps pre-fix behavior (parked for a separate verdict; single-line revert available).Failure modes (listed before implementation, all verified)
break-wordonly affects unbreakable runs).Verification
pnpm lint,pnpm -r typecheck: green.e2e:affected: 107 green post-revert (759 green on the full fallback for the flow move, incl. all 7spec-brief-cardpins).Evidence
No
closeskeyword: #827 stays open for the parked plan-title verdict.