fix(document): configure pdf.js wasmUrl so CCITT/JBIG2 scans stop rendering blank (#708) #713
@@ -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');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user