chore: promoted vibe persistence changelog entry to unreleased

This commit is contained in:
can1357
2026-07-23 18:07:48 +02:00
parent da1056226e
commit 3a62af9dc0
3 changed files with 5 additions and 12 deletions
+4 -8
View File
@@ -29,7 +29,6 @@
- Fixed Ctrl-clicking a wrapped OAuth authorization URL opening only the clicked row's truncated fragment by preserving the complete hyperlink target on every rendered row.
- Fixed used-only absolute usage amounts across output surfaces: CLI now renders `$123.45 used`; the TUI shows a neutral, width-bounded amount instead of a pending/dotted/account-count placeholder; and ACP preserves `123.45 usd used` while suppressing duplicate window suffixes such as `— extra`. ([#5575](https://github.com/can1357/oh-my-pi/issues/5575))
- Fixed auto-compaction re-triggering the "Compaction freed too little context" warning on every resume when the branch's last entry was an over-threshold snapcompact archive: the dead-end rescue now rebuilds the trailing archive locally at a threshold-derived frame budget (superseding the stale frame payload) instead of pausing, since the elide/image tiers can never touch a compaction entry (#4786).
- Fixed MCP tools repeatedly unmounting and remounting mid-session when server names have overlapping sanitized prefixes (e.g. `atlassian` alongside an imported `atlassian:atlassian`), and stale tools remaining registered after disconnecting a server with special characters in its name.
- Terminal title now reflects the agent run state in the separator between the `π` brand and the session name: animated spinner frames while the agent is working, `>` when the turn is over and it's your move, `!` while the agent is blocked on you (ask/approval prompt). Gated by the new `tui.titleState` setting (default on). ([#3587](https://github.com/can1357/oh-my-pi/issues/3587), [#4451](https://github.com/can1357/oh-my-pi/pull/4451) by [@mattwilkinsonn](https://github.com/mattwilkinsonn))
- Fixed reversible secret placeholders sharing a case-folded hash base across ASCII case variants, which let a prompt-injected model synthesize a never-provider-visible sibling secret's keyed token by swapping the case hint (`#…:L#` → `#…:U#`) in a tool-call argument. Placeholder bases are now keyed on the exact secret value, so each casing variant gets an independent base and a synthesized sibling token deobfuscates to nothing on live provider/tool-call paths ([#2465](https://github.com/can1357/oh-my-pi/issues/2465)).
- Fixed an auto-collected environment secret that is also declared as a plain `mode: "replace"` entry with the same content still forcing creation of the persisted `secret-placeholder.key`. Replace mappings run before obfuscate mappings, so the value is one-way replaced and the obfuscate entry never emits a reversible placeholder; the key-need check now ignores such replace-shadowed obfuscate entries, so an effectively replace-only secret set no longer requires (or writes) the key file and no longer fails startup when the agent config dir is unwritable ([#2465](https://github.com/can1357/oh-my-pi/issues/2465)).
@@ -63,6 +62,10 @@
- Fix ACP terminal hang/leak by bounding createTerminal and RPC awaits with abort/timeout and cleaning up late-resolving terminals ([#4241](https://github.com/can1357/oh-my-pi/issues/4241))
- Added the opt-in `read.renderMarkdown` setting for formatted Markdown read previews, disabled by default.
- Fixed Markdown file read metadata so the opt-in Markdown preview renderer can recognize local and URI-backed Markdown files consistently.
- Fixed persisted vibe workers disappearing or being replaced across graceful restarts, session switches, failed mode exits, and late cancelled initialization: resumable conversations now restore safely, mode exit atomically commits worker tombstones with the mode change and rolls back cleanly on storage failure, explicit kills tear workers down monotonically while repairing uncertain append tails, killed transcripts remain readable but non-revivable, and stale initializers cannot overwrite newer same-ID workers ([#5303](https://github.com/can1357/oh-my-pi/issues/5303) by [@mastertyko](https://github.com/mastertyko)).
- Bounded vibe teardown so `vibe_kill` and Vibe-mode exit / session-switch suspension no longer hang when a cancelled turn's provider or tool ignores the abort signal: cancelled jobs get a short unref'd settlement grace, then detach while staying marked cancelled ([#5303](https://github.com/can1357/oh-my-pi/issues/5303) by [@RensTillmann](https://github.com/RensTillmann)).
- Fixed switching out of a Vibe-mode session clobbering the target session's active tools: mode reconciliation now strips only the transient vibe tools and preserves the freshly loaded target's tool set, instead of re-applying the source session's stale pre-vibe snapshot ([#5303](https://github.com/can1357/oh-my-pi/issues/5303)).
- Fixed restored Vibe workers resolving against the settings default model instead of the reopened session's active model: `#reconcileModeFromSession` now passes the session's active model string into rehydration so the `good` (`pi/task`) worker's inherited model tracks the resumed or switched-to session ([#5303](https://github.com/can1357/oh-my-pi/issues/5303)).
### Removed
@@ -717,13 +720,6 @@
- Removed the `--prewalk-boomerang` feature and its associated configuration setting.
- Removed the unreliable Bing and Yahoo HTML-scraping web search providers.
### Fixed
- Fixed persisted vibe workers disappearing or being replaced across graceful restarts, session switches, failed mode exits, and late cancelled initialization: resumable conversations now restore safely, mode exit atomically commits worker tombstones with the mode change and rolls back cleanly on storage failure, explicit kills tear workers down monotonically while repairing uncertain append tails, killed transcripts remain readable but non-revivable, and stale initializers cannot overwrite newer same-ID workers ([#5303](https://github.com/can1357/oh-my-pi/issues/5303) by [@mastertyko](https://github.com/mastertyko)).
- Bounded vibe teardown so `vibe_kill` and Vibe-mode exit / session-switch suspension no longer hang when a cancelled turn's provider or tool ignores the abort signal: cancelled jobs get a short unref'd settlement grace, then detach while staying marked cancelled ([#5303](https://github.com/can1357/oh-my-pi/issues/5303) by [@RensTillmann](https://github.com/RensTillmann)).
- Fixed switching out of a Vibe-mode session clobbering the target session's active tools: mode reconciliation now strips only the transient vibe tools and preserves the freshly loaded target's tool set, instead of re-applying the source session's stale pre-vibe snapshot ([#5303](https://github.com/can1357/oh-my-pi/issues/5303)).
- Fixed restored Vibe workers resolving against the settings default model instead of the reopened session's active model: `#reconcileModeFromSession` now passes the session's active model string into rehydration so the `good` (`pi/task`) worker's inherited model tracks the resumed or switched-to session ([#5303](https://github.com/can1357/oh-my-pi/issues/5303)).
## [16.4.8] - 2026-07-12
### Added
-1
View File
@@ -1 +0,0 @@
/work/pi/packages/coding-agent/node_modules
@@ -178,9 +178,7 @@ export class AgentLifecycleManager {
isParking(id: string, expected?: AgentRefExpectation): boolean {
const park = this.#parks.get(id);
return Boolean(
park &&
!park.cancelled &&
(expected === undefined || park.ref === expected || park.ref.session === expected),
park && !park.cancelled && (expected === undefined || park.ref === expected || park.ref.session === expected),
);
}