Skip to content

release: v2.1.1 - #685

Merged
juan294 merged 13 commits into
mainfrom
develop
Nov 7, 2026
Merged

juan294 merged 13 commits into
mainfrom
develop

Conversation

@juan294

@juan294 juan294 commented Nov 7, 2026

Copy link
Copy Markdown
Owner

[2.1.1] - 2026-11-07

Added

  • Under Rex, a pane that only runs a background program (npm run dev, pnpm dev, tail -f, docker compose up, vite, nodemon and similar) opens minimized: it is floated and minimized after the session is created, shows as a capsule, and keeps running. pane.<name>.background=true or =false in a layout or .summon overrides the choice; the first pane and a pane without a command are never minimized. summon focus <project> <pane> shows a minimized pane. A Rex without session.set_layer_state (before preview.25) keeps normal splits and says so. A launch whose create answer was lost has its background panes minimized when it is adopted. Ghostty keeps a normal split and does not change, and ignores the key silently; an invalid background value warns under Rex only. docs/rex.md has the details.

Fixed

  • Workspace exit snapshots run with the same Summon executable as the launch and survive Rex terminal teardown, including when collecting Git state takes longer. Cleanup markers are removed before the snapshot runs. An interrupted on-stop command can still prevent snapshot dispatch.

juan294 and others added 12 commits November 3, 2026 08:20
A pane marked pane.<name>.background=true opens minimized in a floating
Rex layer: session.create stays one atomic call, then each background pane
gets session.float_block and session.set_layer_state before the app shows
the session. Ghostty ignores the key.

- tree/config-resolve: extractPaneBackground, paneBackground through the
  resolved config and BackendLaunchContext; layout listing treats every
  pane.<name>.<sub> key as a setting
- rex/layout: minimize and ignoredBackground on the build, editor-size
  goes to the first right split that keeps a visible pane on both sides
- rex/minimize: the pass (capability check, view as truth, bounded by a
  30 s budget and the first unanswered call), contained so it never fails
  a launch
- launch: manifest minimize list, block lookup after a lost answer from
  the pane files then the fresh layout order, notices for every pane left
  in the layout
- rex ops and parsers for layers; hermetic fake rex learns layers

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AnmTToqdb6M15QCgnnb55Q
- containment notice claims no pane state
- a layer id read from the recovery view is checked before it is reused
- the manifest parser drops the first pane from minimize
- tests: the pane file wins over layout position, three untested branches
- notes: second review dispositions and the D11 fallback consequence

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AnmTToqdb6M15QCgnnb55Q
…d (phase 2)

A launch whose session.create answer was lost leaves its background panes
tiled. When that launch is adopted (a launch, a status read, clean
--orphans), the panes its pane files name and that are still in the tiled
layout are minimized once, after the adoption is written. A pane that
already floats or is minimized is left alone, and nothing runs for an
orphan that is only reported, a superseded adoption, or a manifest without
a minimize list. A launch shows the transient line while it waits.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AnmTToqdb6M15QCgnnb55Q
…cenario (phase 3)

A pane whose command is a known background program (package-script dev
servers, log followers, servers and watchers) opens minimized under Rex
without a key; pane.<name>.background=false keeps it in the layout. A
program asked for help or version, and one that detaches or exits, is not
a background program.

- background-command.ts: the pure command table
- rex/layout: autodetected panes; dry run says how to keep one visible
- e2e: scenario C23 (needs an app window; unrun, checked by hand)
- docs: rex.md background panes, user manual, E2E guide, architecture,
  changelog, CLAUDE.md module table

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AnmTToqdb6M15QCgnnb55Q
The parser now collects the message and the Rex backend prints it, so
Ghostty ignores the key silently as the plan's D12 said.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AnmTToqdb6M15QCgnnb55Q
@strix-security

strix-security Bot commented Nov 7, 2026

Copy link
Copy Markdown

Strix is installed on this repository, but we couldn't run this PR security review because this workspace's trial has ended. Add a card to resume code reviews here.

So far, Strix has reviewed 50 pull requests, surfaced 7 security issues (1 critical/high) and blocked 1 risky merge across this workspace.

@juan294
juan294 merged commit 0692dbc into main Nov 7, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant