Skip to content

Conversation

@kbhomes
Copy link

@kbhomes kbhomes commented Aug 18, 2025

On browsers or operating systems with overscroll behavior there may be a "bounce" animation that occurs when scrolling to the end of the container. This overscroll can't be programmatically synced between the textareas, so a text selection will appear unsynchronized.

overtype-with-overscroll-behavior-default.mp4

This PR adds overscroll-behavior: none to prevent this selection scrolling effect:

overtype-with-overscroll-behavior-disabled.mp4

Summary by cubic

Stops the overscroll bounce so linked textareas scroll together and selections stay in sync. Sets overscroll-behavior: none in the generated styles to prevent rubber-banding at scroll edges.

@panphora
Copy link
Owner

Thank you for this excellent fix! I've merged your change into the main branch and published it as version 1.1.5.

The overscroll-behavior: none addition perfectly solves the text selection desynchronization issue during elastic scrolling. This was a subtle but important bug that affects the core alignment feature of OverType.

Your contribution has been included in the latest release (v1.1.5) and credited in the changelog. Thanks again for identifying and fixing this issue!

@panphora panphora closed this Aug 20, 2025
panphora added a commit that referenced this pull request Aug 20, 2025
- Add overscroll-behavior: none to prevent elastic scrolling
- Fixes text selection staying synchronized between layers
- Bump version to 1.1.5

Fixes #17

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
panphora added a commit that referenced this pull request Aug 20, 2025
Credit kbhomes for overscroll fix (#17) and merlinz01 for TypeScript definitions (#20)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
panphora added a commit that referenced this pull request Aug 20, 2025
- Add overscroll-behavior: none to prevent elastic scrolling
- Fixes text selection staying synchronized between layers
- Bump version to 1.1.5

Fixes #17

🤖 Generated with [Claude Code](https://claude.ai/code)
panphora added a commit that referenced this pull request Aug 20, 2025
Credit kbhomes for overscroll fix (#17) and merlinz01 for TypeScript definitions (#20)

🤖 Generated with [Claude Code](https://claude.ai/code)
panphora added a commit that referenced this pull request Aug 20, 2025
- Add overscroll-behavior: none to prevent elastic scrolling
- Fixes text selection staying synchronized between layers
- Bump version to 1.1.5

Fixes #17

🤖 Generated with [Claude Code](https://claude.ai/code)
panphora added a commit that referenced this pull request Aug 20, 2025
Credit kbhomes for overscroll fix (#17) and merlinz01 for TypeScript definitions (#20)

🤖 Generated with [Claude Code](https://claude.ai/code)
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.

2 participants