tree c5c8eb1dc785f62fa5b3843fcc3ff653200cce59
parent b774437ff57fb95b14d326cc6be2c9937bdb6a78
author banksean <banksean@gmail.com> 1750293385 +0000
committer Sean McCullough <banksean@gmail.com> 1750296141 -0400

webui: preserve chat scroll position when switching tabs

Fix scroll position preservation in SketchAppShell to maintain chat timeline
scroll position when navigating between tabs, preventing automatic scroll
to top when returning to the chat view.

Implementation Changes:

1. Scroll Position Storage:
   - Add _chatScrollPosition state property to track chat scroll position
   - Store scroll position when leaving chat view in toggleViewMode()
   - Only store position if content is scrollable and user has actually scrolled
   - Validate scrollHeight > clientHeight and scrollTop > 0 before storing

2. Scroll Position Restoration:
   - Restore scroll position when returning to chat view
   - Use requestAnimationFrame to ensure DOM is ready before restoration
   - Add safety checks to verify view mode and container connection
   - Validate container is still connected before applying scroll position

3. Smart Reset Logic:
   - Reset stored scroll position when new messages arrive and user is near bottom
   - Check if user is within 50px of bottom (isNearBottom) before resetting
   - Allow timeline auto-scroll behavior for new messages when user is following
   - Preserve position when user has scrolled up to read older messages

4. Defensive Programming:
   - Add comprehensive validation for scroll container existence
   - Check scrollHeight, clientHeight, and scrollTop before calculations
   - Validate viewMode matches expected state during restoration
   - Ensure container.isConnected before DOM manipulation

Technical Details:
- Uses existing scrollContainerRef for scroll container access
- Maintains compatibility with existing scroll behavior in sketch-timeline
- Preserves timeline auto-scroll for new messages when user is at bottom
- Only stores meaningful scroll positions (not zero or invalid values)
- Handles edge cases like rapid tab switching or container changes

User Experience:
- Chat tab now remembers scroll position when switching to diff/terminal tabs
- Reading older messages no longer interrupted by tab navigation
- New messages still auto-scroll when user is following conversation
- Smooth restoration without visible jumps or layout shifts

This resolves the issue where the chat timeline would always scroll to the
oldest message when navigating back from other tabs, significantly improving
the user experience when reviewing conversation history.

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s3a52c0413098ade3k
