From 8525e8ee8d75eebee9af548940282a5915f94ee6 Mon Sep 17 00:00:00 2001 From: Mix Date: Sun, 18 Oct 2026 22:59:37 +0300 Subject: [PATCH] guard: the queues as tables - in-queue built, out-queue held to its outline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The owner, 2026-10-18, on the queue being shown as postqueue's text and the Inbound queue never built: "Фиаско, что очередь не была сделана. Как мы это допустили? Исправляем!" The 2026-10-09 deferral the guards encoded is over. - deferredScreens: in-queue leaves; the page is built from now on. - outlineExempt: out-queue leaves; its page is held to the mockup's outline (box[Waiting]:table) like every other. The map stays, empty. - The route table: GET /inbound/queue and its fragment. A guard edit on the owner's decision, alone in its commit; the tests are red until the next commit builds the pages. Co-Authored-By: Claude Opus 5.5 --- internal/web/guard_routes_test.go | 1 + internal/web/view/guard_panel_test.go | 11 ++++------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/internal/web/guard_routes_test.go b/internal/web/guard_routes_test.go index 5de0628..1dfb8cc 100644 --- a/internal/web/guard_routes_test.go +++ b/internal/web/guard_routes_test.go @@ -58,6 +58,7 @@ var routes = struct{ always, inbound, dmarc []string }{ "POST /inbound/domains/{id}/recipients", "GET /inbound/domains/{id}/delete", "POST /inbound/domains/{id}/delete", "GET /inbound/log", + "GET /inbound/queue", "GET /inbound/queue/fragment", "GET /inbound/filter-lists", "POST /inbound/filter-lists", "POST /inbound/filter-lists/{id}/delete", }, diff --git a/internal/web/view/guard_panel_test.go b/internal/web/view/guard_panel_test.go index ab844c3..1101ef8 100644 --- a/internal/web/view/guard_panel_test.go +++ b/internal/web/view/guard_panel_test.go @@ -46,17 +46,14 @@ const mockupDir = "../../../docs/assets/panel-redesign/panel" // with its own plan (panel-redesign.md § Room for roadmap items). They are the // only keys of outlines.json the finished panel may lack. var deferredScreens = map[string]string{ - "in-queue": "queue as a table / inbound queue, undecided", "in-quarantine": "inbound-quarantine, candidate", "in-quarantine-message": "inbound-quarantine, candidate", } -// Pages whose 2.0 content is deliberately not the mockup's (decided -// 2026-10-09: both queues ship the old content inside the new shell until the -// queue is a table). They obey every rule except the outline comparison. -var outlineExempt = map[string]string{ - "out-queue": "old postqueue output in the new shell until queue-as-a-table is decided", -} +// Pages whose content is deliberately not the mockup's. They obey every rule +// except the outline comparison. Empty since the queues became tables (owner, +// 2026-10-18); until then both shipped postqueue's listing in the new shell. +var outlineExempt = map[string]string{} // Pages that are redesigned but have no outline: the kit page is the // vocabulary itself, and the signed-out screens have no shell to outline.