From 0d8521855f04cd983b961be573851e5e33871bcc Mon Sep 17 00:00:00 2001 From: vegard Date: Mon, 16 Mar 2026 02:26:02 +0100 Subject: [PATCH] Admin: per-kanal warmup-konfigurasjon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - channels.config får warmup_mode (all/messages/days/none) og warmup_value - Migrasjon setter default til "all" for eksisterende kanaler - Admin-side /admin/channels med oversikt og inline-redigering - API PATCH /api/channels/:id/config for å oppdatere konfig - Worker respekterer per-kanal konfig ved warmup - Sidebar-lenke til kanaler-admin Co-Authored-By: Claude Opus 4.6 --- migrations/0006_warmup_config.sql | 8 + web/src/lib/components/Sidebar.svelte | 1 + web/src/routes/admin/channels/+page.server.ts | 33 ++ web/src/routes/admin/channels/+page.svelte | 348 ++++++++++++++++++ .../api/channels/[id]/config/+server.ts | 30 ++ worker/src/warmup.rs | 115 ++++-- 6 files changed, 508 insertions(+), 27 deletions(-) create mode 100644 migrations/0006_warmup_config.sql create mode 100644 web/src/routes/admin/channels/+page.server.ts create mode 100644 web/src/routes/admin/channels/+page.svelte create mode 100644 web/src/routes/api/channels/[id]/config/+server.ts diff --git a/migrations/0006_warmup_config.sql b/migrations/0006_warmup_config.sql new file mode 100644 index 0000000..33f0a90 --- /dev/null +++ b/migrations/0006_warmup_config.sql @@ -0,0 +1,8 @@ +-- Legg til warmup-innstillinger i channels.config +-- Default: warmup_mode = "all", warmup_value = null (last alt) +-- Andre moduser: "messages" (siste N), "days" (siste N dager), "none" (ikke last) + +UPDATE channels +SET config = config + || '{"warmup_mode": "all", "warmup_value": null}'::jsonb +WHERE NOT (config ? 'warmup_mode'); diff --git a/web/src/lib/components/Sidebar.svelte b/web/src/lib/components/Sidebar.svelte index 7714da0..c7dade7 100644 --- a/web/src/lib/components/Sidebar.svelte +++ b/web/src/lib/components/Sidebar.svelte @@ -145,6 +145,7 @@ {/each}
  • (open = false)}>Rediger sider
  • +
  • (open = false)}>Kanaler