Repository navigation
fix(macos): steady chat scrolling and list new chats at once - #2105
Merged
Merged
Conversation
- Sidebar: one hovered row at a time; rows that moved under a still pointer stayed lit. - ⌘P pins or unpins the open chat. - A new chat shows in the sidebar from its first message, not once the engine saves its history at the end of the turn. - Chat rows lay out eagerly and equatably, and nested code, diff and tool-output scrollers only scroll when their content overflows, so the chat no longer jumps or stalls under the pointer. - Autoscroll follows chat-app conventions: an upward wheel scroll lets go at once, reaching the end holds on again, sending a message returns to the end, and the end stays anchored as output grows. - search_web: drop the built-in Exa API key, add `site:` only for a real domain, clip snippets on a character boundary and bound Tavily ones. - Run batched search_web and read_url calls in parallel. Claude-Session: https://claude.ai/code/session_011PUNFotC3fKLBhHKUnPG3D
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
macOS
.equatable(), as the iOS transcript does. Lazy rows got their real height only on screen, so the chat jumped while scrolling up. Code blocks and diffs scroll sideways only when wider than the chat, and tool output wraps and scrolls only when tall. Unneeded nested scrollers had been catching the wheel.defaultScrollAnchor(.bottom, for: .sizeChanges)); once detached, growth never moves the reader. Only wheel and scroller input over the chat counts.Engine (found in the reviewed sessions)
search_webhad an Exa API key hardcoded as a fallback. It's removed, so Exa now runs only withEXA_API_KEYset.search_webaddedsite:even with an empty domain, sliced snippets by bytes (a panic on non-ASCII text), and left Tavily snippets unbounded.search_webandread_urlcalls now run in parallel (about 2s each, previously one after another).Testing
cargo test --workspace,cargo fmt --all -- --check: everything passes exceptrustcode-tuiremote_registers_with_a_running_gateway_and_shows_how_to_pair, which failed once in the full run and passed 3/3 on its own (code not touched by this PR).swift testinmacos/(65 tests)https://claude.ai/code/session_011PUNFotC3fKLBhHKUnPG3D