345 lines
28 KiB
Markdown
345 lines
28 KiB
Markdown
<!-- file: kb-app-demo-desktop/CHANGELOG.md -->
|
||
<!-- version: 65 -->
|
||
|
||
# CHANGELOG — kb-app-demo-desktop
|
||
|
||
## `0.5.3-pre.003`
|
||
|
||
- adapte les vues de replay/journaux aux contrats N3 `MaterializedOutput*` et au journal `k_sol_mat_outputs` sans réintroduire de dépendance PostgreSQL dans les DTO desktop ;
|
||
- neutralise les derniers libellés visibles de sources physiques dans la fenêtre de candidats replay : l'UI décrit désormais les faits Core/logiques plutôt que les noms de tables PostgreSQL ;
|
||
- conserve la refonte fonctionnelle complète des compteurs/modèles du nouveau baseline pour la tranche consommateurs prévue par le plan.
|
||
|
||
## `0.5.3-pre.002-delta-fix-004`
|
||
|
||
- aligne les versions Tauri/Vite de l'application sur `0.5.3` dans `package.json` et `tauri.conf.json` ;
|
||
- remplace le groupe visible `SQL` par `Store` dans le menu principal et renomme les entrées backend-spécifiques en `Raw store` / `Core store` ;
|
||
- retire les titres de fenêtres `PostgreSQL ...` des surfaces `demo_store_*` et renomme le titre de la page de replay pour rester backend-agnostique ;
|
||
- réconcilie les rustdocs, les bindings TS-RS et la documentation d'usage des surfaces desktop afin qu'ils décrivent la façade `Store` et non PostgreSQL/SQL ;
|
||
- aligne les messages de préparation Devnet et le texte d'extraction Core sur les ressources/store génériques au lieu de tables ou transactions PostgreSQL.
|
||
|
||
## `0.5.3-pre.002-delta-fix-003`
|
||
|
||
- corrige `demo_core_extraction_execute`, qui reçoit déjà `&AppState` et ne doit donc pas appeler `state.inner()` avant de réutiliser le `Store` partagé ;
|
||
- rend `store_open_options_from_profile` strictement privé à `demo_store_common` et supprime son réexport crate-root devenu inutilisé.
|
||
|
||
## `0.5.3-pre.002-delta-fix-002`
|
||
|
||
- renomme les modules, commandes Tauri, fenêtres, pages HTML, TypeScript et DTO de `demo_sql_*` vers `demo_store_*` afin que la nomenclature ne dépende plus d’un backend SQL ;
|
||
- conserve la refonte fonctionnelle finale des tableaux/compteurs pour `pre.005`.
|
||
|
||
## `0.5.3-pre.002`
|
||
|
||
- conserve un `ks_store::Store` backend-agnostique dans `AppState` via `OnceCell` et réutilise ce handle dans les commandes de backfill, extraction Core, replay et scénarios d'exécution ;
|
||
- remplace les payloads SQL/configuration dépendants de PostgreSQL par des descripteurs de connexion sanitisés et des diagnostics de ressources/modèles génériques ;
|
||
- adapte le splash à la vérification du store par modèle logique et compteurs de ressources, sans afficher les noms physiques des tables/index ;
|
||
- remplace le vocabulaire replay `outer` par `top-level` dans les nouveaux contrats UI, tout en conservant temporairement les noms techniques des fenêtres `demo_store_*` jusqu'à leur refonte finale.
|
||
|
||
## `0.5.2-pre.006-delta-fix-009`
|
||
|
||
- corrige les adaptateurs Tauri Devnet qui transmettaient directement `tauri::State<AppState>` aux helpers wallet/projection attendant `&AppState`; les commandes empruntent désormais explicitement `&state` pour System, SPL et les trois familles Metadata ;
|
||
- ne modifie ni la sélection runtime du `.kswallet`, ni les chemins d’export `data/wallets/`, ni les contrats de configuration introduits par les fixes précédents.
|
||
|
||
## `0.5.2-pre.006-delta-fix-008`
|
||
|
||
- ajoute dans `demo_wallet` une sélection session-only du `.kswallet` d'exécution par profil Devnet ; l'alias est authentifié côté backend avant activation, ne réécrit pas `wallet.config.json` et devient prioritaire sur `wallet_alias` pour les démos suivantes ;
|
||
- propage cette sélection runtime à tous les adaptateurs desktop System, Memo, ATA, SPL Token, Token-2022 et Metadata, tout en conservant le fallback temporaire uniquement lorsqu'aucun alias runtime ou configuré n'existe ;
|
||
- contraint les exports secrets de la démo à `./data/wallets/`, remplace le chemin arbitraire par un nom de fichier borné, impose l'extension du format et sécurise le répertoire en `0700` sur Unix ;
|
||
- affiche explicitement les alias configuré, runtime et effectif afin que la validation Devnet puisse confirmer le passage de `persistence="temporary"` à `persistence="persistent"`.
|
||
|
||
## `0.5.2-pre.006-delta-fix-005`
|
||
|
||
- résout côté backend le signer Devnet sélectionné avant les démos System, Memo, ATA, SPL Token, Token-2022, Solana Program Metadata, Token-2022 Metadata ainsi que toutes les campagnes Metaplex qualifiées, y compris leurs parcours multi-signers ;
|
||
- utilise `KB_SECRET_DEMO_WALLET_PASSWORD` uniquement lorsque `wallet_alias` sélectionne un `.kswallet`, sans transmettre le password à Tauri ou TypeScript ;
|
||
- conserve les répertoires de fixtures sous `temporary_wallet_dir` tandis que `demo_wallet` inventorie et importe désormais dans la racine persistante `wallet_dir`.
|
||
|
||
## `0.5.2-pre.006-delta-fix-004`
|
||
|
||
- complète la fenêtre `Wallets` avec inspection publique, import et export des deux formats `ks-wallet` réellement supportés : Solana CLI JSON 64 octets et keypair Base58 64 octets ;
|
||
- garde le password hors Tauri IPC : création, import et export utilisent uniquement `KB_SECRET_DEMO_WALLET_PASSWORD` côté backend ;
|
||
- permet d'inspecter un ancien fichier keypair sans le convertir, d'en extraire uniquement la pubkey puis de l'envoyer directement vers l'explorateur Devnet/Mainnet ;
|
||
- peuple les sélecteurs de formats depuis l'inventaire exposé par `ks-wallet` afin d'éviter une liste frontend indépendante du backend ;
|
||
- aligne visuellement `Profil RPC`, `Adresse publique` et `Transactions`, puis affiche le profil/cluster sélectionné sous la ligne de contrôles ;
|
||
- prépare la validation suivante où les démos d'exécution Devnet devront consommer une capacité `.kswallet` explicite au lieu de recréer directement leur wallet JSON temporaire.
|
||
|
||
## `0.5.2-pre.006-delta-fix-003`
|
||
|
||
- ajoute dans `Wallets` un sélecteur explicite de profil RPC pour l’explorateur on-chain ; le profil actif reste la valeur initiale mais Devnet/Mainnet peuvent être interrogés sans redémarrer l’application ni modifier `active_profile` ;
|
||
- route `getBalance`, `getTokenAccountsByOwner`, `getSignaturesForAddress` et `getTransaction` à travers le profil sélectionné et non plus obligatoirement à travers le pool HTTP actif ;
|
||
- borne la commande RPC dédiée à la démo wallet aux trois lectures génériques nécessaires aux tokens et à l’historique, tandis que le solde garde son adaptateur typé ;
|
||
- conserve la gestion locale des `.kswallet` sur le profil applicatif actif : la sélection RPC de l’explorateur ne déplace ni ne recrée les fichiers wallet.
|
||
|
||
## `0.5.2-pre.006-delta-fix-002`
|
||
|
||
- complète la fenêtre `Wallets` avec la création de `.kswallet` dans le store du profil actif ; le password est lu uniquement côté backend depuis `KB_SECRET_DEMO_WALLET_PASSWORD` et ne traverse jamais HTML, TypeScript ou les arguments Tauri ;
|
||
- ajoute un explorateur public on-chain réutilisant le transport HTTP configuré : solde SOL exact, comptes SPL Token et Token-2022, signatures récentes impliquant l’adresse et détail `getTransaction` via le JsonViewer commun ;
|
||
- étend le rôle `http_queries` Devnet avec `get_signatures_for_address` afin que l’explorateur fonctionne sur `local_devnet` comme sur les profils Mainnet déjà dotés des rôles d’historique ;
|
||
- ajoute des DTO TS-RS applicatifs sûrs, des canaris frontend/backend de non-divulgation et des tests statiques de câblage pour les nouvelles commandes.
|
||
|
||
## `0.5.2-pre.006-delta-fix-001`
|
||
|
||
- ajoute la fenêtre frontend `demo_wallet.html` et son contrôleur `demo_wallet.ts` sur le même gabarit Bootstrap/Simplebar que les autres démonstrations ;
|
||
- ajoute `open_demo_wallet_window`, l'entrée `Wallets` dans le menu `Démos` de `main.html`, l'entrée Vite multipage et la capability Tauri `demo_wallet` ;
|
||
- permet de rafraîchir l'inventaire sûr des `.kswallet` et d'inspecter explicitement un fichier externe par chemin sans afficher ce chemin dans le résultat ;
|
||
- ajoute un test statique de câblage frontend afin que la présence du backend `demo_wallet` ne puisse plus être validée sans fenêtre réellement ouvrable.
|
||
|
||
## `0.5.2-pre.006`
|
||
|
||
- ajoute des DTO TS-RS possédés par le desktop pour l'inventaire des wallets natifs : alias, pubkey déclarée, version et état de sélection uniquement ;
|
||
- ajoute des commandes Tauri lecture seule pour lister le store configuré et inspecter un `.kswallet` sélectionné explicitement hors store, sans retourner son chemin ;
|
||
- expose l'alias persistant sélectionné uniquement dans le diagnostic wallet borné et ajoute des canaris interdisant password, ciphertext, nonce, sel et chemins de stockage dans les DTO.
|
||
|
||
## `0.5.1-pre.008`
|
||
|
||
- Fix: remplace les snapshots `ks-onchain-transport` retournés directement par les commandes Tauri HTTP/WS par des DTO desktop sanitisés, fait supprimer l’URL des snapshots backend et supprime `endpointUrl` des payloads d’exécution/statut et ajoute des canaris empêchant toute URL résolue de traverser le frontend. Supprime également le chemin local du fixture Token-2022 des payloads fonctionnels et des erreurs affichées.
|
||
|
||
- Fix: use the crate-root DTO façades inside the configuration projection itself so required `pub(crate)` re-exports are not dead imports.
|
||
- Fix: remove the unused desktop application-schema getter; validation continues to use the embedded schema directly.
|
||
|
||
- remplace l'exposition Tauri de `AppConfig/ProfileConfig` résolus par une projection publique typée et un diagnostic borné construits champ par champ ;
|
||
- n'expose plus les URLs RPC/WebSocket, DSN PostgreSQL, chemins SQLite/wallet ni aucune valeur secrète ; les diagnostics correspondants transmettent seulement des états `configured`/`missing` et des paramètres non sensibles explicitement retenus ;
|
||
- devient propriétaire du fragment `application` de sa composition et le valide avec `config/schemas/kb-app-demo-desktop.application.config.schema.json` ;
|
||
- conserve TS-RS uniquement à la frontière applicative et ajoute des canaris garantissant que les valeurs sensibles injectées dans le runtime ne traversent pas les payloads configuration.
|
||
|
||
## `0.5.1-pre.007`
|
||
|
||
- consomme les nouveaux documents store/wallet/execution via la composition desktop ;
|
||
- lit les autorisations d’exécution depuis `ExecutionConfig` et conserve les payloads Tauri actuels jusqu’au chantier de non-divulgation de la prerelease suivante.
|
||
|
||
## `0.5.1-pre.006`
|
||
|
||
- remplace `config/app.config.json` par la composition dédiée `config/kb-app-demo-desktop.default.config.json`, sélectionnable via `KB_APP_DEMO_DESKTOP_CONFIG_PATH` ;
|
||
- résout les profils transport/listeners partagés via `ks-config` et sélectionne explicitement le profil logging déclaré par la composition ;
|
||
- conserve les contrats runtime et payloads Tauri actuels jusqu'au chantier public/diagnostic de `pre.008`.
|
||
|
||
## `0.5.1-pre.005`
|
||
|
||
- charge séparément `config/app.config.json` et `config/logging.config.json` ;
|
||
- ajoute `KS_LOGGING_CONFIG_PATH` sans coupler sa sélection à `KS_CONFIG_PATH` ;
|
||
- initialise `ks-logging` directement depuis son profil actif et supprime la conversion manuelle depuis un type logging de `ks-config` ;
|
||
- conserve les payloads Tauri de configuration existants jusqu’à la fermeture de la surface publique en `pre.006`.
|
||
|
||
## `0.5.1-pre.004`
|
||
|
||
- lit désormais le chemin de configuration Solana via `KS_CONFIG_PATH` et les fixtures Token-2022 via leurs noms `KS_PUBLIC_*` canoniques ;
|
||
- conserve le namespace applicatif `KB_*` disponible pour de futurs besoins réellement spécifiques au Bot, sans créer de variable Bot artificielle dans cette prerelease ;
|
||
- ne modifie aucun payload Tauri de configuration résolue : le camouflage et les DTO sûrs restent réservés à la prerelease dédiée après le split config/logging.
|
||
|
||
## `0.5.1-pre.002`
|
||
|
||
- adapte les dépendances Rust et tous les appels de crates Solana vers `ks_*` sans renommer l'application ;
|
||
- conserve `kb-app-demo-desktop` comme banc de validation et future surface de démonstrations propres au bot ;
|
||
- laisse les bindings TS-RS générés être régénérés par les tests après migration de `kb_config` vers `ks_config`.
|
||
|
||
## `0.5.1-pre.001`
|
||
|
||
### Documentation
|
||
|
||
- aligne les versions frontend/Tauri sur `0.5.1` pour ouvrir la version de fondation sans modifier le runtime desktop ;
|
||
- confirme que `kb-app-demo-desktop` conserve son nom pendant la migration des bibliothèques généralistes vers `ks-*` et que le workspace racine reste `khadhroony-bot3`.
|
||
|
||
## `0.5.0-pre.003`
|
||
|
||
### Documentation
|
||
|
||
- réaligne la frontière desktop/scénarios : les campagnes réutilisables appartiennent à `ks-pipeline-demo-scenarios`, tandis que le desktop conserve l’adaptation UI/Tauri, l’état applicatif et la présentation ;
|
||
- identifie pour `0.5.4` les dispatchs, critères de complétion et projections de preuves encore réutilisables à sortir du desktop ; aucun parcours runtime n’est modifié dans cette prerelease.
|
||
|
||
## 0.5.0-pre.001
|
||
|
||
- aligne les versions frontend et Tauri sur `0.5.0` pour ouvrir la nouvelle version fonctionnelle ;
|
||
- ne modifie aucun parcours desktop : `0.5.0-pre.001` reste limitée au cadrage, à l’audit initial et au plan de la série `0.5.x`.
|
||
|
||
## 0.4.8-pre.016
|
||
|
||
- corrige la sortie de build Vite pour tenir compte de `root: 'frontend'` : `build.outDir` pointe vers `../../dist` et la page `demo_execution_metadata.html` est référencée sous son nom réel ;
|
||
- aligne `tauri.conf.json` sur le même répertoire physique avec `frontendDist: '../dist'` ;
|
||
- confirme la règle de validation : aucun `npm run build` autonome, le build frontend est déclenché par `cargo tauri build` via `beforeBuildCommand` ;
|
||
- valide le build release complet et la génération des bundles `.deb`, `.rpm` et `.AppImage` en version desktop `0.4.8`.
|
||
|
||
## 0.4.8-pre.014
|
||
|
||
- `pre.014-delta-fix-004` clôture la finalisation desktop Metadata après validation de `fix-003` : formatage, `cargo check --workspace`, Clippy sans warning, audit workspace et 144 tests desktop sont propres ; la disposition finale des trois accordéons de résultats, de la carte **Exigences** et du journal pleine largeur est validée visuellement ;
|
||
- réconcilie le rapport et le TODO avec cet état final, sans nouvelle campagne réseau ni changement fonctionnel ;
|
||
- `pre.014-delta-fix-003` consolide l’intégration Metadata après validation réelle de `fix-002` : les 11 campagnes Metaplex qualifiées atteignent toutes `campaign_completed`, les campagnes Maintenance et Use conservent leurs probes indisponibles sans soumission et aucun fichier `error*.jsonl` fourni n’est non vide ;
|
||
- fusionne `demo_execution_metadata_metaplex_campaign.rs` dans `demo_execution_metadata_metaplex_token_metadata.rs` afin que Metaplex suive le même modèle de module unique que Token-2022 Token Metadata et Solana Program Metadata, sans modifier les commandes Tauri ni les bindings TS-RS ;
|
||
- transforme les blocs `Préflight et opérations`, `Simulation et confirmation` et `Postconditions et preuves` en accordéons Bootstrap, sur le modèle de `demo_execution_spl`, tout en conservant `Exigences` sous les détails et le journal d’exécution en pleine largeur ;
|
||
- `pre.014-delta-fix-002` réaligne le test de contrôles Metaplex sur la nouvelle UI qualifiée (`metadataMetaplexCampaignSelect` + confirmation + exécution) et retire les assertions sur les anciens contrôles Devnet supprimés par `fix-001` ;
|
||
- après deux crashs reproductibles du desktop pendant `Create -> Mint — NFT`, les logs montrent `Create` simulé, soumis et confirmé, puis un arrêt brutal pendant le `getTransaction` de l'hydratation canonique, sans panic Rust ni erreur JSONL ;
|
||
- boxe explicitement le futur volumineux du dispatch des 11 campagnes Metaplex avant son exécution dans le runtime Tauri afin de réduire l'état async conservé par la commande desktop et ajoute des marqueurs backend `campaign_start`, `campaign_completed` et `campaign_failed` ; cette correction reste volontairement limitée à l'adaptateur desktop et ne modifie aucune campagne Devnet déjà qualifiée ;
|
||
- `pre.014-delta-fix-001` remplace le chemin Devnet Metaplex générique du panneau par 11 campagnes qualifiées réutilisant directement les runners spécialisés de `ks-pipeline-demo-scenarios` : cinq `Create -> Mint`, collection, Print/Burn, lifecycle pNFT, escrow, maintenance et probe Use ;
|
||
- conserve les scénarios Metaplex synthétiques pour l’inspection de contrats, mais ne présente plus `scenario + step + intent JSON` comme parcours Devnet principal ;
|
||
- confine `Use`, `Resize`, `Migrate`, `Collect` et `CloseAccounts` aux probes simulation-only de leurs campagnes qualifiées et ne les expose jamais comme soumissions isolées ;
|
||
- déplace la carte **Exigences** en bas de la colonne droite, après les postconditions, tout en conservant le journal d’exécution en pleine largeur sous la grille ;
|
||
- enregistre la première validation Tauri de `pre.014` : `cargo check --workspace`, Clippy et l’audit workspace sont propres, `ks-pipeline-demo-scenarios` réussit 105 tests unitaires + 1 CLI + 1 API externe, et `kb-app-demo-desktop` réussit 139 tests unitaires ;
|
||
- les logs fournis confirment l’exécution desktop complète de Token-2022 Token Metadata et Solana Program Metadata sur Devnet, tandis que l’ancien parcours Metaplex s’arrêtait après la seule préparation de fixture, défaut de câblage corrigé par ce delta ;
|
||
- ajoute le troisième sous-panneau **Token-2022 Token Metadata** dans `demo_execution_metadata` ;
|
||
- appelle directement la campagne réutilisable de cinq opérations `Initialize -> UpdateField -> Emit -> RemoveKey -> UpdateAuthority` sur un mint Token-2022 frais ;
|
||
- exige la préparation PostgreSQL, un profil Devnet autorisé et une confirmation explicite avant la fixture et les cinq mutations ;
|
||
- affiche la fixture, les simulations, confirmations, snapshots stateful, return data `Emit`, matérialisations et postconditions avec le JsonViewer commun ;
|
||
- synchronise le profil entre Metaplex, Token-2022 et Solana Program Metadata ;
|
||
- déplace le journal d’exécution hors de la colonne gauche afin qu’il occupe toute la largeur du panneau.
|
||
|
||
## 0.4.8-pre.013
|
||
|
||
- `pre.013-delta-fix-022` restaure la compatibilité `Future + Send` de la commande Tauri Metaplex en corrigeant le runner partagé : l'effacement temporaire `Signer + Sync -> &dyn Signer` est limité à un helper synchrone de signature et n'est plus conservé au travers des `await` ; aucun assouplissement de la commande desktop n'est nécessaire ;
|
||
- `pre.013-delta-fix-002` retire la réécriture locale du JSON `Create` par famille et consomme désormais directement la fixture Metaplex réutilisable, afin d’éviter qu’un parcours `Fungible` annonce un token standard incompatible avec le mint réellement préparé ;
|
||
- conserve l’action Create autonome sur une fixture NFT par défaut, tandis que les parcours de scénario sélectionnent explicitement leur famille lors de la préparation.
|
||
- `pre.013-delta-fix-001` sérialise explicitement les summaries de backfill, extraction Core et replay dans l'evidence JSON au lieu d'exiger `serde::Serialize` sur les contrats internes de `ks-pipeline` ;
|
||
- adapte l’appel Metaplex au runner Devnet renforcé sans ajouter encore de nouveau parcours UI ;
|
||
- initialise le store PostgreSQL avant une exécution Metaplex réelle et fournit le décodeur ainsi que les matérialiseurs runtime ;
|
||
- conserve dans l’evidence JSON le backfill canonique, l’extraction Core, le replay, la seconde passe d’idempotence, les matérialisations instructionnelles et le diagnostic post-exécution.
|
||
|
||
## 0.4.8-pre.010
|
||
|
||
- scinde le panneau Metadata en un module commun, un adaptateur `metadata_metaplex_token_metadata` et un adaptateur `metadata_solana_program` ;
|
||
- renomme les contrats et commandes Tauri Metaplex afin de rendre leur domaine explicite ;
|
||
- remplace la réutilisation erronée de l’observer Solana Core par un observer Metadata ciblant exclusivement `demo_execution_metadata` ;
|
||
- déplace le garde de l’exécution Devnet partagée dans `demo_devnet_common` sous le nom générique `DemoExecutionRunGuard` ;
|
||
- consomme la borne RPC complète de `65536` octets exposée par `ks-onchain-transport` pour les lectures Solana Program Metadata ;
|
||
- ajoute un adaptateur desktop séparé pour les deux parcours Solana Program Metadata ;
|
||
- expose l’inventaire exact des neuf opérations et leurs états attendus ;
|
||
- synchronise le profil Devnet entre les sections Metaplex et Solana Program Metadata ;
|
||
- appelle directement la campagne réutilisable de `ks-pipeline-demo-scenarios` sans dupliquer la logique réseau ;
|
||
- affiche la fixture, les deux signatures de préfinancement, les neuf simulations, confirmations, postconditions et snapshots matérialisés ;
|
||
- exige une confirmation explicite unique couvrant les deux préfinancements et les neuf mutations ;
|
||
- conserve les parcours Metaplex existants inchangés.
|
||
|
||
## 0.4.8-pre.008
|
||
|
||
- enregistre `metadata.solana_program_metadata` dans le replay générique afin que les signatures hydratées par `demo_backfill` puissent être décodées ;
|
||
- enregistre les trois matérialiseurs spécialisés `MtMetadataMetaplexTokenMetadataMaterializer`, `MtMetadataSolanaProgramMaterializer` et `MtMetadataToken2022Materializer` dans le replay générique ;
|
||
- vérifie par test qu’une observation représentative de chaque domaine metadata possède exactement un matérialiseur runtime ;
|
||
- ne modifie ni `demo_execution_metadata`, ni les scénarios Devnet, réservés à `0.4.8-pre.009`.
|
||
|
||
## 0.4.8-pre.001
|
||
|
||
- aligne les versions Tauri et frontend sur `0.4.8` pour ouvrir la nouvelle version fonctionnelle ;
|
||
- ne modifie encore aucun parcours desktop : les panneaux Solana Program Metadata et Token-2022 Token Metadata sont planifiés pour des prereleases ultérieures.
|
||
|
||
## 0.4.7-pre.016
|
||
|
||
- généralise README et USAGE sans classement par prerelease ;
|
||
- nettoie le TODO et reporte les validations Devnet spécialisées ;
|
||
- archive les rapports de travail `0.4.7` au profit du rapport consolidé.
|
||
|
||
## 0.4.7-pre.015
|
||
- expose l’étape NFT « rendre les metadata immutables » dans le runner cohérent ;
|
||
- prépare cette étape depuis le contexte confirmé de l’étape précédente ;
|
||
- maintient les lectures de postcondition et la matérialisation sur le PDA metadata.
|
||
|
||
## 0.4.7-pre.014
|
||
|
||
- Afficher les cinq parcours Metaplex Devnet dans le runner Metadata.
|
||
- Adapter automatiquement le JSON `Create`, les lectures de postcondition et les cibles de matérialisation à la famille sélectionnée.
|
||
|
||
## 0.4.7-pre.013-fix-015
|
||
|
||
- aligne les tests desktop sur le nombre réel de scénarios synthétiques et Devnet exposés par les registres réutilisables ;
|
||
- conserve explicitement au moins un scénario collection et un scénario programmable dans l’inventaire ;
|
||
- borne les lectures Metadata et Edition à `65536` octets conformément au contrat `getAccountInfo` ;
|
||
- sérialise les toggles Metaplex `Collection`, `CollectionDetails`, `Uses` et `RuleSet` avec la variante `None` au lieu de `null` dans l’étape Update.
|
||
|
||
## 0.4.7-pre.013-fix-014
|
||
|
||
- remplace le flux global opération/modèle/fixture Create par une préparation contextuelle de l’étape du scénario ;
|
||
- remplit automatiquement l’intent et les lectures stateful avant/après ;
|
||
- ajoute la navigation étape précédente/suivante et refuse l’exécution d’un intent périmé ;
|
||
- rend la matérialisation utilisable sans saisie manuelle des comptes de postcondition ;
|
||
- expose uniquement le parcours Devnet NFT actuellement entièrement préparé (`create` puis `update`).
|
||
|
||
### 0.4.7-pre.013-fix-011
|
||
|
||
- remplace la préparation Metaplex fondée sur `solana-keygen`, `solana` et `spl-token` par une transaction Rust native ;
|
||
- crée le mint par `SystemCreateAccount` puis `SPL Token InitializeMint2` dans un même message simulé, signé et confirmé ;
|
||
- utilise explicitement le wallet du profil comme mint authority et freeze authority ;
|
||
- conserve le keypair du mint dans `ks-wallet` sans exposer ni déléguer ses secrets à une CLI externe.
|
||
|
||
## 0.4.7-pre.013-fix-009
|
||
|
||
- affiche les parcours, fixtures et états Metaplex dans le panneau Devnet ;
|
||
- ajoute l’option de matérialisation des snapshots confirmés ;
|
||
- expose le nombre de projections produites dans les résultats.
|
||
|
||
## 0.4.7-pre.013-fix-008 — les fixtures `Create` utilisent un nouveau mint à freeze authority active, valident owner/layout/décimales/supply/autorités avant simulation et empêchent la réutilisation d’un intent précédent lorsqu’aucun modèle nommé n’existe.
|
||
|
||
## 0.4.7-pre.013-fix-005
|
||
|
||
- alignement du panneau Metadata sur les paramètres communs Devnet, boutons simulation/soumission séparés et correction du contrat dry-run après simulation ;
|
||
|
||
- correction de l’initialisation du panneau Metadata : ajout des contrôles HTML du journal attendus par le TypeScript ;
|
||
- ajout d’un test de contrat empêchant la disparition des sélecteurs de profil, scénario, opération et journal.
|
||
|
||
## 0.4.7-pre.013-fix-002
|
||
|
||
- Ajout du guide intégré, du journal d’exécution et de titres explicites pour les résultats JSON Metaplex.
|
||
- Ajout d’un préparateur idempotent de fixture `Create` : mint SPL classique Devnet, PDA metadata et master edition dérivés, intent JSON prêt à simuler.
|
||
|
||
## 0.4.7-pre.013 — exécution Metadata Devnet réelle
|
||
|
||
- ajout des commandes Tauri minces pour inventorier les opérations courantes, générer les modèles typés et appeler le runner Devnet réutilisable ;
|
||
- ajout de la simulation RPC réelle et de la soumission doublement autorisée depuis le panneau Metadata ;
|
||
- affichage séparé du plan, du préflight, de la simulation, de la signature, de la confirmation et des états avant/après ;
|
||
- conservation parallèle des scénarios synthétiques ;
|
||
- ajout des bindings TS-RS de requête et de résultat.
|
||
- correction de l’extraction de la signature réseau depuis le newtype `MdSignature` sans dépendre de `Display`.
|
||
|
||
## 0.4.7-pre.011 — réouverture des démonstrations Devnet
|
||
|
||
### Documentation
|
||
|
||
- réorganisation des quatre documents de crate ;
|
||
- ajout du lot `pre.013` au TODO pour raccorder les campagnes réseau Metaplex réutilisables ;
|
||
- clarification que les scénarios UI restent dans le desktop et sont couverts en parallèle par des tests automatisés.
|
||
|
||
## 0.4.7-pre.009 — panneau Exécution Metadata
|
||
|
||
- ajout de la fenêtre dédiée et des adaptateurs Tauri minces ;
|
||
- ajout des accordéons, du JSON viewer commun et des scénarios synthétiques ;
|
||
- ajout de l’inventaire Devnet, du choix de profil et de la préparation réelle de la base PostgreSQL ;
|
||
- distinction explicite entre contrat Devnet et exécution réseau réellement effectuée ;
|
||
- consolidation du rapport de validation et correction des documents dupliqués.
|
||
|
||
## 0.4.6
|
||
|
||
- alignement de la crate sur la version fonctionnelle bot3 `0.4.6` ;
|
||
- clôture des tâches de migration applicables et report explicite des évolutions ultérieures dans le TODO.
|
||
|
||
## 0.1.0-pre.076
|
||
|
||
- correction de l’architecture Tauri : `tauri.rs` reste l’unique propriétaire des `#[tauri::command]` et délègue via la façade `crate::*` ;
|
||
- suppression des modules intermédiaires `tauri_*` ajoutés à tort ;
|
||
- suppression de 43 exports `pub(crate)` qui ne franchissaient aucune frontière de module ;
|
||
- renommage des fonctions `*_inner` en noms fonctionnels directs ;
|
||
- suppression du helper IPC utilisé une seule fois et simplification de l’initialisation de l’état ;
|
||
- complétion des rustdoc manquantes dans `lib.rs` ;
|
||
- correction de l’audit statique pour contrôler la minceur sémantique de `tauri.rs` plutôt qu’un seuil arbitraire de lignes ;
|
||
- réduction de `tauri.rs` à l’assemblage runtime et aux wrappers strictement nécessaires ;
|
||
- répartition des commandes Tauri par domaine dans des modules dédiés ;
|
||
- validation Mainnet de la persistance de session WebSocket après fermeture et réouverture de `demo_ws` ;
|
||
- ajout du scénario borné de backfill `mainnet_research`.
|
||
|
||
## 0.1.0-pre.075
|
||
|
||
- ajout de l’audit statique Tauri/frontend et du scénario de validation du cycle de vie WebSocket ;
|
||
- identification de l’orchestration encore substantielle dans `tauri.rs` comme blocant avant `0.4.6` ;
|
||
|
||
## 0.1.0-pre.072
|
||
|
||
- reclassement du TODO selon les blocants avant `0.4.6`, les travaux `0.4.7`, les versions ultérieures et les dépendances conditionnelles.
|
||
|
||
## 0.1.0-pre.071
|
||
|
||
- ajout du contrat documentaire complet de la crate mixte ;
|
||
- documentation de la bibliothèque, du binaire et de l’interface Tauri ;
|
||
- ajout d’exemples frontend pour les principales familles de commandes ;
|
||
- clarification de la persistance de l’état WebSocket hors cycle de vie de la fenêtre ;
|
||
- inscription des travaux ElGamal et Metaplex restants dans le TODO.
|
||
|
||
## 0.1.0-pre.062
|
||
|
||
- migration de l’application de démonstration vers `kb-app-demo-desktop` ;
|
||
- maintien d’un package unique bibliothèque et binaire ;
|
||
- migration des fenêtres HTTP, WebSocket, SQL, backfill, extraction, replay et exécution ;
|
||
- raccordement aux crates consolidées bot3 ;
|
||
- validation connue de 117 tests.
|