Files
games/history/0.3.5/beta.1.fix.1.md
2026-09-22 11:38:58 +02:00

4.3 KiB

Historique 0.3.5-beta.1.fix.1

Statut

0.3.5-beta.1.fix.1 a été validée par l'utilisateur le 2026-09-22. Le correctif ferme uniquement la dérive de version du host navigateur découverte pendant la gate large beta.1; il ne modifie aucun backend, protocole, fallback, datagram ou scénario de mesure.

La validation cumulée beta.1 + beta.1.fix.1 confirme le workspace complet, les smokes realtime natifs, la caractérisation release, le chemin navigateur/WASM réel et la cross-compilation Android ARM64/API 21 du backend WebTransport.

Gate large héritée de beta.1

La gate beta.1 a confirmé :

General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
games.sasedev workspace audit: clean
Markdown table audit: clean (5 table(s), 312 file(s))
Distribution layout audit: clean (66 required path(s), 8 forbidden path(s) absent)
cargo check --workspace: clean
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
cargo test --workspace --all-targets --all-features: 77 passed; 0 failed

Les smokes runtime natifs ont tous terminé par PASS :

game-realtime-websocket-smoke: PASS
game-realtime-webtransport-smoke: PASS
game-realtime-webtransport-datagram-smoke: PASS
game-realtime-transport-fallback-smoke: PASS

Le fallback valide WebTransport en priorité, le passage vers WebSocket sur un Timeout classifié et la visibilité d'une erreur InvalidConfiguration non éligible au fallback.

Mesures beta.1

La caractérisation release game-realtime-transport-measure a terminé par PASS avec :

WebSocket establishment median : 42 us
WebTransport establishment median : 963 us
WebSocket RTT median : 19 us
WebTransport RTT median : 12 us
WebSocket throughput 128 x 64 KiB : 2933.255 MiB/s
WebTransport throughput 128 x 64 KiB : 646.338 MiB/s
WebSocket window 64 x 1 KiB : 1.471 MiB/s
WebTransport window 64 x 1 KiB : 153.084 MiB/s
WebTransport datagram : 64/64 reçus, payload 256 octets, client_max=1381, server_max=1381

Ces valeurs décrivent uniquement ce run loopback. Elles ne constituent pas un classement général WebSocket/WebTransport et ne sont pas extrapolées à Internet ou au mobile.

La conclusion technique reste :

CONCLUSION webtransport=retain scope=second-backend reason=reliable-browser-fallback-datagram-capabilities

WASM et host navigateur

beta.1 puis beta.1.fix.1 ont confirmé :

  • check, Clippy --lib et build de game-realtime-webtransport-lib pour wasm32-unknown-unknown ;
  • build de game-realtime-webtransport-browser-smoke pour WASM ;
  • génération wasm-bindgen ;
  • TypeScript/Vite propre ;
  • host npm synchronisé sur 0.3.5-beta.1.fix.1 ;
  • audit DIST-LAYOUT-114 empêchant une nouvelle divergence de version ;
  • smoke navigateur réel terminé par game-realtime-webtransport-browser-smoke: PASS côté pair natif.

Le smoke final a utilisé un endpoint loopback éphémère et un pin SHA-256 généré en mémoire. Les valeurs concrètes de port et de certificat appartiennent uniquement à cette exécution.

Android ARM64

La première tentative aarch64-linux-android de beta.1 a été bloquée avant compilation complète parce que ring/cc-rs ne trouvait pas le Clang du NDK dans l'environnement.

Le NDK 28.2.13676358 était déjà installé. Après exposition explicite du toolchain LLVM avec cible API 21 :

CC_aarch64_linux_android=aarch64-linux-android21-clang
CXX_aarch64_linux_android=aarch64-linux-android21-clang++
AR_aarch64_linux_android=llvm-ar
CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android21-clang

la commande :

cargo check -p game-realtime-webtransport-lib --target aarch64-linux-android

s'est terminée proprement, y compris ring, rustls-platform-verifier-android, Quinn et game-realtime-webtransport-lib.

Cette preuve valide la cross-compilation ARM64 Android API 21 du backend. Elle ne vaut pas smoke WebTransport runtime sur appareil Android et ne valide pas les autres ABI Android pour ce backend.

Conclusion beta

La fonctionnalité attendue est complète et la validation large ne révèle plus de défaut fonctionnel. La consolidation 0.3.5-beta.2 peut geler la décision retained, réconcilier la documentation durable et préparer le prompt 0.3.6 sans rouvrir le scope transport.