From caf84196fbc133194741960eb4982d45088d8bf2 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sat, 18 Apr 2026 12:32:24 +0200 Subject: [PATCH] fix: Reset-File-Regex - Timestamp endet mit Z (ohne Punkt davor) Die OpenClaw Reset-Files heissen .jsonl.reset.Z (nicht .jsonl.reset..Z). Der falsche Regex matchte nie, alle Archive wurden als "verwaist" angezeigt statt als "archiv". Co-Authored-By: Claude Opus 4.7 (1M context) --- diagnostic/server.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/diagnostic/server.js b/diagnostic/server.js index dd577ad..acba573 100644 --- a/diagnostic/server.js +++ b/diagnostic/server.js @@ -1642,14 +1642,14 @@ async function handleListSessions(clientWs) { // Dateien die nicht im Index stehen (Waisen ODER Reset-Archive) for (const [filename, details] of Object.entries(fileDetails)) { - // .jsonl.reset..Z → archivierte Session (OpenClaw-Reset) - const resetMatch = filename.match(/^([a-f0-9-]+)\.jsonl\.reset\.(.+)\.Z$/); + // .jsonl.reset.Z → archivierte Session (OpenClaw-Reset) + // Format: 528f4d70-...jsonl.reset.2026-04-18T09-49-44.814Z + const resetMatch = filename.match(/^([a-f0-9-]+)\.jsonl\.reset\.(.+Z)$/); if (resetMatch) { const id = resetMatch[1]; - // Timestamp ISO-8601 parsen (in Dateinamen: : durch - ersetzt) - // z.B. 2026-04-18T09-49-44.814 → 2026-04-18T09:49:44.814Z + // Timestamp ISO-8601 parsen: 2026-04-18T09-49-44.814Z → 2026-04-18T09:49:44.814Z const tsStr = resetMatch[2].replace(/T(\d{2})-(\d{2})-(\d{2})/, "T$1:$2:$3"); - const resetAt = Math.floor(new Date(tsStr + "Z").getTime() / 1000) || parseInt(details.MODIFIED) || 0; + const resetAt = Math.floor(new Date(tsStr).getTime() / 1000) || parseInt(details.MODIFIED) || 0; sessions.push({ path: `${SESSIONS_DIR}/${filename}`, sessionKey: id.slice(0, 8) + "… (archiv)",