- Change Cache-Control from s-maxage=31536000 to max-age=0,must-revalidate
for all HTML pages and sitemap (fixes stale content after settings change)
- Remove Cloudflare PurgeURLs call since we're not caching HTML at CDN
- Add Quicklink for client-side prefetching on public blog pages
- Make main branch deploy automatic (remove manual trigger)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use s-maxage=86400 for Cloudflare edge caching (24h) with max-age=0
so browsers always fetch from CDN. Combined with existing cache purge
on content changes, this minimizes origin server load while ensuring
fresh content.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use s-maxage=86400 for Cloudflare edge caching (24h) with max-age=0
so browsers always fetch from CDN. Combined with existing cache purge
on content changes, this minimizes origin server load while ensuring
fresh content.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Source .env file before docker compose to load REGISTRY_URL
- Add event: manual to deploy-prod (requires manual trigger in Woodpecker)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add build tag to studio/embed.go to exclude from test builds
- Create stub embed_testing.go for test builds
- Update CI pipeline to use -tags testing
- Add tests for webhook signature verification and status normalization
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>