Fix desktop app not being able to load pdfium (#6575)

# Description of Changes
The changes in
[#6279](https://github.com/Stirling-Tools/Stirling-PDF/pull/6279) broke
the desktop app because the wasm URL handling didn't deal with
`tauri://` paths. Also I noticed that `task desktop:build:dev:mac`
failed locally because it was attempting to sign the app with
credentials that developers won't have (and shouldn't need), so I fixed
that too.
This commit is contained in:
James Brunton
2026-06-08 16:21:56 +00:00
committed by GitHub
parent 51478e5051
commit 002de06411
2 changed files with 13 additions and 16 deletions
@@ -2,22 +2,19 @@ import { BASE_PATH } from "@app/constants/app";
import pdfiumWasmAssetUrl from "@embedpdf/pdfium/pdfium.wasm?url";
const getWasmUrl = (): string => {
if (
pdfiumWasmAssetUrl.startsWith("http://") ||
pdfiumWasmAssetUrl.startsWith("https://") ||
pdfiumWasmAssetUrl.startsWith("//")
) {
return pdfiumWasmAssetUrl;
}
const origin = typeof window !== "undefined" ? window.location.origin : "";
// In dev, Vite serves the statically-copied asset from the dev server root.
if (import.meta.env.DEV) {
const origin = typeof window !== "undefined" ? window.location.origin : "";
return `${origin}${BASE_PATH}/pdfium/pdfium.wasm`;
}
const cleanAssetUrl = pdfiumWasmAssetUrl
.replace(/^\.\//, "")
.replace(/^\//, "");
return `${origin}${BASE_PATH}/${cleanAssetUrl}`;
// Vite has already produced a base-aware asset URL (absolute under a relative
// base, root-relative under an absolute base). Resolve it against the document
// to get a fetchable absolute URL that is also safe to pass to Web Workers.
if (typeof window !== "undefined") {
return new URL(pdfiumWasmAssetUrl, window.location.href).href;
}
return pdfiumWasmAssetUrl;
};
export const pdfiumWasmUrl = getWasmUrl();