Simplify session lifecycle and MCP cleanup
This commit is contained in:
25
CHANGELOG.md
25
CHANGELOG.md
@@ -34,6 +34,16 @@ loosely follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
available macros.
|
||||
|
||||
### Changed
|
||||
- Focus, lifecycle, and repaint paths now capture terminal layout before
|
||||
taking UI state locks, reducing resize-time deadlock risk without
|
||||
changing visible behavior.
|
||||
- Focused PTY output no longer rebuilds the scratchpad sidebar on every
|
||||
chunk. The sidebar still repaints on focus/lifecycle/resize changes
|
||||
and when child output scrolls over the chrome, but normal output avoids
|
||||
repeated scratchpad disk reads.
|
||||
- Harness scenario tests now reuse one built patterm binary per test run
|
||||
and write failure artifacts under a repo-rooted, collision-proof
|
||||
directory.
|
||||
- Palette ordering: open agents/processes (`Switch to …`) now appear
|
||||
above the option to spawn new ones, with kill entries pushed down
|
||||
toward the end of the list.
|
||||
@@ -45,6 +55,21 @@ loosely follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
extra row of viewport.
|
||||
|
||||
### Fixed
|
||||
- Agent MCP injection no longer writes unused config files for inline
|
||||
injection modes (`cli_override` / `config_env`). File-backed injection
|
||||
modes track their generated paths and clean them up when the child is
|
||||
closed, exits, or patterm shuts down.
|
||||
- MCP `tools/list` descriptions now match the runtime argument values
|
||||
for process output and pattern waiting, and typed invalid-argument
|
||||
errors map to JSON-RPC invalid params instead of generic internal
|
||||
errors.
|
||||
- Scratchpad writes and appends are serialized inside a patterm process
|
||||
so `expected_revision` checks cannot race another local scratchpad
|
||||
mutation.
|
||||
- The sidebar scratchpad list now refreshes after MCP
|
||||
`scratchpad_write` and `scratchpad_append` calls.
|
||||
- UI chrome now reads renamed child display names through the
|
||||
`DisplayName` accessor, avoiding races with `rename_process`.
|
||||
- Child processes spawned by an orchestrator are now killed when the
|
||||
orchestrator dies, recursively through the tree. Applies whether the
|
||||
parent was closed via MCP, Ctrl-C'd by the user, or exited on its
|
||||
|
||||
Reference in New Issue
Block a user