Almost nothing animates. Only the rail face/pill (120ms) and a few spinners do. Missing, compared with Discord/Slack/Element:
hover fades on rows, buttons, menu items
category fold/unfold (chevron is swapped, not rotated; rows don't animate)
entry/exit for context menus, popovers, modals, toasts, the lightbox
new messages fading in (when at the bottom), reactions popping, reaction counts animating
the jump-to-message highlight fading out (it snaps off: transition is only on .message-row.found, app.css:5198-5201)
"Jump to present" sliding in/out
typing dots
All durations from the new motion tokens; everything respects prefers-reduced-motion (and the Appearance page's Reduce motion switch).
Before/after captured as short videos with the screenshot harness.
Part of the v1.0 UI pass.
Almost nothing animates. Only the rail face/pill (120ms) and a few spinners do. Missing, compared with Discord/Slack/Element:
- hover fades on rows, buttons, menu items
- category fold/unfold (chevron is swapped, not rotated; rows don't animate)
- entry/exit for context menus, popovers, modals, toasts, the lightbox
- new messages fading in (when at the bottom), reactions popping, reaction counts animating
- the jump-to-message highlight fading out (it snaps off: `transition` is only on `.message-row.found`, app.css:5198-5201)
- "Jump to present" sliding in/out
- typing dots
All durations from the new motion tokens; everything respects `prefers-reduced-motion` (and the Appearance page's Reduce motion switch).
Before/after captured as short videos with the screenshot harness.
_Part of the v1.0 UI pass._
Salastil
added this to the v1.0 milestone 2026-10-07 20:43:01 -04:00
Recordings from the isolated test copy (videos are attached as files; click to play). Before / after:
Folding and unfolding a category: before / after - the arrow turns instead of being swapped for a different one.
A message arriving, then a reaction going up: before / after - the new line fades and rises into place and the reaction pill pops; before, both just changed.
The pointer moving over channels and messages: after - the hover fill fades in and out.
What now moves, all on the shared durations (--motion-fast / --motion) and all still under reduced motion (prefers-reduced-motion): hover and pressed fills on rows, buttons, menu items, reactions and the settings rail; the fold arrow; messages said in the last few seconds arrive (history scrolled into view does not); reactions that are new or have gone up pop; popovers, the emoji picker, the profile card, dialogs and the switcher grow in; scrims fade; the jump-to-present pill slides up. Earlier in this series: context menus, toasts, the unread strip (#317, #318, #301), typing dots (#271) and the jump highlight's fade-out (#296).
Not done: rows animating their height when a category folds (they leave the page when folded, so there is nothing to animate without keeping them mounted) and the modal exit animation (they unmount at once) - the shared Modal in #315 is the place for both.
Finished: [6d8a050](https://git.salastil.com/Salastil/moho/commit/6d8a0502718067cbb44ca11b4348ed33fd628dcd).
Recordings from the isolated test copy (videos are attached as files; click to play). Before / after:
- Folding and unfolding a category: [before](https://git.salastil.com/attachments/90da4086-4096-4b89-9751-cd3fb2581851) / [after](https://git.salastil.com/attachments/d75c7710-4007-4db8-81aa-0c05ff2e292d) - the arrow turns instead of being swapped for a different one.
- A message arriving, then a reaction going up: [before](https://git.salastil.com/attachments/34343330-b957-4e6f-a6da-ab9bcd929f09) / [after](https://git.salastil.com/attachments/aa1211cf-4e8d-4962-ba77-10bde7323f96) - the new line fades and rises into place and the reaction pill pops; before, both just changed.
- The pointer moving over channels and messages: [after](https://git.salastil.com/attachments/7e194a77-5b5c-4a8f-9fe3-f3852641a53d) - the hover fill fades in and out.
What now moves, all on the shared durations (`--motion-fast` / `--motion`) and all still under reduced motion (`prefers-reduced-motion`): hover and pressed fills on rows, buttons, menu items, reactions and the settings rail; the fold arrow; **messages said in the last few seconds arrive** (history scrolled into view does not); **reactions that are new or have gone up pop**; popovers, the emoji picker, the profile card, dialogs and the switcher **grow in**; scrims fade; the jump-to-present pill slides up. Earlier in this series: context menus, toasts, the unread strip (#317, #318, #301), typing dots (#271) and the jump highlight's fade-out (#296).
Not done: rows animating their height when a category folds (they leave the page when folded, so there is nothing to animate without keeping them mounted) and the modal exit animation (they unmount at once) - the shared Modal in #315 is the place for both.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Almost nothing animates. Only the rail face/pill (120ms) and a few spinners do. Missing, compared with Discord/Slack/Element:
transitionis only on.message-row.found, app.css:5198-5201)All durations from the new motion tokens; everything respects
prefers-reduced-motion(and the Appearance page's Reduce motion switch).Before/after captured as short videos with the screenshot harness.
Part of the v1.0 UI pass.
Finished: 6d8a050.
Recordings from the isolated test copy (videos are attached as files; click to play). Before / after:
What now moves, all on the shared durations (
--motion-fast/--motion) and all still under reduced motion (prefers-reduced-motion): hover and pressed fills on rows, buttons, menu items, reactions and the settings rail; the fold arrow; messages said in the last few seconds arrive (history scrolled into view does not); reactions that are new or have gone up pop; popovers, the emoji picker, the profile card, dialogs and the switcher grow in; scrims fade; the jump-to-present pill slides up. Earlier in this series: context menus, toasts, the unread strip (#317, #318, #301), typing dots (#271) and the jump highlight's fade-out (#296).Not done: rows animating their height when a category folds (they leave the page when folded, so there is nothing to animate without keeping them mounted) and the modal exit animation (they unmount at once) - the shared Modal in #315 is the place for both.