56 lines
2.1 KiB
Markdown
56 lines
2.1 KiB
Markdown
<!-- file: history/0.3.5/alpha.8.fix.1.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Historique 0.3.5-alpha.8.fix.1
|
|
|
|
## Statut
|
|
|
|
`0.3.5-alpha.8.fix.1` a été validée par l'utilisateur le 2026-09-22. La tranche de composition WebTransport-first / fallback WebSocket est fermée sans modification du contrat transport-neutral.
|
|
|
|
## Gates
|
|
|
|
Les commandes utilisateur ont terminé proprement :
|
|
|
|
```text
|
|
cargo fmt --all
|
|
cargo fmt --all -- --check
|
|
python3 scripts/audit_rust_workspace_rules.py
|
|
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Android Web deltas history
|
|
python3 scripts/audit_distribution_layout.py
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
|
cargo test -p game-realtime-transport-fallback-smoke --all-targets --all-features
|
|
cargo run -p game-realtime-transport-fallback-smoke
|
|
```
|
|
|
|
La sortie confirme :
|
|
|
|
```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), 303 file(s))
|
|
Distribution layout audit: clean (61 required path(s), 8 forbidden path(s) absent)
|
|
cargo check --workspace: clean
|
|
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
|
|
fallback selector tests: 2 passed; 0 failed
|
|
```
|
|
|
|
## Smoke de composition
|
|
|
|
Le launcher réel confirme successivement :
|
|
|
|
```text
|
|
preferred transport branch passed selected="webtransport"
|
|
WebTransport unavailable; attempting classified WebSocket fallback
|
|
classified fallback branch passed selected="websocket"
|
|
non-fallback error remained visible kind=invalid configuration
|
|
game-realtime-transport-fallback-smoke: PASS
|
|
```
|
|
|
|
Le fallback reste donc limité à `Timeout`/`Io`. Les erreurs ambiguës `Connect` et les erreurs de configuration/protocole ne sont pas transformées en downgrade silencieux.
|
|
|
|
## Conséquence
|
|
|
|
`alpha.9` peut challenger séparément la capacité datagram WebTransport. Cette capacité reste backend-spécifique et ne doit pas modifier `RealtimeConnection`, qui représente le chemin fiable ordonné commun à WebSocket et WebTransport.
|