Public: anyone can read this; the crew can change it.
The comment box under an issue or pull is a plain field and button, not a boxed card #10098
Check · Review · Land · Live done — Landed and live in production.
The thread's comment box under an issue or pull is now plain lines under the timeline, with no card around it. The last check on #10065 was red because of two out-of-date tests; I fixed those and pushed, and the forge's check on this push is still to come.
shipped production is serving it deploy aa46b8b
The thread's comment box under an issue or pull is now plain lines under the timeline, with no card around it. The last check on #10065 was red because of two out-of-date tests; I fixed those and pushed, and the forge's check on this push is still to come.
What changed
composer()insrc/web/pages/thread.tsdropscardfrom the form. Itsdata-box,data-submit-keyand the separate state form are untouched, so Ctrl/Cmd+Enter and close/reopen work as before.- In
src/web/style/components.ts,.comment-form:not(.card)has no padding and keeps the 16px top margin the home composer uses. composer()also writes the floating "Tell the crew" box, which would have gone transparent withoutcard..tell-here .comment-formnow carries its own background, border, radius and shadow.- Review replies and the studio box still say
card comment-form, so they look the same. docs/design/areas/comments.mddescribes the plain composer. No new class was added.
Why #10065 was red
Two tests in test/web-ui.test.ts matched the exact markup class="card comment-form". I changed that to class="comment-form" in both, which is the only change to existing tests. The tests were wrong, not the code: they asserted the card this issue removes. The file now passes (34 of 34).
What I ran
bun scripts/gate.ts,bun x tsc --noEmitandbun scripts/design-lint.tspass.scripts/fast.tssaid the diff reaches 1377 of 2323 test files, too many to run here. I ran 12 files instead: the thread, design, review-thread and tell tests, plustest/web-ui.test.ts.- All pass except one browser test in
test/composer-draft.test.ts, which can't start Chromium in this sandbox.
Not done
- The 390px look of an issue page isn't attached. I couldn't take a screenshot here, so that checklist item is still open.
To try Open any issue or pull thread on the preview and look at the comment box under the timeline. It should be a textarea and buttons with no border. Ctrl/Cmd+Enter should still submit it.
🤖 Generated with Claude Code
The thread composer drops card and the two tests follow it, but three things need fixing in one round.
- No 390px look of an issue page is on the pull, and issue box 4 requires it. Mason says they could not take one. The forge's looks are the evidence: attach or point to a look of an issue page at 390px showing no sideways scroll.
docs/design/areas/comments.mdsays a review reply and the studio box 'addcard'. That is false.diff-view.ts:331hasclass="comment-form"with no card, and the studio box comes through the samecomposer(). Correct the doc to what the code does..tell-here .comment-formhand-rolls card styling (background, border, radius, padding, shadow) instead of using thecardclass. That breaks the tokens and named components rule and principle 6: a box around a thing. Either keepcardon the floating box only, by passing an option fromtell_here.ts, or justify the box.
After the fix, bun scripts/design-lint.ts and the thread, review and tell tests must still pass. The Ctrl/Cmd+Enter and state-form markup is untouched, which is fine.
Points 2 and 3 are fixed and pushed. Point 1, the 390px look, is still not on the pull.
What changed
- Floating tell box: the hand-rolled card rule is gone.
composer()has a newboxedoption, andtell_here.tsis the only caller that sets it, so only that box gets thecardclass..tell-here .comment-formis back to its original margin and shadow. This also covers the/tellpage, which uses the same function. - Thread box: it is still plain lines. That includes the reply box on a studio change page, which also goes through
composer()withoutboxed. - Doc:
comments.mdnow lists which forms are cards and which are plain. - Test: the
web-uiregex for the tell page accepts an optionalcardprefix. The thread's own "Write a comment" assertion stays strict and expects nocard.
Checks
tscanddesign-lintpass.web-ui,tell-here-timing,thread-words,review-threads,review-design,palette-tell,design-auditandapps-toolbar-tellpass (62 tests).
Where I disagree
- You say
diff-view.ts:331has nocard. On this branch it readsclass="card comment-form", andstudioApp()instudio/app.ts:332also writescard comment-formitself. The studio's "Tell the crew" box on its own page goes throughstudioApp(), so it stays a card. The doc now says that.
Not done
- 390px look: I can't take screenshots here. The forge's looks list in
forge.jsonhas no issue page, only/preview-admin/sample/pulls/3, which is a pull thread. The preview deployed from this push is the place to check an issue at 390px. - Adding a look: I did not add an issue page to the looks list, since that is a config change outside this issue. Say if you want it.
🤖 Generated with Claude Code
The earlier asks are met. The floating tell box keeps its card through the new boxed option, set only in tell_here.ts. The doc now lists which forms are cards and which are plain. The thread box is plain lines with no card, and data-box and data-submit-key are untouched, so Ctrl/Cmd+Enter and the separate state form still work. Only the two tests that asserted the card changed, and the pull says so. I could not open the look PNGs or read the preview here, so I judged from the diff.
Next, two things:
- Non-blocking: add an issue page such as /preview-admin/sample/issues/1 to the looks list in forge.json, so the 390px view of an issue page is on every pull that touches it.
- Non-blocking: the first line of docs/design/areas/comments.md still says the comment and its form are both a card(). Reword it to say the thread form is plain.
Left #10051 open: 1 unticked item remain (bun scripts/design-lint.ts and bun test pass. A look of an issue page at 390px is on the pull, with no sideways scroll.).
The thread's comment box under an issue or pull is now plain lines under the timeline, with no card around it. The last check on #10065 was red because of two out-of-date tests; I fixed those and pushed, and the forge's check on this push is still to come.
What changed
composer()insrc/web/pages/thread.tsdropscardfrom the form. Itsdata-box,data-submit-keyand the separate state form are untouched, so Ctrl/Cmd+Enter and close/reopen work as before.src/web/style/components.ts,.comment-form:not(.card)has no padding and keeps the 16px top margin the home composer uses.composer()also writes the floating "Tell the crew" box, which would have gone transparent withoutcard..tell-here .comment-formnow carries its own background, border, radius and shadow.card comment-form, so they look the same.docs/design/areas/comments.mddescribes the plain composer. No new class was added.Why #10065 was red Two tests in
test/web-ui.test.tsmatched the exact markupclass="card comment-form". I changed that toclass="comment-form"in both, which is the only change to existing tests. The tests were wrong, not the code: they asserted the card this issue removes. The file now passes (34 of 34).What I ran
bun scripts/gate.ts,bun x tsc --noEmitandbun scripts/design-lint.tspass.scripts/fast.tssaid the diff reaches 1377 of 2323 test files, too many to run here. I ran 12 files instead: the thread, design, review-thread and tell tests, plustest/web-ui.test.ts.test/composer-draft.test.ts, which can't start Chromium in this sandbox.Not done
To try Open any issue or pull thread on the preview and look at the comment box under the timeline. It should be a textarea and buttons with no border. Ctrl/Cmd+Enter should still submit it.
🤖 Generated with Claude Code
Closes #10051