From 99d4bedb08b2b945ce6ac6fb7a9635e69c86d380 Mon Sep 17 00:00:00 2001 From: kevinWangSheng Date: Sun, 5 Apr 2026 08:08:05 -0700 Subject: [PATCH] fix(acp): forward session title updates to ACP clients via session_info_update When a session title is auto-generated after the first prompt turn, Session.setTitle() fires a session.updated bus event. handleEvent() had no case for this event type, so ACP clients never learned the session title changed. Add a case that calls connection.sessionUpdate with sessionUpdate: "session_info_update" whenever session.updated carries a non-empty title. Fixes #21013 --- packages/opencode/src/acp/agent.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/opencode/src/acp/agent.ts b/packages/opencode/src/acp/agent.ts index 96a97be752..c675aa7210 100644 --- a/packages/opencode/src/acp/agent.ts +++ b/packages/opencode/src/acp/agent.ts @@ -529,6 +529,26 @@ export namespace ACP { } return } + + case "session.updated": { + const props = event.properties + const session = this.sessionManager.tryGet(props.sessionID) + if (!session) return + if (!props.info.title) return + await this.connection + .sessionUpdate({ + sessionId: session.id, + update: { + sessionUpdate: "session_info_update", + title: props.info.title, + updatedAt: new Date(props.info.time.updated).toISOString(), + }, + }) + .catch((error) => { + log.error("failed to send session_info_update to ACP", { error }) + }) + return + } } }