From 538c8c9e4d2b72c3c20fd0550a49d0f74eb7b3c3 Mon Sep 17 00:00:00 2001 From: Dan Haywood Date: Wed, 19 Nov 2025 10:19:58 +0000 Subject: [PATCH 1/2] CAUSEWAY-3891: backports fix from main --- .../pdfjs/wkt/ui/components/PdfJsViewerPanel.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.java b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.java index 167f10c0d1f..27c86dbaac0 100644 --- a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.java +++ b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/causeway/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.java @@ -182,17 +182,20 @@ protected MarkupContainer createRegularFrame() { return createShallowRegularFrame(); } - val scalarModel = scalarModel(); + val attributeModel = scalarModel(); val regularFrame = new WebMarkupContainer(ID_SCALAR_IF_REGULAR); + var documentUrl = urlFor( + new ListenerRequestHandler( + new PageAndComponentProvider(getPage(), this))) + // adds a hash to the URL, such that browser caching works as desired + + "&md5=" + blob.md5Hex(); val pdfJsConfig = - scalarModel.getMetaModel().lookupFacet(PdfJsViewerFacet.class) + attributeModel.getMetaModel().lookupFacet(PdfJsViewerFacet.class) .map(pdfJsViewerFacet->pdfJsViewerFacet.configFor(buildKey())) .orElseGet(PdfJsConfig::new) - .withDocumentUrl(urlFor( - new ListenerRequestHandler( - new PageAndComponentProvider(getPage(), this)))); + .withDocumentUrl(documentUrl); val pdfJsPanel = new PdfJsPanel(ID_SCALAR_VALUE, pdfJsConfig); From ed1b7f781f5d64d8f948d1f6cb760bc48401c3cb Mon Sep 17 00:00:00 2001 From: Dan Haywood Date: Wed, 19 Nov 2025 10:26:15 +0000 Subject: [PATCH 2/2] CAUSEWAY-3945 : backports remove cache for table downloads also --- .../java/org/apache/causeway/viewer/wicket/ui/util/Wkt.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/util/Wkt.java b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/util/Wkt.java index 2bbf5569ee0..504c3ae8fc5 100644 --- a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/util/Wkt.java +++ b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/util/Wkt.java @@ -22,6 +22,7 @@ import java.io.File; import java.io.Serializable; +import java.time.Duration; import java.util.List; import java.util.Optional; import java.util.OptionalInt; @@ -651,6 +652,7 @@ public void fileDownloadClickHandler(final IModel model, final CommonMimeT RequestCycle.get().scheduleRequestHandlerAfterCurrent( Wkt.fileResourceStreamRequestHandler(file, mime) .setFileName(fileName) + .setCacheDuration(Duration.ZERO) .setContentDisposition(ContentDisposition.ATTACHMENT)); }