diff --git a/src/routes/trackers/ai/bots/+page.server.ts b/src/routes/trackers/ai/bots/+page.server.ts index 5906bed..36a0f4a 100644 --- a/src/routes/trackers/ai/bots/+page.server.ts +++ b/src/routes/trackers/ai/bots/+page.server.ts @@ -4,8 +4,9 @@ import type { PageServerLoad } from './$types'; // Owner only: one row per Grok Bot agent, short summaries written by Daisy (no transcripts). export const load: PageServerLoad = async (event) => { + // cache-control comes from the ai layout (owner) and hooks.server.ts; setting it here too threw + // header_already_set (500) for the owner. requireOwner(event); - event.setHeaders({ 'cache-control': 'private, no-store' }); return { bots: await loadBots(), now: Date.now(), diff --git a/src/routes/trackers/ai/setup/+page.server.ts b/src/routes/trackers/ai/setup/+page.server.ts index c12b2ca..aa74e00 100644 --- a/src/routes/trackers/ai/setup/+page.server.ts +++ b/src/routes/trackers/ai/setup/+page.server.ts @@ -15,8 +15,9 @@ import type { Actions, PageServerLoad, RequestEvent } from './$types'; // Actions don't run the load, so each one checks the owner again (hooks.server.ts also 404s // this path for everyone else). export const load: PageServerLoad = async (event) => { + // No setHeaders here: the ai layout already sets cache-control for the owner (setting it + // twice throws), and hooks.server.ts adds private, no-store on owner-only paths. requireOwner(event); - event.setHeaders({ 'cache-control': 'private, no-store' }); return { providers: await loadSetup(), now: Date.now(), diff --git a/src/routes/trackers/ai/usage/+page.server.ts b/src/routes/trackers/ai/usage/+page.server.ts index b3d4bbc..c008763 100644 --- a/src/routes/trackers/ai/usage/+page.server.ts +++ b/src/routes/trackers/ai/usage/+page.server.ts @@ -6,8 +6,9 @@ import type { Actions, PageServerLoad } from './$types'; // Owner only: dated usage numbers per provider. Actions don't run the load, so each // action checks the owner again (hooks.server.ts also 404s this path for everyone else). export const load: PageServerLoad = async (event) => { + // cache-control comes from the ai layout (owner) and hooks.server.ts; setting it here too threw + // header_already_set (500) for the owner. requireOwner(event); - event.setHeaders({ 'cache-control': 'private, no-store' }); return { entries: await loadUsage(), seo: { title: 'AI tracker ยท usage', description: 'My AI usage.', index: false }