Skip to content

feat: add long-term caching for immutable assets#3128

Open
autocracy wants to merge 2 commits intotemporalio:mainfrom
autocracy:main
Open

feat: add long-term caching for immutable assets#3128
autocracy wants to merge 2 commits intotemporalio:mainfrom
autocracy:main

Conversation

@autocracy
Copy link

@autocracy autocracy commented Feb 2, 2026

Description & motivation 💭

Add Cache-Control headers for /_app/immutable/* paths to enable aggressive browser caching of static content-addressable filenames. This has a strong performance impact when the UI is behind a proxy that is preventing multiplexing connections. Without it, I observe slow serial downloading of these static assets.

  • Set Cache-Control: public, max-age=31536000, immutable (one year)
  • Applied in hooks.server.ts

Testing 🧪

How was this tested 👻

  • [ X ] Manual testing
  • E2E tests added
  • [ X ] Unit tests added

Add comprehensive test coverage for Cache-Control header middleware in hooks.server.ts:

  • Verify headers are set correctly for /_app/immutable/* paths
  • Verify headers are not set for other paths
  • Test preservation of existing headers
  • Cover various immutable asset subdirectories

Steps for others to test: 🚶🏽‍♂️🚶🏽‍♀️

Observe header application and local caching using developer tools in browser.

Add Cache-Control headers for /_app/immutable/* paths to enable
aggressive browser caching of static content-addressable filenames.
This has a strong performance impact when the UI is behind a proxy
that is preventing multiplexing connections.

- Set Cache-Control: public, max-age=31536000, immutable (one year)
- Applied in hooks.server.ts

Add comprehensive test coverage for Cache-Control header middleware
in hooks.server.ts:
- Verify headers are set correctly for /_app/immutable/* paths
- Verify headers are not set for other paths
- Test preservation of existing headers
- Cover various immutable asset subdirectories
@autocracy autocracy requested a review from a team as a code owner February 2, 2026 18:38
@autocracy autocracy requested review from laurakwhit and removed request for a team February 2, 2026 18:38
@CLAassistant
Copy link

CLAassistant commented Feb 2, 2026

CLA assistant check
All committers have signed the CLA.

@vercel
Copy link

vercel bot commented Feb 2, 2026

Someone is attempting to deploy a commit to the Temporal Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Collaborator

@laurakwhit laurakwhit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice performance optimization! Just some very small comments to address and this should be good to go.

@laurakwhit
Copy link
Collaborator

@autocracy if you'd like to sign the CLA we can get this merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants