diff --git a/desktop/src/main/stream.ts b/desktop/src/main/stream.ts index 3e27de12b478adf744d602729d1a29d7a13df51b..30aebaa9daba48d555051d50fadb4091e005018e 100644 --- a/desktop/src/main/stream.ts +++ b/desktop/src/main/stream.ts @@ -48,7 +48,8 @@ export const registerStreamProtocol = () => { const { host, pathname, hash } = new URL(url); // Convert e.g. "%20" to spaces. const path = decodeURIComponent(pathname); - const hashPath = decodeURIComponent(hash); + // `hash` begins with a "#", slice that off. + const hashPath = decodeURIComponent(hash.slice(1)); switch (host) { case "read": return handleRead(path); diff --git a/web/apps/photos/src/utils/native-stream.ts b/web/apps/photos/src/utils/native-stream.ts index 8ada6070cd206d8e63fef4d8d0668ec36550666d..8d93becfe0336c9d14c91fbb56296b49bf55d5c6 100644 --- a/web/apps/photos/src/utils/native-stream.ts +++ b/web/apps/photos/src/utils/native-stream.ts @@ -42,7 +42,7 @@ export const readStream = async ( url = new URL(`stream://read${pathOrZipItem}`); } else { const [zipPath, entryName] = pathOrZipItem; - url = new URL(`stream://read${zipPath}`); + url = new URL(`stream://read-zip${zipPath}`); url.hash = entryName; }