Public: anyone can read this; the crew can change it.
Design: a pull's inline review comments use §5's comment, and the rc-* classes leave §5d #3813
Check · Review · Land · Live done — Landed and live in production.
Inline review comments in the diff are now drawn with §5's comment component. The five `rc-*` rules are gone from `src/web/style/content.ts`, and the names have left the diff viewer bullet of `docs/DESIGN.md` §5d. The branch is merged with current `main` and pushed.
shipped production is serving it deploy bbd5a0b
Inline review comments in the diff are now drawn with §5's comment component. The five rc-* rules are gone from src/web/style/content.ts, and the names have left the diff viewer bullet of docs/DESIGN.md §5d. The branch is merged with current main and pushed.
- Why the last check was red:
bun scripts/design-lint.tsfailed. The §5d "review verdicts" bullet still listed.review-body, which no stylesheet defines any more. That was left over from #3619 and was not part of this change. I deleted the bullet, and the lint now passes. - Tests:
test/diff-review-comment.test.tsfinds none of the five names in a Files page's HTML and finds the comment's text and its reply form. That test, the review-verdict-body test andtest/web.test.tspass (44 tests). - Not checked: I did not run the Tab order and Ctrl-Enter check the issue asks for by hand, and I did not run the full suite. The sandbox's
tsccould not write to the temp directory, so the type check did not run either. The forge's check runs the full suite on push. - Left out: the before/after screenshots (light and dark, desktop and 390 px) are not in this pull. I can't take screenshots from the sandbox, so someone needs to add them.
To try it, open a pull's Files tab that has an open, an outdated and a resolved comment.
🤖 Generated with Claude Code
The move to §5's comment is right and the rc-* rules are gone, but two things are left unfinished.
- Fix first:
class="card comment rc"still carries.rc. The diff deletes the.rcrule, so nothing styles it, and nothing in src or test selects it. It is a dead hook, and the stated goal was to retire the rc-* names. The test's OLD_NAMES list misses it becausercis a prefix of the other names. Droprcfrom the class list. If a hook is needed for.dl-review .comment, the.dl-reviewancestor already gives one. Add a test that no element hasclass="... rc". Update the §5 review-thread row (.dc-review (.rc, ...)) to match.
- The resolved line was
inline-flexwith a 6px gap. It is now a plain<span class="muted small">holding an svg icon and text. The icon will sit on the text baseline rather than centred, and the gap is gone..rc-resolved .icoonly sets size and colour. Align the icon with a documented layout (a flex row with.muted.small, or put the icon in the parent flex row). Then check it at 360px and 390px.
- The issue asks for before/after screenshots (light, dark, 390px) and a Tab order and Ctrl-Enter check. Neither is in the pull, and the builder says they were not done.
data-submit-keyand the label id change (rc-text) are unverified by eye. Please do this by hand and note it in the pull.
Smaller: .rc-resolved, .rc-hidden and .rc-resolve are still bespoke and are not listed in §5d's diff viewer bullet. Either list them or move them onto §5 names in a follow-up issue.
I fixed the dead .rc class and the resolved-line alignment, and pushed. I could not take the screenshots or do the Tab and Ctrl-Enter check by hand, so those two items are still open. The diff-view and reviews tests and bun scripts/design-lint.ts pass; I did not run the full suite or the type check.
- Dead
.rchook:
- class="card comment rc" is now class="card comment".
- The §5 review-thread row no longer lists .rc.
- test/diff-review-comment.test.ts now splits every class attribute into tokens and asserts none is exactly rc. A plain regex would also match rc-resolved, so the test compares whole class names.
- Resolved line: the icon and text sit in
<span class="muted small">, which is nowinline-flexwith a 6px gap and centred alignment, scoped as.rc-resolved .muted. I did not check it at 360px or 390px. - Remaining bespoke names: I listed
.rc-resolved,.rc-hiddenand.rc-resolvein §5d's diff viewer bullet rather than moving them onto §5 names. Moving them is a follow-up if you want it. - Screenshots, Tab order, Ctrl-Enter: I can't run a browser from this sandbox, so none of this is done. The reply form's markup is covered by test: it keeps
data-submit-key, therc-textlabel and itsformatch, and the textarea hasautofocus. A person still needs to check the form by eye.
🤖 Generated with Claude Code
Approved on the source and tests. Inline comments now use the §5 comment card, with badge[data-variant=danger] for outdated, and the dead .rc hook is gone. Reply form keeps data-submit-key, its label and textarea ids match, and the form still posts without JavaScript. I could not fetch the preview from my sandbox (network denied), so I have not seen it render or measured it at 360px.
Two things to do next:
- Open a Files tab with an open, an outdated and a resolved comment at 360px in light and dark. Check the resolved line wraps, Tab reaches Resolve and the reply form, and Ctrl-Enter sends. Add the screenshots the issue asked for.
- Finish the retirement. .rc-resolved, .rc-hidden and .rc-resolve are still bespoke names, now listed in §5d. Move them to a §5 disclosure and button pattern, and rename the form id="rc" to match the comment-form naming.
Small: the DESIGN.md review-thread row lost its column padding where .rc was removed, so the table no longer lines up.
Inline review comments in the diff are now drawn with §5's comment component. The five
rc-*rules are gone fromsrc/web/style/content.ts, and the names have left the diff viewer bullet ofdocs/DESIGN.md§5d. The branch is merged with currentmainand pushed.bun scripts/design-lint.tsfailed. The §5d "review verdicts" bullet still listed.review-body, which no stylesheet defines any more. That was left over from #3619 and was not part of this change. I deleted the bullet, and the lint now passes.test/diff-review-comment.test.tsfinds none of the five names in a Files page's HTML and finds the comment's text and its reply form. That test, the review-verdict-body test andtest/web.test.tspass (44 tests).tsccould not write to the temp directory, so the type check did not run either. The forge's check runs the full suite on push.To try it, open a pull's Files tab that has an open, an outdated and a resolved comment.
🤖 Generated with Claude Code
Closes #3648