From ddecde78dac144c46e73df300c164bf7964f59d6 Mon Sep 17 00:00:00 2001 From: Alexei Ledenev Date: Thu, 26 Mar 2026 22:11:07 +0200 Subject: [PATCH 1/2] fix: preserve dots in filenames during handelize The handelize() regex replaced all non-letter/non-number chars with dashes, including dots in the filename stem. This mangled session filenames like "topic-1773595309.753009.md" to "topic-1773595309-753009.md", breaking memory_get path resolution (file not found on disk). Fix: add dot to the preserved character class in the filename regex. After deploying, run qmd-reindex.sh to rebuild indexes with correct paths. --- src/store.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/store.ts b/src/store.ts index f17404d..5cab320 100644 --- a/src/store.ts +++ b/src/store.ts @@ -1610,7 +1610,7 @@ export function handelize(path: string): string { const nameWithoutExt = ext ? segment.slice(0, -ext.length) : segment; const cleanedName = nameWithoutExt - .replace(/[^\p{L}\p{N}$]+/gu, '-') // Keep route marker "$", dash-separate other chars + .replace(/[^\p{L}\p{N}.$]+/gu, '-') // Keep letters, numbers, dots, "$"; dash-separate rest .replace(/^-+|-+$/g, ''); // Remove leading/trailing dashes return cleanedName + ext; From 72f2dd1fe5f37e36d68f5e0711972f5ca1329192 Mon Sep 17 00:00:00 2001 From: Alexei Ledenev Date: Thu, 26 Mar 2026 22:38:09 +0200 Subject: [PATCH 2/2] fix: preserve original filename case in handelize (MEMORY.md not memory.md) --- src/store.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/store.ts b/src/store.ts index 5cab320..e67b284 100644 --- a/src/store.ts +++ b/src/store.ts @@ -1595,7 +1595,6 @@ export function handelize(path: string): string { const result = path .replace(/___/g, '/') // Triple underscore becomes folder separator - .toLowerCase() .split('/') .map((segment, idx, arr) => { const isLastSegment = idx === arr.length - 1;