Summary
A fresh short regular-mode question block in herdr 0.9.0 remains intentionally unclickable because its frame anchor cannot be calibrated. Viewport-filled frames do accept the same outer-client SGR click and resolve the question.
Reproduction
Start an isolated named herdr session at 120x40, run senpi with the ask-user fixture, and submit /askq wait=false n=1. The pane writes private ESC[?6n; no private cursor reply reaches its stdin. The visible option received outer-client bytes ESC[<0;27;25M then ESC[<0;27;25m, but no answer occurred. Keyboard input remained usable and agent state was blocked.
Working path
After filling the pane with transcript history, outer-client bytes ESC[<0;27;34M then ESC[<0;27;34m answered PostgreSQL, produced the answer chip, and changed agent state from blocked to working or idle. Alt+up, alt+down, digits and /answer skip pass through.
Expected
Private pane-relative cursor calibration should permit safe clicks in fresh short frames too. Preserve fail-closed dispatch; do not substitute bare CPR, which collides with modified function-key input.
Evidence
Real named-session PTY captures include before/after grids, PNGs, protocol receipts and server/process teardown. Private-query receipt: {"event":"private-query","bytes":"\u001b[?6n"}; zero matching private-input receipts. Both the short-frame limitation and viewport success are documented in the TUI guide.
Refs #1645
Summary
A fresh short regular-mode question block in herdr 0.9.0 remains intentionally unclickable because its frame anchor cannot be calibrated. Viewport-filled frames do accept the same outer-client SGR click and resolve the question.
Reproduction
Start an isolated named herdr session at 120x40, run senpi with the ask-user fixture, and submit
/askq wait=false n=1. The pane writes privateESC[?6n; no private cursor reply reaches its stdin. The visible option received outer-client bytesESC[<0;27;25MthenESC[<0;27;25m, but no answer occurred. Keyboard input remained usable and agent state was blocked.Working path
After filling the pane with transcript history, outer-client bytes
ESC[<0;27;34MthenESC[<0;27;34manswered PostgreSQL, produced the answer chip, and changed agent state from blocked to working or idle. Alt+up, alt+down, digits and /answer skip pass through.Expected
Private pane-relative cursor calibration should permit safe clicks in fresh short frames too. Preserve fail-closed dispatch; do not substitute bare CPR, which collides with modified function-key input.
Evidence
Real named-session PTY captures include before/after grids, PNGs, protocol receipts and server/process teardown. Private-query receipt:
{"event":"private-query","bytes":"\u001b[?6n"}; zero matching private-input receipts. Both the short-frame limitation and viewport success are documented in the TUI guide.Refs #1645