diff --git a/packages/app/src/session/commands/export.test.ts b/packages/app/src/session/commands/export.test.ts index 156cd825d87..4d94b5e76e1 100644 --- a/packages/app/src/session/commands/export.test.ts +++ b/packages/app/src/session/commands/export.test.ts @@ -14,6 +14,10 @@ describe("sessionExportFilename", () => { ])("names %o as %s", (session, filename) => { expect(sessionExportFilename(session)).toBe(filename) }) + + test("shortens long titles to fit the filename limit", () => { + expect(sessionExportFilename({ id: "ses_123", title: "a".repeat(300) })).toBe(`${"a".repeat(250)}.json`) + }) }) describe("fetchSessionExport", () => { diff --git a/packages/app/src/session/commands/export.ts b/packages/app/src/session/commands/export.ts index 52dc3037c34..88f21c47a8d 100644 --- a/packages/app/src/session/commands/export.ts +++ b/packages/app/src/session/commands/export.ts @@ -43,6 +43,7 @@ export function sessionExportFilename(session: { id: string; title?: string; slu const clean = name .toLowerCase() .replace(/[^a-z0-9_-]+/gi, "-") + .slice(0, 250) .replace(/^-+|-+$/g, "") return `${clean || session.id}.json`