[xwiki/xwiki-platform] bdbe4e: XWIKI-23194: PDF export using the headless Chrome ...
Branch: refs/heads/stable-16.10.x Home: https://github.com/xwiki/xwiki-platform Commit: bdbe4ed19accada180ba681852d21cd1a547255f https://github.com/xwiki/xwiki-platform/commit/bdbe4ed19accada180ba681852d21... Author: Marius Dumitru Florea <[email protected]> Date: 2025-05-12 (Mon, 12 May 2025) Changed paths: M xwiki-platform-core/xwiki-platform-container/xwiki-platform-container-servlet/src/main/java/org/xwiki/container/servlet/HttpServletUtils.java M xwiki-platform-core/xwiki-platform-container/xwiki-platform-container-servlet/src/test/java/org/xwiki/container/servlet/HttpServletUtilsTest.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-api/src/main/java/org/xwiki/export/pdf/browser/AbstractBrowserPDFPrinter.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-api/src/main/java/org/xwiki/export/pdf/internal/browser/CookieFilter.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-api/src/test/java/org/xwiki/export/pdf/browser/BrowserPDFPrinterTest.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-default/src/main/java/org/xwiki/export/pdf/internal/browser/AuthenticationCookieFilter.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-default/src/test/java/org/xwiki/export/pdf/internal/browser/AuthenticationCookieFilterTest.java M xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/user/impl/xwiki/MyPersistentLoginManager.java M xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/pom.xml M xwiki-platform-core/xwiki-platform-rest/xwiki-platform-rest-server/src/main/java/org/xwiki/rest/internal/resources/ClientResourceImpl.java Log Message: ----------- XWIKI-23194: PDF export using the headless Chrome Docker container fails when view access is restricted * Move getClientIP() from MyPersistentLoginManager to HttpServletUtils in order to be able to reuse it. * Get the client IP again after setting the Forwarded HTTP header, because the perceived client IP may have changed once we mark the headless Chrome as a proxy. Commit: d732752a4ccfde422716484cbc1f5c485f1b06c9 https://github.com/xwiki/xwiki-platform/commit/d732752a4ccfde422716484cbc1f5... Author: Marius Dumitru Florea <[email protected]> Date: 2025-05-12 (Mon, 12 May 2025) Changed paths: M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-api/src/main/java/org/xwiki/export/pdf/PDFPrinter.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-api/src/main/java/org/xwiki/export/pdf/browser/AbstractBrowserPDFPrinter.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-api/src/main/java/org/xwiki/export/pdf/browser/BrowserTab.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-api/src/main/java/org/xwiki/export/pdf/internal/job/PDFExportJob.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-api/src/test/java/org/xwiki/export/pdf/internal/job/PDFExportJobTest.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-default/src/main/java/org/xwiki/export/pdf/internal/chrome/ChromeManager.java A xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-default/src/main/java/org/xwiki/export/pdf/internal/chrome/ChromeServiceConfigurationProvider.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-default/src/main/java/org/xwiki/export/pdf/internal/chrome/ChromeServiceFactory.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-default/src/main/java/org/xwiki/export/pdf/internal/chrome/ChromeTab.java A xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-default/src/main/java/org/xwiki/export/pdf/internal/chrome/PageReadyPromise.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-default/src/main/resources/META-INF/components.txt M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-default/src/test/java/org/xwiki/export/pdf/internal/chrome/ChromeManagerTest.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-default/src/test/java/org/xwiki/export/pdf/internal/chrome/ChromeTabTest.java A xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-test/xwiki-platform-export-pdf-test-content/src/main/resources/PDFExportIT/DelayedPageReady.xml M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-test/xwiki-platform-export-pdf-test-docker/src/test/it/org/xwiki/export/pdf/test/ui/PDFExportIT.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-test/xwiki-platform-export-pdf-test-pageobjects/src/main/java/org/xwiki/export/pdf/test/po/PDFExportAdministrationSectionPage.java M xwiki-platform-core/xwiki-platform-export/xwiki-platform-export-pdf/xwiki-platform-export-pdf-test/xwiki-platform-export-pdf-test-pageobjects/src/main/java/org/xwiki/export/pdf/test/po/PDFExportOptionsModal.java Log Message: ----------- XWIKI-23187: PDF export can hang indefinitely if the headless Chrome crashes or is stopped * Check multiple times, with shorter timeout, if the page is ready, instead of doing it once with a large timeout * Make sure the "read timeout" configuration of CDT is specified in order to avoid waiting indefinitely when communicating with the headless Chrome * Define the CDT configuration in a single place * Add support for canceling the PDF export job even when it waits for the print preview page to be ready for print * Add integration tests to verify stopping Chrome and canceling the PDF export job while we wait for the print preview page to be ready. * Refactor a bit ChromeTab to avoid Class Fan Out Compare: https://github.com/xwiki/xwiki-platform/compare/59d5fdd5a96c...d732752a4ccf To unsubscribe from these emails, change your notification settings at https://github.com/xwiki/xwiki-platform/settings/notifications
participants (1)
-
XWiki Notifications