Corrige le logo cassé dans l'email d'invitation derrière un reverse proxy
Les URL absolues de l'email (logo, lien d'inscription) étaient construites côté serveur à partir de req.protocol : derrière un reverse proxy HTTPS (sans TRUST_PROXY), le serveur voit « http » et produit des URL en contenu mixte que le navigateur bloque — logo cassé dans l'aperçu et dans les webmails. Le frontend transmet désormais window.location.origin (?base=), c'est-à-dire l'adresse publique exacte vue par l'admin ; le serveur la valide (http/https uniquement) et ne garde l'hôte de la requête qu'en secours. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fkg15RCxNgUys4ru73He2o
This commit is contained in:
2 files changed
+20
-5
No files matched your search
@@ -326,7 +326,12 @@ function EmailModal({ renc, onClose }) {
|
||||
const [copied, setCopied] = useState('');
|
||||
|
||||
useEffect(() => {
|
||||
api.get(`/api/admin/rencontres/${renc.id}/email`).then(setData).catch((e) => setError(e.message));
|
||||
// The browser knows the site's real public origin (scheme included) —
|
||||
// the server can't always tell behind a reverse proxy.
|
||||
api
|
||||
.get(`/api/admin/rencontres/${renc.id}/email?base=${encodeURIComponent(window.location.origin)}`)
|
||||
.then(setData)
|
||||
.catch((e) => setError(e.message));
|
||||
}, [renc.id]);
|
||||
|
||||
const flash = (what) => {
|
||||
|
||||
Reference in new issue
Block a user