feat(fuselage): quieter message header metadata
Merged
IV
2mo ago+161+161+012345678901234567890123456789-2-2-0123456789
Summary
Part of the user information redesign in RocketChat/Rocket.Chat#41650 (Figma spec), where these styles are currently applied as .rcx-* overrides inside the app — this PR moves them into the design system so the app can drop the overrides and consume them from fuselage.
- Author names (
rcx-message-header__name,rcx-message-system__nameand their shared name container) use thetitles-labelsfont color token. When the name container acts as a button ([role='button']) it shows a pointer cursor and underlines on hover — in the app it is the hover/click trigger for the user card and full profile. Non-interactive name containers are unaffected. - Timestamps (
rcx-message-header__time,rcx-message-system__time) are quieter through color alone: they stay on thec1scale they already declared and use thesecondary-infofont color token. No explicit font sizes — the type ramp has no 10px regular step (microis bold), so the size stays on the scale and the color does the work. - Contrast on hover:
secondary-infomeets WCAG AA on the room surface (4.80:1) but not on the hover surface (4.33:1), so the regular-message timestamp steps up to thedefaulttoken while the message is hovered (11.26:1). System messages don't change surface on hover, so no rule is needed there.
Impact
This intentionally changes the header metadata of every Message/MessageSystem consumer — it is the design-system side of the approved redesign, and the app PR above stops overriding these styles once this ships.
Screenshots
Message header — before / after (timestamp in secondary-info; name uses titles-labels):
| Before | After |
|---|---|
![]() | ![]() |
Hover underline on a clickable author name (new WithClickableAuthorName story):
Testing
WithClickableAuthorNamestory added — hover the author name to see the pointer cursor and underline (only whenrole='button'is set).- 28 visual-regression goldens regenerated; 506 tests passing.
- Jest specs and DOM snapshots unaffected (style-only change); lint/stylelint green.
🤖 Generated with Claude Code

