The 1.1.0 entries covered only part of the cycle's 70 commits. Added what was
missing on both sides: the rebuilt GPUI shell as the default window, AI session
forking, AI turn-state detection, the full settings page, tab rename/color/
export, split panes with session restore, AI provider settings and the runtime
control CLI, built-in box-drawing geometry, mouse-semantics parity, and the
Markdown/image reader; on the fixed side the ConPTY cursor drift after resize,
the user PowerShell profile not loading (#30), the shrink-grow reflow round
trip, the cursor focus/blink state machine (#21), Esc reaching Claude Code,
the busy-process close confirmation, notification anchoring, acrylic opacity,
brand-icon scaling, Relaxed-mode glyph width, and tab launch identity.
Removed the multi-protocol remote backup entry: the feature is hidden in
1.1.0, so it must not be announced. Contributors now lists only the PR author.
The published release notes were updated in place with the same content.
`ContextMenuExt::context_menu()` wraps the host element and keys its element
state by a hardcoded "context-menu" id. The wrapper's id enters the
GlobalElementId stack *before* the wrapped row's own `("sidebar-tab", ix)`,
so every sidebar tab row resolved to the same state — the same
`Rc<RefCell<ContextMenuSharedState>>`. Opening one menu set `open = true` for
all rows, and each row then re-rendered the same PopupMenu entity at the same
anchor. The panel is opaque so the stack was invisible, but the popover shadow
is not: its alpha composited once per tab. That is the whole of "the more tabs,
the thicker the right-click shadow" — no packaging or config involvement.
The tab menu now uses the same carrier as the file tree: rows only record the
anchor and index, and a single `deferred(anchored(PopupMenu))` is drawn from
the workspace root, so the component's own popover shadow stays single-layer.
The menu is dropped when the TABS section folds, and skipped when its captured
index no longer exists.
Alongside it:
- CHANGELOG: 1.1.0 gains this fix and issue #38 (two notify wrappers wrapping
each other until Codex's config.toml reached 130MB); release date moves to
2026-08-18.
- docs/release-notes/v1.1.0.md: release notes in the 1.0.0 format, with PR
credits, reporter credits, and a pointer to the issue templates.
- README / THIRD-PARTY-NOTICES: GPUI and gpui-component are credited and
declared — both Apache-2.0, compiled as lightly patched forks.
- .gitignore: ignore the whole `.probe-*/` family instead of one name at a time.
The replay driver (win32_input_matrix.ps1) shipped in the previous commit
but its PTY-side probe stayed untracked — a fresh checkout could not run
the matrix. Also record the observed flake class: a first launch stalled
by realtime scanning loses head keys or gets torn down at the script's
7s cleanup; rerunning the same exe restores bit-identical PASS.
- SSH proxying resolves per-host > ~/.ssh/config ProxyJump > global;
new jump:<host> syntax (single hop, chains rejected with a clear
error) and a system mode that reads the Windows registry proxy
- Win32 input mode: control keys carry their true KEY_EVENT_RECORD
character so Esc reaches byte-stream readers (Claude Code); focus
reports while active; synthesized modifier key-ups on focus loss;
resize coalescing per channel drain; flagless ConPTY retry; PTY
transport failures surface and tear the session down
- Overlay panels (command palette, launcher, session picker, combobox
dropdowns) share the new ui/overlay_list components; settings row
actions share an outline-button widget
- Settings SSH rows draw per-host OS icons instead of a status ring
- IME cursor-area pushes are deduplicated to stop render-thread stalls
during Chinese input in PowerShell; cache invalidated on focus/IME
changes
- Input latency probes behind NEBULA_INPUT_LATENCY=1