Animate reaction counts#904
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 78d15a4375
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| return { | ||
| current: formattedValue, | ||
| direction, | ||
| previous: currentTransition.current, | ||
| version: currentTransition.version + 1, |
There was a problem hiding this comment.
Reset the previous count after the roll finishes
When a count shrinks across a formatting boundary, e.g. 1,000 → 999, this keeps previous set to the longer string indefinitely. getAnimatedCountSlots(transition.previous, transition.current) then continues rendering five slots with leading non-breaking spaces after the animation completes, so reaction/like buttons stay artificially wide until another count update happens. Clear previous back to current after the animation (or otherwise render current-only slots once settled) so the layout matches the displayed count.
Useful? React with 👍 / 👎.
* origin/main: (32 commits) docs: add NIP-ER event reminders (#875) feat(acp): pass slash commands through to ACP connectors (#919) fix(sdk): resolve multi-word display names and add NIP-27 nostr:npub mention extraction (#905) fix(desktop): re-enable mcp_command reconciliation and harden spawn site (#909) Fix desktop DM and sidebar UI polish (#908) Animate reaction counts (#904) Mobile custom emoji + settings redesign (#906) Renew TTL when unarchiving ephemeral channels (#902) chore(release): release version 0.3.13 (#903) Collapse channel header actions (#901) sprout-agent: make Databricks defaults env-only (#868) Restyle settings sections (#894) Add emoji reaction particles (#890) Move settings into the app shell (#893) Tune chat text sizing (#891) Style channel header navigation (#889) fix: rename missed known_acp_provider_exact → known_acp_runtime_exact (#900) chore(deps): update radix-ui-primitives monorepo (#898) chore(deps): update actions/checkout digest to df4cb1c (#897) refactor: rename ACP "provider" to "runtime" across the codebase (#783) ... # Conflicts: # desktop/src/features/agents/ui/CreateAgentDialog.tsx
* origin/main: (32 commits) docs: add NIP-ER event reminders (#875) feat(acp): pass slash commands through to ACP connectors (#919) fix(sdk): resolve multi-word display names and add NIP-27 nostr:npub mention extraction (#905) fix(desktop): re-enable mcp_command reconciliation and harden spawn site (#909) Fix desktop DM and sidebar UI polish (#908) Animate reaction counts (#904) Mobile custom emoji + settings redesign (#906) Renew TTL when unarchiving ephemeral channels (#902) chore(release): release version 0.3.13 (#903) Collapse channel header actions (#901) sprout-agent: make Databricks defaults env-only (#868) Restyle settings sections (#894) Add emoji reaction particles (#890) Move settings into the app shell (#893) Tune chat text sizing (#891) Style channel header navigation (#889) fix: rename missed known_acp_provider_exact → known_acp_runtime_exact (#900) chore(deps): update radix-ui-primitives monorepo (#898) chore(deps): update actions/checkout digest to df4cb1c (#897) refactor: rename ACP "provider" to "runtime" across the codebase (#783) ... Signed-off-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co> # Conflicts: # desktop/src/features/agents/ui/CreateAgentDialog.tsx
Summary
Screen.Recording.2026-06-08.at.17.42.42.mov
Tests
pnpm --dir desktop testpnpm --dir desktop typecheckpnpm --dir desktop buildpnpm --dir desktop exec playwright test tests/e2e/custom-emoji.spec.ts --project=smoke -g "reacting with a custom emoji"