Files
Devin FoleyandPaperclip 67cda7f3cd Memoize TimelineList in CommentThread to prevent re-render on typing
The body state (composer text) was causing the entire CommentThread to
re-render on every keystroke, including the TimelineList with 143+
items. This was the primary cause of typing lag (110ms average per
keystroke, 60 long tasks totaling 3.7s of blocking).

Wrap TimelineList in useMemo so it only re-renders when timeline data
actually changes. Convert handleFeedbackVote to useCallback so it
doesn't defeat the memoization.

Before: 110ms avg, 181ms P95, 60 long tasks
After:  21ms avg, 35ms P95, 5 long tasks

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-08 15:04:50 -07:00
..

@paperclipai/ui

Published static assets for the Paperclip board UI.

What gets published

The npm package contains the production build under dist/. It does not ship the UI source tree or workspace-only dependencies.

Typical use

Install the package, then serve or copy the built files from node_modules/@paperclipai/ui/dist.