Is this a reproducible bug?
Current behavior
An unfocused client activating a shared tab changes the pane from 67 columns × 17 rows to 99 columns × 35 rows while the smaller viewer remains focused. Separately, rendering a larger pane in a smaller passive viewer drops its bottom-row marker; giving that viewer focus restores the marker without application input.
In daily use, remote Herdr terminals occasionally lose the bottom of the OMP UI, with right-edge clipping also visible; Ctrl+C restores the display. The deterministic reproduction below verifies the sizing behavior, not a manual end-to-end SSH reconnect.
Expected behavior
A background connection becoming viewable should not change the focused viewer’s shared pane size. A genuine focus change should transfer sizing control.
Reproduction
Reproduced against v0.9.0 using its in-process HeadlessServer and real pane renderer, with the existing shared-view/test-shell fixtures:
- Create one shared pane and connect client 7 with a 68×17 surface; deliver its focus=true event. Pane size is 67×17 including the scrollbar gutter adjustment.
- Connect client 8 to that tab with a 100×35 surface and surface_active=false.
- Activate client 8’s surface, then deliver its focus=false event (the ordered activation/focus sequence used by remote clients).
- Read the shared pane size before any user input: it is now 99×35, although client 7 is still focused.
Impact
A smaller viewer can lose the prompt/footer and rightmost text until focus or keyboard input restores its size. Using Ctrl+C as recovery can interrupt running agent work.
Environment
- Herdr version: 0.9.0, tag v0.9.0 (b99002a)
- Update channel: stable
- Operating system: Linux x86_64, kernel 7.0.0-31-generic
- Terminal: in-process Herdr/libghostty pane renderer for deterministic reproduction; observed symptom in remote Herdr terminal UI
- Relevant config: two clients viewing the same tab at different sizes
Is this a reproducible bug?
Current behavior
An unfocused client activating a shared tab changes the pane from 67 columns × 17 rows to 99 columns × 35 rows while the smaller viewer remains focused. Separately, rendering a larger pane in a smaller passive viewer drops its bottom-row marker; giving that viewer focus restores the marker without application input.
In daily use, remote Herdr terminals occasionally lose the bottom of the OMP UI, with right-edge clipping also visible; Ctrl+C restores the display. The deterministic reproduction below verifies the sizing behavior, not a manual end-to-end SSH reconnect.
Expected behavior
A background connection becoming viewable should not change the focused viewer’s shared pane size. A genuine focus change should transfer sizing control.
Reproduction
Reproduced against v0.9.0 using its in-process HeadlessServer and real pane renderer, with the existing shared-view/test-shell fixtures:
Impact
A smaller viewer can lose the prompt/footer and rightmost text until focus or keyboard input restores its size. Using Ctrl+C as recovery can interrupt running agent work.
Environment