Skip to content

Background SSH surface activation resizes another focused viewer’s shared pane #3744

Description

@knowsuchagency

Is this a reproducible bug?

  • I confirm this is a reproducible bug, not a feature request, idea, question, contribution proposal, or direction check.
  • I reproduced this bug on the version and environment reported below using the exact steps provided.

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:

  1. 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.
  2. Connect client 8 to that tab with a 100×35 surface and surface_active=false.
  3. Activate client 8’s surface, then deliver its focus=false event (the ordered activation/focus sequence used by remote clients).
  4. 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingp2valid narrow or ordinary defect with limited impact or a practical workaroundremoteaffects SSH, headless, or remote attachment behaviorrenderingterminal emulation, reflow, layout, graphics, or output renderingsessionsworkspace, tab, or pane lifecycle, restore, and persistence

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions