From 8df1dbb8c78b4fb5cede2cf5be65323283aed97a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 7 Apr 2026 14:38:14 +0100 Subject: [PATCH] Auto-reply: preserve compacted transcript subpaths --- src/auto-reply/reply/session-updates.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/auto-reply/reply/session-updates.ts b/src/auto-reply/reply/session-updates.ts index 17e5b87c2af..0a3d61d65ab 100644 --- a/src/auto-reply/reply/session-updates.ts +++ b/src/auto-reply/reply/session-updates.ts @@ -317,11 +317,19 @@ function resolveCompactionSessionFile(params: { function canonicalizeAbsoluteSessionFilePath(filePath: string): string { const resolved = path.resolve(filePath); - try { - const parentDir = fs.realpathSync(path.dirname(resolved)); - return path.join(parentDir, path.basename(resolved)); - } catch { - return resolved; + const missingSegments: string[] = []; + let cursor = resolved; + while (true) { + try { + return path.join(fs.realpathSync(cursor), ...missingSegments.toReversed()); + } catch { + const parent = path.dirname(cursor); + if (parent === cursor) { + return resolved; + } + missingSegments.push(path.basename(cursor)); + cursor = parent; + } } }