Skip to content

fix(web): keep the last message visible when the resting composer expands - #9553

Merged
t3dotgg merged 4 commits into
mainfrom
t3code/fix-composer-collapse-scroll-jump
Sep 4, 2026
Merged

t3dotgg merged 4 commits into
mainfrom
t3code/fix-composer-collapse-scroll-jump

fix(web): pair the resting flag with a fresh overlay height

166dc41
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - Correctness Check succeeded Sep 4, 2026 in 1m 26s

No issues identified (3 code objects reviewed).

• Reviewed files modified since 6d6c567; other PR files not modified since then were skipped.
• Merge Base: 617edab
• Head: 166dc41

Details

✅ File Path U3 Bytes Comments Posted Reason
✅ apps/web/src/components/chat/ChatComposer.tsx 1659 0
✅ apps/web/src/components/ChatView.tsx 1162 0

Billed Total: 10.00KB of diff | $0.50 (This review was charged at our per-review byte minimum of 10.00KB. Learn more here)

Filtered Issues Details

apps/web/src/components/ChatView.tsx
  • line 5000: The thread-switch reset sets composerTimelineInsetRef.current to 0, so a newly selected thread whose composer is already resting is reserved at only restingHeight + 94. That is not necessarily its expanded height: the resting UI renders only a slice of persisted image attachments, while the expanded UI renders every attachment in a wrapping tray. Opening a thread with enough persisted attachments (or another tall restored draft), scrolling to the end, then expanding the composer therefore grows the overlay beyond this new reservation and covers the final messages—the regression this change is intended to prevent. Preserve/measure the new thread's actual expanded geometry rather than using the empty-composer delta as a universal bound. [ Previously rejected ]