{"repo":"NousResearch/hermes-agent","public_id":"118782","display_label":"Timeline rail geometry caching and scroll perf","summary":"These items concern repeated layout measurements (getBoundingClientRect) in the timeline rail scroll handler causing significant frame drops and input latency. The work involves caching rail geometry to avoid redundant reads during scrolling.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":128613,"merged_at":"2026-10-01T04:07:17+00:00"},"resolution":{"state":"resolved","by":"pr-128613"},"freshness":{"state":"verified","last_verified_at":"2026-10-01T04:07:17+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":118782,"pr_number":128613,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-01T04:07:17+00:00"}],"members":[{"kind":"issue","number":118782,"title":"[Bug]: Timeline-rail scroll handler re-measures every mounted turn every frame — 3.2s getBoundingClientRect in a 10.7s scroll trace, 60% dropped frames, ~0.7-0.8s scroll input latency on long sessions","url":null,"state":"closed"},{"kind":"pr","number":118786,"title":"fix(desktop): cache timeline rail geometry","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#128613","number":128613}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":128568,"title":"perf(desktop): cache timeline rail geometry so scrolling reads no layout","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#128613","number":128613},{"kind":"pr","value":"#125851","number":125851}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":128613,"title":"perf(desktop): avoid full transcript geometry sweeps for timeline position","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/e2e/messages-below-position.spec.ts","apps/desktop/e2e/timeline-position.spec.ts","apps/desktop/src/components/assistant-ui/thread/timeline-position.test.tsx","apps/desktop/src/components/assistant-ui/thread/timeline-position.ts","apps/desktop/src/components/assistant-ui/thread/timeline.tsx","apps/desktop/src/components/assistant-ui/thread/use-messages-below-perf.test.ts","apps/desktop/src/components/assistant-ui/thread/use-messages-below.test.tsx","apps/desktop/src/components/assistant-ui/thread/use-messages-below.ts"]}],"trust":{"default_tier":"verified","includes_suggested":false}}