v0.3.8-pre.007-fix.002

This commit is contained in:
2026-09-03 18:51:37 +02:00
parent 32577ea48d
commit c9e52d1926
7 changed files with 148 additions and 23 deletions

View File

@@ -0,0 +1,58 @@
<!-- file: deltas/0.3.8/pre.007-fix.002.md -->
<!-- version: 1 -->
# Delta `0.3.8-pre.007-fix.002` — canaris copie et preview payload copiable
## Base requise
Base directe attendue : `0.3.8-pre.007-fix.001` (`workspace.package.version = 0.3.8-pre.7.fix.1`).
## Objet
Corriger les raw string canaries Rust introduits par `pre.007-fix.001` et rendre copiable le preview hex du payload transaction sans supprimer la borne de 512 bytes du détail IPC.
## Comportement
Le preview transaction reste volontairement limité à 512 bytes côté Rust. Le frontend ajoute un bouton `Copier` adjacent au badge de troncature lorsqu'un preview existe. Le bouton copie exactement la chaîne hex affichée et porte le tooltip `Copier le preview hex affiché`.
Le helper générique de copie mémorise désormais le titre initial du bouton et le restaure après le feedback temporaire `Copié`, afin que les boutons spécialisés conservent leur libellé.
## Correction du gate
Les canaris `desktop_contract.rs` et `desktop_security.rs` de `pre.007-fix.001` contenaient des littéraux Rust invalides à cause de guillemets TypeScript non échappés. Ils utilisent désormais des raw string literals Rust valides et gardent les mêmes garanties de sécurité.
## Sécurité / tracing
La copie du preview utilise le même chemin frontend local que les identifiants longs. Le tracing transporte uniquement `fieldId = transaction-payload-preview`; le contenu hex n'est jamais journalisé. Le payload complet n'est pas chargé par cette fonctionnalité.
## Hors scope
Aucun changement Store API, Store façade, PostgreSQL, SQL, migration, DTO IPC, Config, command Tauri ou capability. `pre.008` reste la tranche RAW Accounts server-side.
## Version
```text
delivery = 0.3.8-pre.007-fix.002
workspace.package.version = 0.3.8-pre.7.fix.2
commit = v0.3.8-pre.007-fix.002
tag = aucun
```
## Gate requis
```bash
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
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-app-store-desk
cargo test -p ksp-store-lib
cargo check -p ksp-store-lib --no-default-features
```
Smoke recommandé :
```bash
(cd crates/ksp-app-store-desk && cargo tauri dev)
```