Skip to content

Commit 5d5f057

Browse files
fix(media): strip internal UUID suffix from outbound media filenames
Closes #96538
1 parent d8ee630 commit 5d5f057

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

src/media/web-media.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,16 @@ describe("loadWebMedia", () => {
573573
expect(result.fileName).toBe("fake.png");
574574
});
575575

576+
it("strips internal media-store UUID suffix from outbound fileName", async () => {
577+
const stagedName = "narahari_resume---a1b2c3d4-5678-90ab-cdef-1234567890ab.png";
578+
const stagedFile = path.join(fixtureRoot, stagedName);
579+
await fs.writeFile(stagedFile, Buffer.from(TINY_PNG_BASE64, "base64"));
580+
581+
const result = await loadWebMedia(stagedFile, createLocalWebMediaOptions());
582+
583+
expect(result.fileName).toBe("narahari_resume.png");
584+
});
585+
576586
it("uses only the leaf filename from Windows-style sandbox-validated media paths", async () => {
577587
const result = await loadWebMedia(String.raw`C:\workspace\captures\tiny.png`, {
578588
maxBytes: 1024 * 1024,

src/media/web-media.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import {
3333
readImageMetadataFromHeader,
3434
readImageProbeFromHeader,
3535
} from "./media-services.js";
36+
import { extractOriginalFilename } from "./store.js";
3637

3738
export { getDefaultLocalRoots, LocalMediaAccessError };
3839
export type { LocalMediaAccessErrorCode };
@@ -1075,6 +1076,9 @@ async function loadWebMediaInternal(
10751076
});
10761077
}
10771078
let fileName = basenameFromAnyPath(mediaUrl) || undefined;
1079+
if (fileName) {
1080+
fileName = extractOriginalFilename(fileName);
1081+
}
10781082
if (fileName && !extnameFromAnyPath(fileName) && mime) {
10791083
const ext = extensionForMime(mime);
10801084
if (ext) {

0 commit comments

Comments
 (0)