mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-04-06 21:41:42 +02:00
capitalisation: intégrer 12 entrées depuis app-alexandrie et app-template-resto
- backend/risques/nestjs : guard multi-statut READ_METHODS avant statut - backend/patterns/nestjs : fusionner lastSeenAt dans la réconciliation - backend/risques/contracts : pas de process.env dans services/helpers - backend/risques/nextjs : self-request Server Action + EXDEV atomic write - backend/risques/prisma : champ enum-like stocké en String - frontend/risques/general : Alert.prompt iOS-only - frontend/risques/tests : 3 anti-patterns (helpers copiés, test indirect, test façade) - workflow/risques/story-tracking : 2 entrées (hors périmètre, File List approximative) - skill capitalisation-triage : nouveau format de rapport (tableaux par domaine) - 95_a_capitaliser.md : purgé
This commit is contained in:
@@ -61,3 +61,26 @@ function processLinks(content: string) {
|
||||
- **Règle** : les regex avec flag `/g` ou `/y` utilisées pour transformation de strings → toujours créer via une factory, jamais en singleton de module
|
||||
|
||||
- Contexte technique : TypeScript / React Native — app-alexandrie 24-03-2026
|
||||
|
||||
---
|
||||
|
||||
<a id="risque-alert-prompt-ios-only"></a>
|
||||
## `Alert.prompt` iOS-only — fonctionnalité silencieusement cassée sur Android
|
||||
|
||||
### Risques
|
||||
|
||||
- `Alert.prompt` ne déclenche rien sur Android (retourne `undefined` silencieusement).
|
||||
- Les tests unitaires passent (mock), mais le flux ne s'exécute jamais sur 50 % des devices en production.
|
||||
|
||||
### Symptômes
|
||||
|
||||
- Flux de saisie utilisateur qui fonctionne sur simulateur iOS mais est inactif sur Android
|
||||
- Aucun message d'erreur côté dev ni côté utilisateur
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
1. Ne jamais utiliser `Alert.prompt` dans un projet Expo cross-platform.
|
||||
2. Remplacer par une modale custom : `Modal` + `TextInput` React Native — portable, accessible, testable.
|
||||
3. Wrapper le `TextInput` dans `KeyboardAvoidingView` avec `behavior={Platform.OS === 'ios' ? 'padding' : 'height'}`.
|
||||
|
||||
- Contexte technique : React Native / Expo cross-platform — app-alexandrie 31-03-2026
|
||||
|
||||
Reference in New Issue
Block a user