diff --git a/docs/CONTEXT_LAST_SESSION.md b/docs/CONTEXT_LAST_SESSION.md index d8bb8d4..999b921 100644 --- a/docs/CONTEXT_LAST_SESSION.md +++ b/docs/CONTEXT_LAST_SESSION.md @@ -2,7 +2,20 @@ > Il 2026-05-29 ci sono state DUE sessioni: **pomeriggio** e **mattina** (TRPG). Il 2026-05-30 sessione lunga: gap competitivi P1/P2/P3 + connettori + review multi-agente + fix. -## 2026-05-31 (sera) — Fasi 2-4 questionari fornitori + corpus ACN (prod v1.12.0, ahead 0) +## 2026-05-31 (sera) — Fasi 2-4 questionari fornitori + corpus ACN + KILL-SWITCH EMAIL (prod, ahead 0) + +> ⚠️ **EMAIL DISABILITATE** — ambiente con SOLI dati demo. `EMAIL_SENDING_ENABLED=false` (fail-safe). NESSUNA mail parte. Riattivare SOLO al go-live reale e SOLO dopo aver rimosso i dati demo. Vedi sotto + memoria `project_email_killswitch`. + +### Kill-switch email (commit 397185e, ultimo lavoro della sessione) +- Guard `EMAIL_SENDING_ENABLED` in `config.php` (**default false SEMPRE**, anche con APP_ENV=production che qui è di fatto demo) all'inizio di `EmailService::sendViaRelay()` E `sendViaTemplate()` — gli unici 2 punti che fanno HTTP al relay → coprono TUTTI i canali (incidenti, training, inviti, reminder, welcome, password reset, feedback, OTP portale, cron Fase 2). +- Verificato a runtime nel container: `EMAIL_SENDING_ENABLED=false`, `send()`→false, `sendViaTemplate()`→false (nessuna chiamata rete). +- Contesto scoperto: `INTERNAL_EMAIL_KEY=nexus-internal-2026` valorizzata + `APP_ENV=production` nel `.env` host → senza switch le mail SAREBBERO partite davvero. +- Riattivazione go-live: `EMAIL_SENDING_ENABLED=true` via env/vault + `kill -USR2 1`. + +### Fix collaterale (commit 006f863) +- `EmailService::sendViaTemplate()` era MANCANTE (Edit silenziosamente fallito in de09af6): `requestOtp()` chiamava un metodo inesistente → OTP mai inviato (errore inghiottito dal try/catch). Aggiunto davvero + verificato `method_exists` a runtime. Payload usa `data` (campo canonico relay AgileHub) + alias `vars`. + +--- Modulo questionari fornitori al **100%**. Tutto committato e pushato.