fix(reset-password): redirect to mvaglobalfret:// custom scheme #11

Merged
serge merged 1 commits from fix/reset-password-deep-link-mva into main 2026-05-07 22:31:54 +03:00
Owner

Contexte

Le bridge https://mva-globalfret.com/reset-password redirigeait vers https://auth.mind4solutions.com/reset-password (= flow Supabase Phase 2.1).

Problème : le backend mva-api (Fastify) émet des tokens UUID custom, pas des tokens GoTrue/Supabase. Le UI auth.m4s.com ne sait donc pas les valider → page d'erreur Lien invalide pour tous les utilisateurs cliquant sur un email reset password Cluster A B2.

Fix

Le bridge redirige maintenant vers le custom scheme natif :

mvaglobalfret://reset-password?token=<uuid>

Qui ouvre directement le flow in-app de l'app Expo (le scheme mvaglobalfret est déjà déclaré dans app.json mobile).

UI fallback HTML conservée + bouton CTA stylé pour les cas où le deep-link automatique ne déclenche pas (browser desktop, app non installée).

Acceptance test

curl -s 'https://mva-globalfret.com/reset-password?token=abc123' | grep -i 'mvaglobalfret://'
# match found
curl -s 'https://mva-globalfret.com/reset-password?token=abc123' | grep -ci 'auth.mind4solutions.com'
# 0

Local sur la branche : 3 matches mvaglobalfret://, 0 match auth.mind4solutions.com.

Impact

  • Fixes Cluster A B2 blocker (= session 2026-05-07 MVA app)
  • Débloque le déploiement de APP_BASE_URL=https://mva-globalfret.com côté mva-api
  • Deadline impérative : avant 2026-06-06 (J+30), sinon les containers WP mvaglobalfret-* sont killed et tous les liens reset password actifs deviennent 502.

Déploiement

Post-merge : redeploy du container mva-website-v2 sur VPS (= bind-mount /opt/mva-website-v2-build, donc reupload du build). À faire après validation Serge.

Restrictions respectées

  • Aucune autre page touchée (= homepage, contact, etc.)
  • app.json mobile non modifié
  • Pas de déploiement automatique
## Contexte Le bridge `https://mva-globalfret.com/reset-password` redirigeait vers `https://auth.mind4solutions.com/reset-password` (= flow Supabase Phase 2.1). Problème : le backend `mva-api` (Fastify) émet des **tokens UUID custom**, pas des tokens GoTrue/Supabase. Le UI auth.m4s.com ne sait donc pas les valider → page d'erreur `Lien invalide` pour tous les utilisateurs cliquant sur un email reset password Cluster A B2. ## Fix Le bridge redirige maintenant vers le **custom scheme natif** : ``` mvaglobalfret://reset-password?token=<uuid> ``` Qui ouvre directement le flow in-app de l'app Expo (le scheme `mvaglobalfret` est déjà déclaré dans `app.json` mobile). UI fallback HTML conservée + bouton CTA stylé pour les cas où le deep-link automatique ne déclenche pas (browser desktop, app non installée). ## Acceptance test ```bash curl -s 'https://mva-globalfret.com/reset-password?token=abc123' | grep -i 'mvaglobalfret://' # match found curl -s 'https://mva-globalfret.com/reset-password?token=abc123' | grep -ci 'auth.mind4solutions.com' # 0 ``` Local sur la branche : 3 matches `mvaglobalfret://`, 0 match `auth.mind4solutions.com`. ## Impact - **Fixes Cluster A B2 blocker** (= session 2026-05-07 MVA app) - Débloque le déploiement de `APP_BASE_URL=https://mva-globalfret.com` côté `mva-api` - **Deadline impérative : avant 2026-06-06 (J+30)**, sinon les containers WP `mvaglobalfret-*` sont killed et tous les liens reset password actifs deviennent 502. ## Déploiement Post-merge : redeploy du container `mva-website-v2` sur VPS (= bind-mount `/opt/mva-website-v2-build`, donc reupload du build). **À faire après validation Serge.** ## Restrictions respectées - ✅ Aucune autre page touchée (= homepage, contact, etc.) - ✅ `app.json` mobile non modifié - ✅ Pas de déploiement automatique
serge added 1 commit 2026-05-07 22:28:35 +03:00
Le bridge HTML redirige maintenant vers le custom scheme natif
mvaglobalfret://reset-password?token=... au lieu de
https://auth.mind4solutions.com/reset-password.

Le flow Supabase (auth.m4s.com / Phase 2.1) ne sait pas valider les
tokens UUID custom émis par mva-api (Fastify). Sans ce fix, les emails
reset password Cluster A B2 atterriraient sur une page d'erreur
"Lien invalide".

UI fallback HTML conservée + bouton CTA stylé pour les cas où le
deep-link automatique ne déclenche pas l'app (browser desktop, app
non installée).

Fixes Cluster A B2 blocker (= session 2026-05-07 MVA app).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
serge merged commit bc919b07e0 into main 2026-05-07 22:31:54 +03:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: serge/site-mva-global-fret#11
No description provided.