diff --git a/frontend/src/lib/document/viewer/usePdfRenderer.svelte.test.ts b/frontend/src/lib/document/viewer/usePdfRenderer.svelte.test.ts index 94b2046d..5cbbed2a 100644 --- a/frontend/src/lib/document/viewer/usePdfRenderer.svelte.test.ts +++ b/frontend/src/lib/document/viewer/usePdfRenderer.svelte.test.ts @@ -277,7 +277,7 @@ describe('createPdfRenderer', () => { expect(r.error).toBeNull(); }); - it('loadDocument sets error and loading=false when getDocument().promise rejects', async () => { + it('loadDocument sets a localized error (not the raw pdf.js message) when getDocument rejects', async () => { const failingLib = { GlobalWorkerOptions: { workerSrc: '' }, getDocument: vi.fn().mockReturnValue({ @@ -294,6 +294,7 @@ describe('createPdfRenderer', () => { await r.init(); await r.loadDocument('/bad/path'); expect(r.loading).toBe(false); - expect(r.error).toBe('PDF not found'); + expect(r.error).toBe(m.doc_render_failed()); + expect(r.error).not.toContain('PDF not found'); }); }); diff --git a/frontend/src/lib/document/viewer/usePdfRenderer.svelte.ts b/frontend/src/lib/document/viewer/usePdfRenderer.svelte.ts index 1e169969..99724cf1 100644 --- a/frontend/src/lib/document/viewer/usePdfRenderer.svelte.ts +++ b/frontend/src/lib/document/viewer/usePdfRenderer.svelte.ts @@ -55,8 +55,10 @@ export function createPdfRenderer(libLoader: LibLoader = defaultLibLoader) { const doc = await loadingTask.promise; pdfDoc = doc; totalPages = doc.numPages; - } catch (e) { - error = e instanceof Error ? e.message : 'Failed to load PDF'; + } catch { + // Never surface the raw pdf.js message — show a localized failure + // that routes into the viewer's error UI (message + download link). + error = m.doc_render_failed(); } finally { loading = false; }