From f073b14e01a79ede731f586e5c9bc047f71f087c Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Wed, 22 Apr 2026 19:04:22 +0200 Subject: [PATCH] 0.4.4 --- CHANGELOG.md | 3 +- Cargo.toml | 2 +- ROADMAP.md | 41 +-- kb_app/capabilities/default.json | 3 +- kb_app/frontend/demo_http.html | 166 ++++++++++ kb_app/frontend/demo_ws.html | 55 ++-- kb_app/frontend/main.html | 15 + kb_app/frontend/splash.html | 3 + kb_app/frontend/ts/demo_http.ts | 437 +++++++++++++++++++++++++++ kb_app/frontend/ts/demo_ws.ts | 138 ++++----- kb_app/frontend/ts/main.ts | 26 +- kb_app/frontend/ts/splash.ts | 88 +++--- kb_app/gen/schemas/capabilities.json | 2 +- kb_app/package.json | 2 +- kb_app/src/demo_http.rs | 226 ++++++++++++++ kb_app/src/demo_ws.rs | 2 - kb_app/src/lib.rs | 24 +- kb_app/tauri.conf.json | 19 +- 18 files changed, 1072 insertions(+), 180 deletions(-) create mode 100644 kb_app/frontend/demo_http.html create mode 100644 kb_app/frontend/ts/demo_http.ts create mode 100644 kb_app/src/demo_http.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f7d61c..15c3971 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,4 +14,5 @@ 0.4.0 - Socle HttpClient générique async clonable, JSON-RPC HTTP 2.0, résolution d’URL avec api_key_env_var, limiteur local req/sec + burst, helpers initiaux getHealth/getVersion/getSlot 0.4.1 - Ajout des premiers helpers HTTP Solana haut niveau, dans la continuité de l’API du client WebSocket 0.4.2 - Préparation de la politique HTTP avancée : états de pause avant envoi, quotas par famille de méthodes et futur pool d’endpoints -0.4.3 - Pool d’endpoints HTTP \ No newline at end of file +0.4.3 - Pool d’endpoints HTTP +0.4.4 - Ajout de la fenêtre Demo Http dans kb_app, exécution manuelle des méthodes HTTP via le pool, snapshot des endpoints et amélioration des presets UI diff --git a/Cargo.toml b/Cargo.toml index 27fcf3e..95f2b07 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "0.4.3" +version = "0.4.4" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-bobobot" diff --git a/ROADMAP.md b/ROADMAP.md index edbb579..cc9f825 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -254,7 +254,7 @@ Réalisé : Objectif : rendre la fenêtre de démonstration robuste sous flux élevé et cohérente avec la configuration. -À faire : +Réalisé : - lire correctement les endpoints activés depuis la config et refléter les URLs résolues avec `api_key_env_var`, - améliorer la sélection réelle des endpoints affichés et utilisables, @@ -270,7 +270,8 @@ Objectif : rendre la fenêtre de démonstration robuste sous flux élevé et coh Objectif : construire un `HttpClient` clonable, limité et extensible, puis ajouter les premiers helpers HTTP Solana. ### 0.4.0 — Socle `HttpClient` -À faire : + +Réalisé : - client `reqwest` asynchrone clonable, - résolution d’URL avec support de `api_key_env_var`, @@ -291,7 +292,8 @@ Livrables : - `getSlot` ### 0.4.1 — Helpers HTTP Solana -À faire : + +Réalisé : - ajouter des helpers HTTP haut niveau comme pour le client WS, - distinguer helpers raw et helpers typed quand cela est pertinent, @@ -299,7 +301,8 @@ Livrables : - conserver `HttpClient` comme couche générique réutilisable. ### 0.4.2 — Politique HTTP avancée -À faire : + +Réalisé : - préparer un état de pause avant envoi pour un endpoint HTTP, - préparer plusieurs quotas par famille de méthodes, @@ -307,7 +310,8 @@ Livrables : - préparer un futur pool d’endpoints HTTP et l’arbitrage entre eux. ### 0.4.3 — Pool d’endpoints HTTP -À faire : + +Réalisé : - ajouter un pool d’`HttpClient`, - sélectionner un endpoint selon le rôle demandé, @@ -317,13 +321,16 @@ Livrables : - préparer le routage multi-RPC et la limitation de concurrence par endpoint. ### 0.4.4 — Démo HTTP dans `kb_app` -À faire : -- ajouter une fenêtre `Demo Http`, -- suivre la logique de `Demo Ws`, -- permettre de tester les endpoints HTTP configurés, -- afficher les réponses JSON-RPC HTTP et les erreurs associées, -- exposer l’état du pool HTTP et les statuts des endpoints sélectionnables. +Réalisé : + +- ajout d’une fenêtre `Demo Http`, +- ouverture depuis la fenêtre principale, +- exécution manuelle de méthodes HTTP via le pool d’endpoints, +- affichage des réponses JSON-RPC HTTP et des erreurs associées, +- affichage de l’état du pool HTTP et des statuts des endpoints, +- alignement visuel de la fenêtre sur le gabarit `Demo Ws`, +- amélioration des presets UI, copie de réponse et bascule pretty/raw. ### 6.12. Version `0.5.x` — Base de données SQLite @@ -496,9 +503,9 @@ Le projet doit maintenir au minimum : La priorité immédiate est désormais la suivante : -1. finaliser la version `0.4.3` avec le pool d’endpoints HTTP, -2. exploiter les statuts `Active` / `Paused` / `Disabled` dans la sélection d’endpoint, -3. préparer le routage multi-RPC selon le rôle demandé et la classe de méthode, -4. conserver `HttpClient` comme brique générique réutilisable sous le pool, -5. démarrer ensuite la version `0.4.4` avec une fenêtre `Demo Http` dans `kb_app`, -6. exposer dans `kb_app` les réponses HTTP, les erreurs et l’état du pool. +1. démarrer la version `0.5.x` avec le socle SQLite, +2. ajouter la configuration database dans `config.json`, +3. poser l’ouverture et la validation de la base SQLite, +4. définir les premières tables techniques utiles au stockage local, +5. préparer la persistance des endpoints, événements et tokens observés, +6. conserver `kb_lib` comme point central de la logique de stockage. diff --git a/kb_app/capabilities/default.json b/kb_app/capabilities/default.json index 53de134..8f272a1 100644 --- a/kb_app/capabilities/default.json +++ b/kb_app/capabilities/default.json @@ -5,7 +5,8 @@ "windows": [ "main", "splash", - "demo_ws" + "demo_ws", + "demo_http" ], "permissions": [ "core:default", diff --git a/kb_app/frontend/demo_http.html b/kb_app/frontend/demo_http.html new file mode 100644 index 0000000..c6be214 --- /dev/null +++ b/kb_app/frontend/demo_http.html @@ -0,0 +1,166 @@ + + + + + + + + Demo Http + + + + +
+ +
+ +
+
+
+
+
+
+
+

Demo Http

+

+ Fenêtre de test manuelle pour les requêtes HTTP Solana via le pool d’endpoints configurés. +

+
+
+
+ +
+
+
+

Requête

+ +
+ + +
+ Le rôle détermine quel endpoint HTTP du pool sera sélectionné. +
+
+ +
+ + +
+ +
+ + +
+ Adresse, program id, signature ou transaction encodée selon la méthode. +
+
+ +
+ + +
+ Configuration JSON optionnelle. +
+
+ +
+ + + + +
+ +
+ + +
+ +
+
Endpoint: -
+
Provider: -
+
Method class: -
+
+ +
+
+
+ +
+
+
+

Pool HTTP

+
+ + + + + + + + + + +
EndpointStatusPausedConc.
+
+
+
+
+
+

Latest response

+ +
+
+ +
+
+

Logs

+ +
+
+
+
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/kb_app/frontend/demo_ws.html b/kb_app/frontend/demo_ws.html index 86e743b..6fce6a7 100644 --- a/kb_app/frontend/demo_ws.html +++ b/kb_app/frontend/demo_ws.html @@ -1,12 +1,14 @@ + Demo Ws Subscribe +