Skip to content

[Bug]: Problème de déconnexion automatique lors de l'ajout d'un nouveau service (conflit avec l'ID 9) #773

Description

@kaelianbaudelet

Description du bug

Dans le fichier useHomeData.ts, il y a une sécurité introduite lors du commit 3afdca5 qui déconnecte automatiquement les utilisateurs si leur compte utilise un ancien service supprimé (l'IUT de Lannion), via la variable REMOVED_SERVICE_ID = 9.

Le problème, c'est que les services sont gérés via un enum dans stores/account/types.ts. Quand j'ai ajouté mon nouveau service Wigor à la fin de la liste, il a automatiquement récupéré l'index 9.

Résultat : l'application croit que Wigor est le service supprimé. Dès qu'un utilisateur se connecte avec, le hook useHomeData supprime le compte et renvoie directement à la page d'accueil (onboarding).

Ceci oblige les à attribuer une id différente pour chaque nouveau service qu'on ajoute :

export enum Services {
  PRONOTE = 0,
  SKOLENGO = 1,
  ECOLEDIRECTE = 2,
  TURBOSELF = 3,
  ARD = 4,
  IZLY = 5,
  MULTI = 6,
  ALISE = 7,
  APPSCHO = 8,
  // LANNION = 9, // On bloque le 9 pour l'ancien service
  WIGOR = 10,              // Wigor passe à 10
  // Les futurs services repartiront de 11
}

Cela impactera les futures contributions qui ajouteront un nouveau service.

Ici dans mon cas çà impacte le service Wigor pour les écoles supérieurs des groupes d'écoles C&D et Igensia.

Étapes à reproduire

Ajouté un nouveau service à la fin de la liste de stores/account/types.ts

export enum Services {
  PRONOTE,      // 0
  SKOLENGO,     // 1
  ECOLEDIRECTE, // 2
  TURBOSELF,    // 3
  ARD,          // 4
  IZLY,         // 5
  MULTI,        // 6
  ALISE,        // 7
  APPSCHO,      // 8
  WIGOR         // 9 <- Prend l'index 9 automatiquement et crée le conflit
}

Comportement attendu

Lorsqu'on ajoute un nouveau service à la suite des autres dans l'enum (comme Wigor), l'application devrait permettre à l'utilisateur de se connecter et de rester sur la page d'accueil sans déclencher de fausse alerte de sécurité.

L'ajout d'une nouvelle contribution ne devrait pas obliger le développeur à devoir tricher sur les IDs pour éviter l'index 9 codé en dur. L'application doit être capable de faire la différence entre un service obsolète supprimé et un tout nouveau service actif.

Appareil

Emulateur IOS Iphone 17 Pro / Emulateur Android Pixel 9

Version du système d'exploitation

IOS 26.4

Papillon testé depuis

Play/App Store (version stable)

Version utilisée

8.4.3

Service scolaire/cantine

🎒🏫 Universités et autres (à préciser dans la description du bug)

Capture(s) d'écran / vidéo

Image lors de le la connexion à EPSI depuis le service Wigor Image après redirection suite à une connexion réussie Image quand on clique sur le détail de l’erreur

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions