Files
games/history/0.3.1/0-pre.4.fix.1.md
2026-09-21 07:47:08 +02:00

63 lines
2.5 KiB
Markdown

<!-- file: history/0.3.1/0-pre.4.fix.1.md -->
<!-- version: 1 -->
# Historique 0.3.1-0-pre.4.fix.1
## Statut
Correctif validé par l'utilisateur le 2026-09-21. Le POC Tauri Android est jouable sur l'AVD x86_64 et sur un Galaxy S9+ ARM64 réel ; HTTP et HMR utilisent désormais le même tunnel USB `1436` sur appareil physique.
Aucune extraction `0-pre.5` n'est justifiée. La version peut entrer en `2-beta.1` pour la validation large et le packaging APK autonome.
## Gate workspace
Les validations suivantes passent :
```text
General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
games.sasedev workspace audit: clean
Markdown table audit: clean (5 table(s), 222 file(s))
Distribution layout audit: clean (48 required path(s), 1 forbidden path(s) absent)
cargo fmt --all: clean
cargo fmt --all -- --check: clean
cargo check --workspace: clean
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
cargo test -p game-snake-poc-wasm --all-targets --all-features: 5 passed, 0 failed
```
## Smoke ARM64 réel
Le téléphone expose `arm64-v8a`; Tauri sélectionne `aarch64-linux-android`, compile `libgame_snake_poc_tauri_lib.so`, assemble puis installe l'application avec succès.
La gate utilise :
```text
adb reverse tcp:1436 tcp:1436
cargo tauri android dev --host 127.0.0.1
```
Les traces confirment :
```text
Snake Tauri frontend bootstrap started
Snake Tauri assets ready: game-snake-poc / snake / engine-v1
Snake Tauri WASM initialized
Snake Tauri provenance: android / tauri-webview / wasm / phone / unknown
Snake Tauri runtime resumed
Snake Tauri frontend ready
Snake Tauri provenance: android / tauri-webview / wasm / phone / touch
```
L'erreur Vite `failed to connect to websocket` observée avant le fix ne réapparaît pas.
## Back et teardown
Le premier smoke ARM64 de `0-pre.4` avait observé un abort `FORTIFY: pthread_mutex_lock called on a destroyed mutex` pendant le teardown. Le smoke `fix.1` ne le reproduit pas : après Back, les traces passent par `runtime paused`, `visibility hidden`, destruction de la surface EGL, `stopped(true)` puis `dispatchDetachedFromWindow`, sans crash observé avant l'arrêt volontaire de la commande.
Le défaut est donc traité comme un risque potentiellement intermittent plutôt que comme une régression reproductible du host. `2-beta.1` doit encore le retester sur un APK autonome, sans Vite ni tunnel ADB.
## Suite
`0.3.1-2-beta.1` exécute la suite Cargo workspace complète, package un APK Debug autonome contenant x86_64 et ARM64, puis le fume sur AVD et appareil réel.