v0.1.0-pre.058
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: KHADHROONY_BOT3_MIGRATION_CLOSURE_TODO.md -->
|
||||
<!-- version: 4 -->
|
||||
<!-- version: 7 -->
|
||||
|
||||
# Checklist détaillée de clôture de la migration `khadhroony-bot3`
|
||||
|
||||
@@ -86,16 +86,28 @@
|
||||
- [x] Garantir exactement un bouton Effacer pour la sortie principale.
|
||||
- [x] Vider le buffer TypeScript lors de l’effacement.
|
||||
- [ ] Tester JSON, scalaire, texte, erreur et résultat vide.
|
||||
- [x] Restaurer le gabarit desktop à deux colonnes : requête à gauche, endpoints et résultat à droite.
|
||||
|
||||
### 2.2 WebSocket
|
||||
|
||||
- [x] Afficher les messages dans un composant texte/log.
|
||||
- [x] Fixer la hauteur et le scroll interne.
|
||||
- [x] Garantir une seule paire Copier/Effacer pour la sortie Messages.
|
||||
- [ ] Conserver les messages pendant la session active.
|
||||
- [ ] Restaurer l’affichage après fermeture/réouverture de la fenêtre.
|
||||
- [x] Borner le débit et la taille des notifications envoyées à l’UI pour éviter les freezes.
|
||||
- [x] Conserver le payload complet sous forme JSON compacte dans les logs de debug avant formatage et troncage UI.
|
||||
- [x] Conserver les messages pendant la session active.
|
||||
- [x] Restaurer l’affichage après fermeture/réouverture de la fenêtre.
|
||||
- [x] Restaurer le gabarit desktop à deux colonnes : souscription à gauche, statut/endpoints/messages à droite.
|
||||
- [x] Appliquer `base64` par défaut aux souscriptions `accountSubscribe` et `programSubscribe` lorsque l’encodage est absent, sans écraser un encodage explicite.
|
||||
- [ ] Décider après test runtime si Statut et Endpoints WebSocket restent textuels ou deviennent des viewers JSON structurés ; supprimer alors tout bouton Copier redondant fourni par le viewer.
|
||||
|
||||
### 2.3 Journaux généraux et viewers
|
||||
### 2.3 Backfill et autocomplétion
|
||||
|
||||
- [x] Garder Program ID librement éditable.
|
||||
- [x] Ajouter un autocomplétion non bloquant depuis le registre public `kb-program-ids`.
|
||||
- [ ] Ajouter ultérieurement les autocomplétions Token et Pool lorsque leurs tables de référence existeront.
|
||||
|
||||
### 2.4 Journaux généraux et viewers
|
||||
|
||||
- [ ] Vérifier Backfill HTTP.
|
||||
- [ ] Vérifier Extraction core.
|
||||
@@ -110,7 +122,7 @@
|
||||
- [ ] Utiliser des textareas pour texte brut, logs et diagnostics concaténés.
|
||||
- [ ] Fixer la hauteur de tous les viewers JSON.
|
||||
|
||||
### 2.4 Fenêtres SQL
|
||||
### 2.5 Fenêtres SQL
|
||||
|
||||
- [ ] Mettre toutes les fenêtres SQL, sauf Replay Candidates, sur une seule colonne pleine largeur.
|
||||
- [ ] Mettre les tables sur toute la largeur.
|
||||
@@ -155,35 +167,44 @@
|
||||
- [ ] Marquer les variables limitées aux scénarios de démonstration.
|
||||
- [ ] Documenter les futurs remplacements par configuration ou structure typée.
|
||||
|
||||
## 5.1 Wrappers Tauri
|
||||
|
||||
- [x] Déplacer la logique complète de `splash_frontend_ready` dans `splash.rs` et conserver un wrapper privé mince dans `tauri.rs`.
|
||||
- [ ] Inventorier toutes les fonctions `#[tauri::command]` de `tauri.rs`.
|
||||
- [ ] Déplacer progressivement toute logique métier restante dans son module fonctionnel `pub(crate)`.
|
||||
- [ ] Vérifier que chaque wrapper Tauri ne fait que l’adaptation des arguments et la délégation.
|
||||
- [ ] Ajouter ou conserver les tests unitaires dans les modules fonctionnels, pas dans les wrappers.
|
||||
|
||||
## 6. Cycle de vie WebSocket
|
||||
|
||||
- [ ] Vérifier qu’aucun pool WebSocket n’est créé au démarrage.
|
||||
- [ ] Vérifier la création paresseuse au premier accès.
|
||||
- [ ] Vérifier le stockage du pool dans `AppState`.
|
||||
- [ ] Vérifier la survie de la session après fermeture de `demo_ws`.
|
||||
- [ ] Vérifier la récupération de l’état à la réouverture.
|
||||
- [x] Vérifier qu’aucun pool WebSocket n’est créé au démarrage.
|
||||
- [x] Vérifier la création paresseuse au premier accès.
|
||||
- [x] Vérifier le stockage du pool dans `AppState`.
|
||||
- [x] Vérifier la survie de la session après fermeture de `demo_ws`.
|
||||
- [x] Vérifier la récupération de l’état à la réouverture.
|
||||
- [ ] Vérifier la fermeture explicite.
|
||||
- [ ] Vérifier le timeout.
|
||||
- [ ] Vérifier l’arrêt global de l’application.
|
||||
- [ ] Vérifier que la fermeture de la fenêtre n’appelle jamais la déconnexion globale.
|
||||
- [x] Vérifier que la fermeture de la fenêtre n’appelle jamais la déconnexion globale.
|
||||
|
||||
## 7. Initialisation PostgreSQL et splash
|
||||
|
||||
- [ ] Charger l’environnement.
|
||||
- [ ] Charger et valider la configuration.
|
||||
- [ ] Initialiser le logging.
|
||||
- [ ] Initialiser le pool HTTP.
|
||||
- [x] Charger l’environnement.
|
||||
- [x] Charger et valider la configuration.
|
||||
- [x] Initialiser le logging.
|
||||
- [x] Initialiser le pool HTTP.
|
||||
- [ ] Se connecter à PostgreSQL.
|
||||
- [ ] Appeler `initialize_postgres_schema_for_startup`.
|
||||
- [ ] Appeler `emit_sql_startup_table_report`.
|
||||
- [ ] Relier `emit_sql_startup_error`.
|
||||
- [ ] Relier `emit_sql_startup_splash`.
|
||||
- [ ] Ouvrir `main` seulement après le rapport PostgreSQL.
|
||||
- [ ] Fermer le splash après le statut final.
|
||||
- [ ] Ne pas initialiser WebSocket dans cette séquence.
|
||||
- [ ] Rendre la zone de messages du splash scrollable.
|
||||
- [ ] Garder le dernier message visible.
|
||||
- [ ] Afficher connexion, schéma, nombre de tables, tables manquantes et statut final.
|
||||
- [x] Appeler `initialize_postgres_schema_for_startup` après disponibilité du frontend splash.
|
||||
- [x] Appeler `emit_sql_startup_table_report`.
|
||||
- [x] Relier `emit_sql_startup_error`.
|
||||
- [x] Relier `emit_sql_startup_splash`.
|
||||
- [x] Ouvrir `main` seulement après le rapport PostgreSQL et le fade-out.
|
||||
- [x] Fermer le splash après le statut final.
|
||||
- [x] Ne pas initialiser WebSocket dans cette séquence.
|
||||
- [x] Rendre les zones du splash scrollables sans afficher leurs barres de défilement.
|
||||
- [x] Garder automatiquement le dernier log et le dernier message visibles.
|
||||
- [x] Afficher connexion, schéma, nombre de tables, tables manquantes et statut final.
|
||||
- [ ] Valider visuellement le fade-in, les messages intermédiaires, le fade-out et l’ouverture de `main` sur le workspace réel.
|
||||
|
||||
## 8. Purge contrôlée des données dérivées
|
||||
|
||||
@@ -295,7 +316,7 @@
|
||||
|
||||
- [ ] `cargo fmt --all`.
|
||||
- [ ] `cargo check -p kb-config`.
|
||||
- [ ] `cargo test -p kb-config`.
|
||||
- [ ] `cargo test -p kb-config` (44/45 passaient ; contrat de route groupée `kb-pipeline` corrigé dans la prochaine prerelease).
|
||||
- [ ] `cargo check -p kb-pipeline-demo-scenarios`.
|
||||
- [ ] `cargo test -p kb-pipeline-demo-scenarios`.
|
||||
- [ ] `cargo check -p kb-store`.
|
||||
@@ -303,7 +324,7 @@
|
||||
- [ ] `cargo check -p kb-lib`.
|
||||
- [ ] `cargo test -p kb-lib`.
|
||||
- [x] `cargo check -p kb-app-demo-desktop`.
|
||||
- [ ] `cargo test -p kb-app-demo-desktop` (112 tests passaient, 1 contrat d’ordre de décodeurs corrigé dans `pre.057`; relance requise).
|
||||
- [ ] `cargo test -p kb-app-demo-desktop` (112/113 passaient ; contrat d’ordre de décodeurs corrigé, relance requise).
|
||||
- [x] `cargo check --workspace`.
|
||||
- [ ] `cargo test --workspace`.
|
||||
- [ ] `python3 scripts/audit_rust_workspace_rules.py`.
|
||||
|
||||
Reference in New Issue
Block a user