Title: fix(mothership): keep chat pinned to bottom across multi-line input resizes by TheodoreSpeaks · Pull Request #5711 · simstudioai/sim · GitHub
Open Graph Title: fix(mothership): keep chat pinned to bottom across multi-line input resizes by TheodoreSpeaks · Pull Request #5711 · simstudioai/sim
X Title: fix(mothership): keep chat pinned to bottom across multi-line input resizes by TheodoreSpeaks · Pull Request #5711 · simstudioai/sim
Description: Summary A bottom-pinned mothership chat silently unpinned whenever a newline was added or removed in a multi-line input draft Root cause: the prompt editor's autosize (height:'auto' → read scrollHeight → set px) forces a synchronous layout with the textarea collapsed; during that transient layout the chat scroll container grows and the browser natively clamps the pinned scrollTop down by the input's grown height (no JS write, invisible to ResizeObserver since the net size change is zero) Fix 1: lock the prompt-editor scroller's box during the autosize measurement so the transient collapse never leaks into ancestor layout Fix 2: re-pin the transcript to the bottom when the scroll container genuinely resizes (input growing/shrinking below its cap, panel/window resizes) — pinned-ness is sampled on scroll events, so a user who scrolled up is never yanked down Type of Change Bug fix Testing Reproduced and verified in the running app with instrumented scroll tracing (chrome-devtools MCP): add newline at input max height, remove newlines, and grow below the cap all stay pinned (dist ≈ 0); a user scrolled up 400px is untouched. bun run lint and bun run check:api-validation:strict pass. Checklist Code follows project style guidelines Self-reviewed my changes Tests added/updated and passing No new warnings introduced I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA) 🤖 Generated with Claude Code https://claude.ai/code/session_01QtgAAuHzbSoS4FEYZnHdAJ
Open Graph Description: Summary A bottom-pinned mothership chat silently unpinned whenever a newline was added or removed in a multi-line input draft Root cause: the prompt editor's autosize (height:'auto' → ...
X Description: Summary A bottom-pinned mothership chat silently unpinned whenever a newline was added or removed in a multi-line input draft Root cause: the prompt editor's autosize (height:'auto...
Opengraph URL: https://github.com/simstudioai/sim/pull/5711
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:8bf371fe-22ee-c4f5-d4ea-4ec220cc67aa |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | E7D4:25D1F8:892B4D:C4B396:6A637AEC |
| html-safe-nonce | 87ad53c4671c9210a91c4d6b4f0755d3a92025a12a23ff3920ef7d3b95a75e54 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFN0Q0OjI1RDFGODo4OTJCNEQ6QzRCMzk2OjZBNjM3QUVDIiwidmlzaXRvcl9pZCI6IjYwNDk3MDAwMjM2MzQxOTcyMjgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | c2403d9acd126949bea1ed370e26e2cb06b2099310c79ad0b2fc9617f7aa7c5e |
| hovercard-subject-tag | pull_request:4070993149 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/simstudioai/sim/pull/5711/files |
| twitter:image | https://avatars.githubusercontent.com/u/19564703?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/19564703?s=400&v=4 |
| og:image:alt | Summary A bottom-pinned mothership chat silently unpinned whenever a newline was added or removed in a multi-line input draft Root cause: the prompt editor's autosize (height:'auto' → ... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 4c1de337de00c7969335f8866af41463301071379a3a15fba12e9b85aa6378d6 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/simstudioai/sim git https://github.com/simstudioai/sim.git |
| octolytics-dimension-user_id | 199344406 |
| octolytics-dimension-user_login | simstudioai |
| octolytics-dimension-repository_id | 912559512 |
| octolytics-dimension-repository_nwo | simstudioai/sim |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 912559512 |
| octolytics-dimension-repository_network_root_nwo | simstudioai/sim |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | a4df32552e4c631011bdcd4c81cc3d7408664a8b |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width