v0.3.8-pre.008

This commit is contained in:
2026-09-03 19:53:25 +02:00
parent 10515d1562
commit 489d686023
16 changed files with 1050 additions and 35 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/029-V0_3_8_STORE_DESK_PLAN.md -->
<!-- version: 9 -->
<!-- version: 10 -->
# Plan v0.3.8 — Store Desk V1 RAW
@@ -592,9 +592,19 @@ Implémentation retenue : `store_query_transactions` reçoit uniquement `offset`
Les signatures et content hashes déjà visibles dans la table Transactions et son modal sont affichés sous une forme tronquée au centre, avec la valeur complète disponible au survol via tooltip natif et un bouton de copie explicite. Le mécanisme reste générique et doit être réutilisé par `pre.008` pour les pubkeys, owners, state hashes et autres identifiants longs. Les actions de copie sont tracées uniquement par identifiant logique de champ ; la valeur copiée n'est jamais journalisée. Aucun plugin clipboard Tauri ni capability supplémentaire n'est ajouté : le frontend utilise l'API Clipboard du WebView avec fallback local `document.execCommand("copy")`.
#### pre.007-fix.002 — copie explicite du preview payload
Le preview transaction reste borné à 512 bytes côté Rust mais devient copiable explicitement depuis le modal. Le bouton copie uniquement le preview hex déjà présent côté frontend ; il ne charge ni n'expose le payload complet. Les canaris Rust ajoutés en `fix.001` sont corrigés avec des raw string literals valides.
#### pre.007-fix.003 — rescope du canari de tracing copie
Le canari de sécurité ne bannit plus globalement des variables métier légitimes comme `signature` : il vérifie uniquement que les événements de copie transportent `{ fieldId }` et jamais la valeur copiée. Aucun runtime/frontend n'est modifié.
### pre.008 — RawAccountState DataTables serverSide + détail
Même intégration pour Account, pubkey/range/direction, summaries JS-safe, détail data borné, responsive/scrollX/copy UX.
Brancher `RAW Accounts` sur `RawAccountStateInspectionRead` avec le même modèle server-side que Transactions : `start/length` -> offset/limit, counts exacts, filtres Store explicites `pubkey` exacte + slot min/max + direction, `searching:false`, `ordering:false`, whitelist 25/50/100 et DataTables comme unique pager. Les rows restent data-free et exposent pubkey, slot, state hash, owner, lamports, executable, rent epoch et data length.
Le détail reçoit uniquement l'identité de row `(pubkey, slot, state_hash)`, dérive le network du Store ouvert et appelle `RawAccountStateRead`. Les bytes Account ne traversent jamais la table ; le modal reçoit au maximum 512 bytes sous forme de preview hex avec taille exacte et flag de troncature. Pubkey, owner, state hash et preview data réutilisent le helper générique troncature/tooltip/copie stabilisé en `pre.007-fix.001/002/003`. Les traces ne contiennent aucune valeur de pubkey, slot, state hash, owner ou data.
### pre.009 — extension Store observations