Skip to content

Commit c69787c

Browse files
committed
fix(files): sanitize markdown zip entry name, full uuid fallback for filename dedup
1 parent f56d775 commit c69787c

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

  • apps/sim/app/api/files/export/[id]

apps/sim/app/api/files/export/[id]/route.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ function deduplicatedFilename(preferred: string, existing: Set<string>, imageId:
3939
if (!existing.has(preferred)) return preferred
4040
const ext = path.extname(preferred)
4141
const base = path.basename(preferred, ext)
42-
return `${base}_${imageId.slice(0, 8)}${ext}`
42+
const short = `${base}_${imageId.slice(0, 8)}${ext}`
43+
if (!existing.has(short)) return short
44+
return `${base}_${imageId}${ext}`
4345
}
4446

4547
export const GET = withRouteHandler(
@@ -128,7 +130,7 @@ export const GET = withRouteHandler(
128130
}
129131

130132
const zip = new JSZip()
131-
zip.file(record.originalName, mdContent)
133+
zip.file(safeFilename(record.originalName), mdContent)
132134
const assetsFolder = zip.folder('assets')!
133135
for (const { filename, buffer } of assetMap.values()) {
134136
assetsFolder.file(filename, buffer)

0 commit comments

Comments
 (0)