Skip to content

Synapse v1.3.9 — Accesso protetto & Impostazioni guidate

Mette il servizio dietro autenticazione al bordo (Cloudflare Access), riorganizza i Settings per renderli comprensibili anche a chi non è esperto, e corregge il 502 del "Crea" nelle Revisioni quando il provider di ingest è CLI. Nessuna migrazione DB. Il backend va ribuildato (la fix del 502 è backend).

🔒 Sicurezza

  • Cloudflare Access davanti a tutta l'app [audit C1/C2] — chiude l'esposizione pubblica del vault. Il browser usa il login interattivo (cookie); i client non-browser passano il gate con un service token (CF-Access-Client-Id / CF-Access-Client-Secret). Campi per incollarlo aggiunti a web (Settings › Sicurezza), app iOS (Settings) e Chrome clipper (Options); per l'MCP vedi DEPLOY.md §5.6b. Vedi ADR-0062.
  • Header di sicurezza [audit C3] — HSTS, X-Content-Type-Options, X-Frame-Options: DENY, CSP frame-ancestors 'none', Referrer-Policy, Permissions-Policy serviti da nginx.
  • Fix PWA manifest dietro Access — crossorigin="use-credentials" sul link del manifest, così non viene più dirottato al login (errore CORS).

✨ Novità

  • Settings riorganizzati e guidati [F16] — dalle 6 categorie tecniche a 5 gruppi per intento (Essenziali · Contenuti e sorgenti · Comportamento AI · Accesso e sicurezza · Sistema), ciascuno con una riga di descrizione; le impostazioni avanzate ora sono marcate con un badge; atterraggio diretto su "AI e provider".
  • Setup provider CLI unificato [F17] — il token dell'abbonamento CLI si incolla ora nella stessa pagina in cui scegli il provider (prima era in un altro tab), con guida inline.

🐛 Fix

  • 502 sul "Crea" delle Revisioni (e generazione Lint) con provider CLI [F9][F17] — la generazione on-demand forzava sempre il loop orchestrato (analyze()), invalido per i provider agentici (CLI). Ora il routing è capability-aware come l'ingest normale: supports_agentic_loop → path delegato; altrimenti loop orchestrato (I6). L'item non resta più bloccato in 502.

⬆️ Aggiornamento

  • Backend: rebuild necessario — la fix del 502 è lato backend. Ripulla l'immagine ghcr.io/emanuele-chiummo/llm-wiki-synapse-backend:v1.3.9 (+ frontend). Nessuna migrazione DB.
  • Azioni manuali Cloudflare (una tantum): crea un Service Token per client (Zero Trust → Access → Service Auth) con policy "Service Auth", incollalo nei rispettivi settings; attiva "Always Use HTTPS". Per l'MCP via connettore claude.ai (solo Bearer), imposta un Bypass di /mcp/server da Access (ha già il suo token) — vedi DEPLOY.md §5.6b.

📎 Artifact

  • Synapse-1.3.9-unsigned.ipa — build iOS non firmata, allegata alla release. Include il supporto al service-token Cloudflare Access. Va firmata col tuo Apple ID (Xcode / AltStore / Sideloadly); con account gratuito l'app è valida 7 giorni. Riproducibile con ios/build-unsigned-ipa.sh.
  • Bundle desktop macOS/Windows + immagini GHCR come di consueto.
  • Nessun segreto hardcoded nei client (l'audit ha confermato che sk-ant-oat01- era solo testo segnaposto).