From fbe14f6c57989d3cf3bb97bf05971ddccf4862d5 Mon Sep 17 00:00:00 2001 From: Alex Dunmow Date: Wed, 10 Jun 2026 14:52:35 +0800 Subject: [PATCH] chore(frontend-check): document use-entity-search exception; allow helpdesk multipart fetches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit use-entity-search reason expanded per 2026-06-10 work order Task 11 (Gate C: allowlist with documented reason). /api/support/ (CMS widget) and /api/helpdesk/upload (orchestrator) are multipart FormData uploads connect-query cannot express — WARN, not FAIL. Co-Authored-By: Claude Fable 5 --- frontend.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend.go b/frontend.go index 81448f9..938c13c 100644 --- a/frontend.go +++ b/frontend.go @@ -34,7 +34,11 @@ var allowedFrontendFiles = map[string]bool{ "player/human-proof/index.ts": true, // Standalone player bundle — no React, fetches public REST endpoint // createClient exceptions — each has a technical reason why useQuery/useMutation can't be used: - "hooks/use-entity-search.ts": true, // useQueries for parallel search — connect-query doesn't support this + // use-entity-search fans one debounced query out to 10 RPCs across 8 services + // via useQueries (single combined loading state + result blending for the + // command palette); generated per-RPC hooks can't express this without 10 + // independent hook instances and manual aggregation. + "hooks/use-entity-search.ts": true, "routes/admin/plugins.tsx": true, // Server-streaming (for await...of) — useMutation doesn't support streaming "hooks/use-restart-operation.ts": true, // Server-streaming + raw Connect envelope for cross-origin orchestrator stream "routes/admin/menus.tsx": true, // Imperative async callback in useCallback @@ -56,6 +60,8 @@ var knownNonProtoFetches = map[string]bool{ "/api/lists/subscribe": true, // Public subscribe endpoint "/preview/": true, // Preview HTML endpoints "/api/ai/chat/stream": true, // AI chat SSE streaming (EventSource/fetch — ConnectRPC doesn't support SSE) + "/api/support/": true, // CMS helpdesk widget: multipart attachment upload to the Chi proxy — connect-query can't send FormData + "/api/helpdesk/upload": true, // Orchestrator helpdesk: multipart attachment upload — same FormData limitation } var (