From e63355848347d92680b56de733772663ad77b20c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=BE=D0=B4=D0=B8=D0=BD=20=D0=A0=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=BD?= Date: Sat, 26 Sep 2026 01:26:11 +0300 Subject: [PATCH] fix: don't pass id when creating session, let OpenCode generate ses_* MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit При создании сессии не передаём id — OpenCode сам генерирует ses_*. Ключ мапы (roomId:threadRootId) используется только для поиска, не передаётся в OpenCode. --- index.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/index.ts b/index.ts index 687c67e..e797aad 100644 --- a/index.ts +++ b/index.ts @@ -159,10 +159,9 @@ async function runPlugin(ctx: any, options: any, dataDir: string) { if (!opencodeSessionId) { log(`Creating new OpenCode session for ${roomId}:${threadRootId}`) try { - const encodedId = `${roomId}:${threadRootId}` - const createResult = await ctx.session.create({ id: encodedId, title: `Matrix: ${roomId.slice(0, 30)}...` }) - opencodeSessionId = createResult?.id || createResult?.data?.id || encodedId - log(`Created OpenCode session ${opencodeSessionId} (ID: ${encodedId})`) + const createResult = await ctx.session.create({ title: `Matrix: ${roomId.slice(0, 30)}...` }) + opencodeSessionId = createResult?.id || createResult?.data?.id + log(`Created OpenCode session ${opencodeSessionId} for ${roomId}:${threadRootId}`) session.opencodeSessionId = opencodeSessionId sessionManager.saveSession(roomId, threadRootId, opencodeSessionId) sessionContextMap.set(opencodeSessionId, { roomId, threadRootId, context })