Skip to content

ComandOS v1.5.2

Choose a tag to compare

@0xjesus 0xjesus released this 15 Jul 20:06
· 1485 commits to main since this release

v1.5.2 - Reliable terminal links, selection, and pane resize

ComandOS v1.5.2 makes links, text selection, and split-pane resizing
predictable in the native client and remote terminal.

Fixed

  • Native terminal links now open through the Linux desktop URI handler, so a
    configured default such as Brave is honored. xdg-open remains a one-time
    fallback if GIO cannot dispatch the URL.
  • A primary-button drag no longer changes the active tmux pane before VTE
    finishes selecting text. Clean clicks still focus the correct split, and
    Ctrl+click still opens links immediately.
  • A pre-existing native selection no longer makes a clean URL click silently
    fail.
  • Remote column changes wait while xterm has selected text, including when the
    selection starts during the 180 ms reconnect debounce. The existing v1.5.1
    wrapped-row protection resumes after the selection clears.
  • Remote Select mode now remains active when switching ComandOS tabs. tmux
    mouse mode is restored only by Interact, terminal close, or page unload.
  • After a mouse or touch split-pane resize, xterm performs one full repaint
    after tmux's redraw is parsed, so reflowed text fills the new pane width.

These changes do not restart or replace tmux sessions, panes, commands,
working directories, history, or agent processes.

Verification

  • 273 passed in the complete pytest suite.
  • Platform compatibility checks passed.
  • Both dashboard JavaScript bundles passed syntax validation.
  • Native event tests cover clean clicks, drags, pre-existing selections,
    Ctrl+click, GIO dispatch, and one-time xdg-open fallback.
  • Remote state tests cover selection during resize, selection during debounce,
    returned widths, tab switches, close/pagehide cleanup, mouse/touch pane drag,
    and repaint after tmux output.
  • Real split-pane E2E passed in Brave and Google Chrome with desktop mouse and
    mobile touch viewports. Every run changed the physical tmux pane width,
    reflowed text through the last cell before the border, and issued exactly one
    post-redraw repaint.