fix(ui): mouse scroll + input perf; OpenCode Go routing cleanup - #44
Merged
Conversation
Give users OpenCode-style ways to copy chat and input text when alt-screen mouse capture blocks native selection: /copy modes, /select, /mouse, and Ctrl+Shift+C, plus tui_mouse in settings.
Prevent lipgloss input borders from rendering replacement glyphs when wider than the terminal, and pin eyrie so OpenCode Go deployments use the dual- protocol client that falls back when MiniMax returns reasoning-only streams.
Align router and tier resolution with eyrie catalog-only paths after removing opencodego and legacy tier candidate lookups.
Pin eyrie at ff82521 with live /models discovery and chat/completions-only routing for OpenCode Go, aligned with standalone eyrie feature branch.
Wheel over chat scrolls history; wheel over input is ignored. Up/Down in the prompt navigate input history. Sync external/eyrie for OpenCode Go ProtocolRouter.
…recovery Align chat/footer mouse zones with View layout, route wheel to chat only, and keep Up/Down on input history. Recover reasoning-only OpenCode Go streams via Chat fallback instead of repeating broken stream retries; bump eyrie d1b4a57.
Track pointer position and remap stale bottom-row wheel reports from Cursor's terminal. Enable motion tracking, derive scroll zones from footer height, and stop stream follow/viewport refresh from undoing manual scroll.
Fast-path mouse motion to pointer tracking only, cache footer layout measurements, and sanitize input only when leak markers are present.
Skip clipboard e2e when xclip unavailable, remove unused helpers, fix tier tests for embedded catalog, and emit reasoning-only stream errors directly.
Patel230
added a commit
that referenced
this pull request
Jun 15, 2026
* feat(cmd): add TUI copy, selection, and mouse capture controls Give users OpenCode-style ways to copy chat and input text when alt-screen mouse capture blocks native selection: /copy modes, /select, /mouse, and Ctrl+Shift+C, plus tui_mouse in settings. * fix(cmd): clip footer borders and bump eyrie for OCG MiniMax routing Prevent lipgloss input borders from rendering replacement glyphs when wider than the terminal, and pin eyrie so OpenCode Go deployments use the dual- protocol client that falls back when MiniMax returns reasoning-only streams. * refactor(routing): drop cross-provider fallback and simplify cost tiers Align router and tier resolution with eyrie catalog-only paths after removing opencodego and legacy tier candidate lookups. * chore(deps): bump eyrie for OpenCode Go OpenAI-compatible provider Pin eyrie at ff82521 with live /models discovery and chat/completions-only routing for OpenCode Go, aligned with standalone eyrie feature branch. * fix(ui): verify mouse wheel scrolls chat only; bump eyrie to b8cc975 Wheel over chat scrolls history; wheel over input is ignored. Up/Down in the prompt navigate input history. Sync external/eyrie for OpenCode Go ProtocolRouter. * fix(ui,engine): mouse scroll zones, input history, MiniMax reasoning recovery Align chat/footer mouse zones with View layout, route wheel to chat only, and keep Up/Down on input history. Recover reasoning-only OpenCode Go streams via Chat fallback instead of repeating broken stream retries; bump eyrie d1b4a57. * fix(ui): Cursor mouse wheel scrolls chat, not input footer Track pointer position and remap stale bottom-row wheel reports from Cursor's terminal. Enable motion tracking, derive scroll zones from footer height, and stop stream follow/viewport refresh from undoing manual scroll. * perf(ui): speed up prompt input while keeping mouse leak filtering Fast-path mouse motion to pointer tracking only, cache footer layout measurements, and sanitize input only when leak markers are present. * style: gofumpt format for CI * fix(ci): lint and test fixes for PR #44 Skip clipboard e2e when xclip unavailable, remove unused helpers, fix tier tests for embedded catalog, and emit reasoning-only stream errors directly.
Patel230
added a commit
that referenced
this pull request
Jun 18, 2026
* feat(cmd): add TUI copy, selection, and mouse capture controls Give users OpenCode-style ways to copy chat and input text when alt-screen mouse capture blocks native selection: /copy modes, /select, /mouse, and Ctrl+Shift+C, plus tui_mouse in settings. * fix(cmd): clip footer borders and bump eyrie for OCG MiniMax routing Prevent lipgloss input borders from rendering replacement glyphs when wider than the terminal, and pin eyrie so OpenCode Go deployments use the dual- protocol client that falls back when MiniMax returns reasoning-only streams. * refactor(routing): drop cross-provider fallback and simplify cost tiers Align router and tier resolution with eyrie catalog-only paths after removing opencodego and legacy tier candidate lookups. * chore(deps): bump eyrie for OpenCode Go OpenAI-compatible provider Pin eyrie at ff82521 with live /models discovery and chat/completions-only routing for OpenCode Go, aligned with standalone eyrie feature branch. * fix(ui): verify mouse wheel scrolls chat only; bump eyrie to b8cc975 Wheel over chat scrolls history; wheel over input is ignored. Up/Down in the prompt navigate input history. Sync external/eyrie for OpenCode Go ProtocolRouter. * fix(ui,engine): mouse scroll zones, input history, MiniMax reasoning recovery Align chat/footer mouse zones with View layout, route wheel to chat only, and keep Up/Down on input history. Recover reasoning-only OpenCode Go streams via Chat fallback instead of repeating broken stream retries; bump eyrie d1b4a57. * fix(ui): Cursor mouse wheel scrolls chat, not input footer Track pointer position and remap stale bottom-row wheel reports from Cursor's terminal. Enable motion tracking, derive scroll zones from footer height, and stop stream follow/viewport refresh from undoing manual scroll. * perf(ui): speed up prompt input while keeping mouse leak filtering Fast-path mouse motion to pointer tracking only, cache footer layout measurements, and sanitize input only when leak markers are present. * style: gofumpt format for CI * fix(ci): lint and test fixes for PR #44 Skip clipboard e2e when xclip unavailable, remove unused helpers, fix tier tests for embedded catalog, and emit reasoning-only stream errors directly.
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
d1b4a57Dependency
Merge eyrie PR first (submodule points to
d1b4a57onfeat/remove-opencodego-simplify-catalog).Test plan
go test ./cmd/... -run 'Mouse|Viewport|Scroll|Copy'