Merge remote-tracking branch 'upstream/main' into fix/collab-web-liveness-state
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
### Fixed
|
||||
|
||||
- Fixed the guest rendering idle while the host agent is running (spinner vanishing mid-turn after a reconnect dropped `agent_start`): host `state` frames are now authoritative for liveness in both directions, and an idle report clears tool cards pinned by a dropped `tool_execution_end` ([#6990](https://github.com/can1357/oh-my-pi/pull/6990) by [@metaphorics](https://github.com/metaphorics)).
|
||||
- Fixed an issue where the agent would stop silently without a message by ensuring terminal auto-retry failures are properly surfaced as error notices.
|
||||
|
||||
## [17.1.0] - 2026-07-24
|
||||
|
||||
|
||||
@@ -461,6 +461,9 @@ export class GuestClient {
|
||||
case "auto_retry_start":
|
||||
this.#pushNotice("info", `retry ${event.attempt}/${event.maxAttempts}: ${event.errorMessage}`);
|
||||
break;
|
||||
case "auto_retry_end":
|
||||
if (!event.success) this.#pushNotice("error", event.finalError ?? "retry failed");
|
||||
break;
|
||||
case "auto_compaction_start":
|
||||
this.#pushNotice("info", `compacting context (${event.reason})`);
|
||||
break;
|
||||
|
||||
@@ -262,6 +262,17 @@ describe("GuestClient frame apply", () => {
|
||||
expect(notices[0]).toMatchObject({ level: "error", message: "boom" });
|
||||
});
|
||||
|
||||
it("auto_retry_end failure surfaces an error notice", () => {
|
||||
const client = liveClient();
|
||||
client.applyFrameForTest({
|
||||
t: "event",
|
||||
event: { type: "auto_retry_end", success: false, attempt: 3, finalError: "x" },
|
||||
});
|
||||
const notices = client.getSnapshot().notices;
|
||||
expect(notices).toHaveLength(1);
|
||||
expect(notices[0]).toMatchObject({ level: "error", message: "x" });
|
||||
});
|
||||
|
||||
it("a pre-welcome error (hello rejection, e.g. protocol mismatch) ends the session with the host's reason", () => {
|
||||
const client = new GuestClient(LINK, "tester");
|
||||
client.applyFrameForTest({
|
||||
|
||||
Reference in New Issue
Block a user