Skip to content

Chat: a reader at the latest message stays there when the column changes size - #84

Merged
abhaypadmanabhan merged 3 commits into
OrgoAI:mainfrom
abhaypadmanabhan:dev/abhay-keep-place
Nov 1, 2026
Merged

abhaypadmanabhan merged 3 commits into
OrgoAI:mainfrom
abhaypadmanabhan:dev/abhay-keep-place

Conversation

@abhaypadmanabhan

Copy link
Copy Markdown
Contributor

Opening the side panel narrows the chat, every bubble grows taller, and the scroll position stays put, so a reader who was at the latest message lands in old messages.

A reader at the bottom now stays at the bottom whenever the chat or what's in it changes size; one who scrolled up keeps their place. The chat's own scrolls don't count as the reader's for 700 ms.

Proof

  • Screen: at the latest message, open the side panel: 0 px from the bottom before and after.
  • Script tests that render the chat: the same results as origin/main (test-chat-compact-ui has one failure on main too). An earlier version crashed there (ResizeObserver is missing in the test DOM); it now checks for it first, as autopilot.tsx does.
  • Before: Bops 0.0.35 on a Mac, as a teammate in a shared workspace (2026-10-31). Opening the panel showed setup messages from hours earlier.
  • Screens: a production build (next build, next start) of origin/main plus this and the other six PRs from the same review, with a local, uncommitted guard so the server never signs in or answers a call; a headless browser played a made-up copy of a shared workspace as a teammate with Write sees it.
  • npx tsc --noEmit -p . and eslint on the touched files: clean.

Review: Reviewed with sol-loop: 2 rounds with gpt-6.1-sol on high. Sol verdict: approved. Round 1 found that a reader who scrolled up within 700 ms of the chat's own scroll was pulled back down; fixed in the second commit (decide by direction, no timer).

secscan: VERDICT: PASS. The npm audit's 1 critical and 8 high are already on main (package-lock.json unchanged).

One of seven small PRs from a review of Bops as BrandLord's staff would use it in a shared workspace; each stands alone.

🤖 Generated with Claude Code

abhaypadmanabhan and others added 2 commits October 31, 2026 16:17
…ges size

Opening the side panel narrows the chat, every bubble grows taller and the scroll position stayed, landing the reader in old messages. A reader at the bottom now stays at the bottom when the chat or its content changes size; one who scrolled up keeps their place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… their place

Review: a scroll within 700 ms of the chat's own scroll was ignored, so a reader who scrolled up then stayed
followed and the next size change pulled them back down. The chat only ever scrolls itself down, so moving up
away from the bottom now always stops following, and reaching the bottom starts it; no timer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@abhaypadmanabhan
abhaypadmanabhan merged commit b946cca into OrgoAI:main Nov 1, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant