docs: reglages de la barrette, GitHub et depot prive, erreurs et mot de passe de synchro sur le telephone

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-18 11:39:32 +01:00
parent 395d7a70d4
commit ac97d6c207
2 changed files with 82 additions and 0 deletions
+32
View File
@@ -265,6 +265,38 @@ et `RegisterLocal` refuse aussi : l'interdit ne tient pas qu'à l'écran. Dépô
vide (404) ou conteneur illisible, **rien n'est créé** — un coffre neuf
masquerait un réglage à corriger.
## Erreurs du dépôt, générateur, Save — 2026-09-18
- **Une erreur de réglage s'affiche là où on la corrige** : `ShowSettingsError`
ouvre les réglages avec le message en rouge au-dessus des champs du dépôt.
Download vault sans URL ni jeton, jeton refusé, dépôt ou utilisateur
inexistant, mauvais mot de passe de synchro, dépôt public.
- **Gitea répond 404 pour tout** (fichier absent, dépôt ou propriétaire
inexistant, dépôt privé invisible au jeton). `TSyncClient.Diagnose` tranche
par deux requêtes de plus — le dépôt, puis l'utilisateur —, seulement quand
quelqu'un attend la réponse. Même logique pour GitHub (racine de l'API = tout
ce qui précède `repos/`).
- **Générateur de mot de passe** : dé à côté du champ, à la création et à la
modification. `crypto.getRandomValues` avec rejet (un modulo favoriserait les
premiers caractères), 20 caractères, laissé visible une fois tiré.
- **Save ne s'allume que sur un vrai changement**, comparé aux valeurs
enregistrées : taper puis effacer le regrise. Après Save : « ✓ Saved »,
inactif, nouvelle référence.
### Le mot de passe de synchro : celui qu'on tape l'emporte, mais se vérifie
Le cache porte le mot de passe de synchro. Rouvrir le coffre le **reposait**
dans les réglages, par-dessus celui que l'utilisateur venait d'enregistrer : le
changement disparaissait sans un mot (`FPwdUserSet` l'empêche désormais).
Et un mot de passe changé **n'était jamais vérifié** : le `sha` inchangé faisait
répondre « rien n'a changé » sans rien déchiffrer. Tant que `FPwdUserSet`, le
dépôt est donc **retéléchargé en entier** (`Fetch('')`), le déchiffrement
tranche, puis la synchro reprend si des modifications attendaient. Les
publications, elles, n'étaient pas en danger : `CommitChange` et
`PublishPending` chiffrent avec `FKey`, la clé du dernier mot de passe qui a
réellement ouvert le dépôt.
## Saisie : ce qui a résisté
- **`user-select: none` du `body`** était hérité par les champs : le curseur ne