Files
IdeA/.ideai/tickets/75/issue.md
Blomios 481a7e2498 chore(ideai): clôture de #74 et #68, ouverture de #75 et #76
Enregistre l'état du registre de tickets : #74 et #68 passent en closed
après la validation live de l'intégration web, #75 (ce fix) entre en QA
et #76 ouvre la dette de casse du code d'appairage côté serveur.

État runtime uniquement : aucun code de feature n'est touché.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 10:40:26 +02:00

1.9 KiB

id, number, title, status, priority, sprint, links, agentRefs, createdBy, updatedBy, createdAt, updatedAt, version
id number title status priority sprint links agentRefs createdBy updatedBy createdAt updatedAt version
d54a1f20-03e6-4925-982b-923a37331749 75 Écran d'appairage web : clavier numérique sur mobile alors que le code contient des lettres qa medium null
target kind
#69 relatesTo
target kind
#74 relatesTo
kind agent_id
agent a6ced819-b893-4213-b003-9e9dc79b9641
kind agent_id
agent a6ced819-b893-4213-b003-9e9dc79b9641
1784277353320 1784277530792 2

Symptôme (constaté live, téléphone)

Sur l'écran d'appairage web (PairingScreen), le clavier virtuel qui s'ouvre est un pavé numérique uniquement, alors que le code d'appairage à saisir contient des lettres. Impossible de saisir le code sans changer de clavier à la main.

Cause racine (confirmée)

Le code généré côté serveur est hexadécimal, 8 caractères, majuscules (0-9A-F) :

// crates/web-server/src/lib.rs:2220
fn new_pairing_code() -> String {
    Uuid::new_v4().simple().to_string().chars().take(8)
        .collect::<String>().to_ascii_uppercase()
}

Or frontend/src/features/web/PairingScreen.tsx:79 force inputMode="numeric" (introduit par #69 en supposant un code purement chiffré), et le placeholder p. ex. 4821-93 (ligne 74) décrit un format qui n'existe pas.

Attendu

  • Le clavier mobile permet de saisir lettres et chiffres.
  • Le placeholder reflète le format réel (hex 8 caractères majuscules).
  • La saisie reste sans autocorrection ni capitalisation surprise ; le code étant en majuscules, la casse ne doit pas être un piège pour l'utilisateur.

Périmètre

Frontend pur. Le format du code côté serveur n'est pas remis en cause par ce ticket.

DoD

  • Saisie possible au clavier mobile standard, lettres incluses.
  • Placeholder cohérent avec new_pairing_code().
  • Test de non-régression sur le champ.