3.3 KiB
Delta 0.2.12-pre.005 — Refresh individuel SOL/USD
1. Identité
release : 0.2.12
tranche : pre.005
version Cargo : 0.2.12-pre.5
base : 0.2.12-pre.4.fix.2
Le gate opérateur de la base est intégralement propre : audits Rust/Markdown, cargo check --workspace, Clippy, cargo test -p ksp-app-solprices-desk, cargo test --workspace et cargo tauri dev passent.
2. Scope réalisé
pre.005 branche le premier chemin réseau explicite de SOL Prices Desk sans élargir la surface Off-chain Transport :
refresh individuel par provider_id opaque oui
MarketPriceService::refresh réutilisé directement
nouvel adapter/provider non
mutex présentation tenu pendant I/O non
état loading mémoire backend par ligne
succès nouvelle observation exacte mémorisée
outcome sans observation ancienne observation réussie conservée
availability / retry projection du registry Off-chain
commande Tauri refresh_market_price oui
refresh many / all non, réservé à pre.006
polling / auto-refresh non
Le DTO de ligne existant reste lossless : prix et timestamps sont toujours des chaînes exactes. Aucune valeur f64 n'est introduite.
3. Frontend
La table reçoit une colonne Action et un bouton Refresh par provider. Pendant l'appel, la ligne est localement affichée loading et le contrôle est désactivé ; la réponse backend remplace ensuite uniquement la ligne ciblée.
Le logging suit le contrat commun des Desks :
clic Refresh debug
requête IPC debug
fin IPC trace
application de la row trace
échec warn
Seul le provider_id opaque peut accompagner ces événements. Aucun prix, payload provider, credential, header ou URL n'est journalisé.
4. Tests/canaris
Les canaris de la crate évoluent pour vérifier :
- présence du seul
refresh_market_priceet absence des refresh many/all ; - centralisation Tauri dans
tauri.rs; - absence de
reqwest/fetch/persistance navigateur ; - conservation de la dernière observation lorsqu'un outcome ne produit aucun nouveau prix ;
- remise à
loading = falsepour un provider non éligible sans dispatch réseau ; - logging frontend du clic et de l'IPC sans valeurs métier.
5. Hors scope confirmé
refresh selected/many/all
scheduling/polling
consensus/fallback provider
prix canonique KSP
valorisation USD Wallet
persistance Config/Store/browser
6. Gate
À exécuter par l'opérateur :
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.2.12
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-app-solprices-desk
cargo test --workspace
(cd crates/ksp-app-solprices-desk && cargo tauri dev)