diff --git a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/image-preview.tsx b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/image-preview.tsx index 0bac2180bed..e4ba8033261 100644 --- a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/image-preview.tsx +++ b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/image-preview.tsx @@ -7,7 +7,11 @@ import { ZoomablePreview } from './zoomable-preview' export const ImagePreview = memo(function ImagePreview({ file }: { file: WorkspaceFileRecord }) { const source = useFileContentSource() - const serveUrl = source.buildUrl(file.key) + // Version the URL on updatedAt: overwrites keep the same storage key, so an unversioned + // URL would resolve to a previously cached copy instead of the rewritten bytes. + const serveUrl = source.buildUrl(file.key, { + version: Number(new Date(file.updatedAt)) || file.size, + }) return ( diff --git a/apps/sim/next.config.ts b/apps/sim/next.config.ts index 1d42e1c7c22..5f760789c4f 100644 --- a/apps/sim/next.config.ts +++ b/apps/sim/next.config.ts @@ -177,7 +177,7 @@ const nextConfig: NextConfig = { async headers() { return [ { - source: '/:all*(svg|jpg|jpeg|png|gif|ico|webp|avif|woff|woff2|ttf|eot)', + source: '/((?!api/).*\\.(?:svg|jpg|jpeg|png|gif|ico|webp|avif|woff|woff2|ttf|eot))', headers: [ { key: 'Cache-Control',