Skip to content

[pull] main from gi-dellav:main#77

Merged
pull[bot] merged 12 commits into
lenylvt:mainfrom
gi-dellav:main
Jun 26, 2026
Merged

[pull] main from gi-dellav:main#77
pull[bot] merged 12 commits into
lenylvt:mainfrom
gi-dellav:main

Conversation

@pull

@pull pull Bot commented Jun 26, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Note

Add vertical scrolling and click-to-place cursor to the multi-line input area

  • The input area in the terminal UI now supports vertical scrolling when content exceeds a height cap (~30% of available rows, minimum 5 rows), keeping the chat viewport visible.
  • Mouse clicks inside the input area are translated to a buffer byte offset via Renderer.input_cursor_for_click, moving the cursor to the clicked position while respecting multi-byte character boundaries via InputEditor.set_cursor.
  • Mouse wheel scroll events first attempt to scroll the input viewport and only fall back to chat history scrolling when the input is at its top or bottom boundary.
  • renderer.sync_input_height is called before drawing the chat viewport to reconcile input height changes and prevent stale separators.
  • The Nix build is refactored from a flake-based setup to overlay-based release.nix/shell.nix/default.nix files, removing flake.nix.

Macroscope summarized df21b8d.

xavierforge and others added 12 commits June 26, 2026 21:07
Make a multi-line input box that overflows its height fully usable:

- Vertical viewport follows the cursor, so Up/Down reveal lines that do
  not fit on screen at once instead of the viewport staying pinned to
  the bottom.
- Mouse wheel scrolls the input viewport first, then keeps going back
  through the chat history once the input is at its top; scrolling down
  brings the chat back before the input.
- Clicking inside the input box moves the cursor to that position.
- Cap the input height to roughly 30% of the available area so the chat
  history stays visible and scrollable above a tall input.
- Clamp the rendered caret to the visible input rows so it never spills
  onto the separator or status bar while scrolled away from the cursor.
- Reconcile the input height before drawing the chat viewport so a
  height change does not leave a stale separator when it shrinks, or
  chat text hidden under it when it grows, until the next redraw.
to build run:

	$ nix-build ./release.nix -A zerostack
With code all stable, flakes are no longer needed
feat(input): scroll, click-to-position, and a height cap for tall input boxes
@pull pull Bot locked and limited conversation to collaborators Jun 26, 2026
@pull pull Bot added the ⤵️ pull label Jun 26, 2026
@pull pull Bot merged commit df21b8d into lenylvt:main Jun 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants