From 4462eb432588fca5a73266ec97fac7cbbe27461d Mon Sep 17 00:00:00 2001 From: Michael Wedl Date: Mon, 26 Aug 2024 10:28:01 +0200 Subject: [PATCH] Force chromium offline mode --- CHANGELOG.md | 1 + api/src/reportcreator_api/tasks/rendering/render.py | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 437504cc3..ec212af8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * More settings for guest user permissions: GUEST_USERS_CAN_EDIT_PROJECTS, GUEST_USERS_CAN_SEE_ALL_USERS * Improve error messages for decryption errors * Fix checkboxes not rendered as checked in PDF +* Fix chromium error while rendering PDFs ## v2024.63 - 2024-08-07 diff --git a/api/src/reportcreator_api/tasks/rendering/render.py b/api/src/reportcreator_api/tasks/rendering/render.py index 43ceefbe5..f59b1f4ec 100644 --- a/api/src/reportcreator_api/tasks/rendering/render.py +++ b/api/src/reportcreator_api/tasks/rendering/render.py @@ -97,7 +97,7 @@ def get_page(): ) as browser: with browser.new_context( base_url=FAKE_BASE_URL, - offline=False, # Offline mode prevents request mocking. A catch-all route handler is used instead + offline=True, java_script_enabled=True, service_workers='block', accept_downloads=False, @@ -138,7 +138,7 @@ def chromium_request_handler(route): ))) # Catch all requests - page.route('**', chromium_request_handler) + page.route('**/*', chromium_request_handler) # Load Vue template page.route(FAKE_BASE_URL + '/', lambda route: route.fulfill(content_type='text/html', body='')) @@ -182,8 +182,7 @@ def chromium_request_handler(route): } if msg['message'] in [ '[Vue warn]: Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.', - 'Failed to load resource: net::ERR_FAILED', - ]: + ] or msg['message'].startswith('Failed to load resource: net::'): continue if msg['level'] not in ['error', 'warning', 'info']: msg['level'] = 'info'