diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 55fe1bc60..d662f16d8 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -279,6 +279,7 @@ - Fixed `omp bench` reporting "tokens 0, TPS 0.0" successes on repeated OpenRouter runs: pi-ai opts every OpenRouter request into response caching, so bench's byte-identical request replayed a cached generation with zeroed usage at edge speed. Bench now sends `X-OpenRouter-Cache: false` so every run measures a fresh generation - Fixed `omp bench` failing with HTTP 400 `{"detail":"Instructions are required"}` against `openai-codex` models: bench requests now carry a minimal default system prompt (same guard as eval's completion bridge) - Fixed pressing `Ctrl+T` (toggle thinking blocks) — or hitting any other rebuild path such as the theme/preset selector — during the pre-streaming window after a submission erasing the just-submitted user message until the first assistant token arrived: the user message is rendered optimistically before `session.prompt(...)` lands it in session entries, so `rebuildChatFromMessages()` had no record of it; it now replays an in-flight optimistic submission after rebuilding the transcript, gated on `optimisticUserMessageSignature` (cleared by `EventController` once the real `message_start` lands) so it cannot duplicate post-streaming ([#2372](https://github.com/can1357/oh-my-pi/issues/2372)). +- Fixed ACP `/move` builtin test expectations to compare the resolved destination path so the test is portable on Windows and Unix. ## [15.11.6] - 2026-06-12 diff --git a/packages/coding-agent/test/acp-builtins.test.ts b/packages/coding-agent/test/acp-builtins.test.ts index c5080b045..ec9419ad6 100644 --- a/packages/coding-agent/test/acp-builtins.test.ts +++ b/packages/coding-agent/test/acp-builtins.test.ts @@ -1,4 +1,5 @@ import { describe, expect, it, spyOn } from "bun:test"; +import * as path from "node:path"; import type { ResetCreditAccountStatus, ResetCreditRedeemOutcome, @@ -478,11 +479,12 @@ describe("session lifecycle commands", () => { runtime.notifyTitleChanged = async () => { notified = true; }; + const expectedMovedTo = path.resolve("/tmp"); const result = await executeAcpBuiltinSlashCommand("/move /tmp", runtime); expect(result).toEqual({ consumed: true }); expect(fakeSessionManager._flushed).toBe(true); - expect(fakeSessionManager._movedTo).toBe("/tmp"); - expect(output[0]).toContain("/tmp"); + expect(fakeSessionManager._movedTo).toBe(expectedMovedTo); + expect(output[0]).toContain(expectedMovedTo); expect(notified).toBe(true); });