Skip to content

v0.5.5

Choose a tag to compare

@github-actions github-actions released this 21 Jul 10:51

PiTTy v0.5.5

PiTTy v0.5.5 fixes model selector mouse selection and the Working indicator during thinking and tool calls, plus modal focus capture and overlay focus management for every dialog.

Mouse selection for every selector

  • OpenTUI Select has no built-in mouse handling. Clicking a model row in the model selector now maps the pointer Y coordinate (accounting for scrollOffset in scrolled lists) to the visible option index and selects it immediately.
  • This follows the same pattern as the thinking-level and settings selectors. The session selector and extension dialogs already had a mouse click mapping; the model selector was the only Select without one.
  • The panel overlay and search box share click handling without fighting over focus: clicking the search field keeps the cursor in search, clicking the list selects the clicked row.

Persistent Working indicator

  • The "Working…" indicator now stays visible for the entire agent turn — including while the model is streaming thinking content or calling tools.
  • Previously it was hidden whenever the latest conversation item was a streaming assistant message or a pending/streaming tool call. It is now equivalent to isStreaming so it appears throughout the model's active period and disappears when the agent settles.

Modal focus management

  • Every dialog (model selector, notification detail, extension dialog) now renders a full-screen overlay onMouseDown={event => event.stopPropagation()} that prevents background terminal interaction from leaking through.
  • The searchable-dialog-focus helper now uses setTimeout(focusSearch, 0) instead of queueMicrotask for initial focus, improving reliability on the OpenTUI event loop.

Regression coverage

  • Added a mouse-click test for the model selector: renders the dialog, looks up the target row in the character frame, clicks at its coordinates, and verifies onSelect fires with the correct model.