79 lines
2.6 KiB
Markdown
79 lines
2.6 KiB
Markdown
<!-- file: history/0.3.5/alpha.9.fix.1.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Historique 0.3.5-alpha.9.fix.1
|
|
|
|
## Statut
|
|
|
|
`0.3.5-alpha.9.fix.1` a été validée par l'utilisateur le 2026-09-22. Le POC datagram WebTransport backend-spécifique est fermé sans promotion de cette sémantique dans le contrat `RealtimeConnection`.
|
|
|
|
## 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-webtransport-lib --all-targets --all-features
|
|
cargo run -p game-realtime-webtransport-datagram-smoke
|
|
cargo check -p game-realtime-webtransport-lib --target wasm32-unknown-unknown
|
|
cargo clippy -p game-realtime-webtransport-lib --target wasm32-unknown-unknown --lib -- -D warnings
|
|
cargo build -p game-realtime-webtransport-lib --target wasm32-unknown-unknown
|
|
```
|
|
|
|
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), 306 file(s))
|
|
Distribution layout audit: clean (64 required path(s), 8 forbidden path(s) absent)
|
|
cargo check --workspace: clean
|
|
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
|
|
WebTransport tests: 22 passed; 0 failed
|
|
wasm32 check/clippy/build: clean
|
|
```
|
|
|
|
## Datagram natif
|
|
|
|
Le smoke réel termine par :
|
|
|
|
```text
|
|
game-realtime-webtransport-datagram-smoke: PASS
|
|
```
|
|
|
|
Cette exécution a négocié des bornes de payload différentes selon les deux sessions :
|
|
|
|
```text
|
|
client_max=1350
|
|
server_max=1287
|
|
```
|
|
|
|
Le smoke utilise la borne commune minimale pour ses payloads. Cette variation confirme qu'une taille datagram ne doit pas être codée en dur et doit rester une capacité négociée/backend-spécifique.
|
|
|
|
## Tests datagram
|
|
|
|
Les tests d'intégration valident :
|
|
|
|
```text
|
|
backend_specific_datagrams_round_trip_without_entering_the_common_contract ... ok
|
|
oversized_datagram_is_rejected_before_backend_send ... ok
|
|
```
|
|
|
|
Aucune garantie de livraison ou d'ordre n'est déduite de ce succès loopback.
|
|
|
|
## Conséquence
|
|
|
|
`alpha.10` peut mesurer séparément :
|
|
|
|
- le chemin fiable commun WebSocket/WebTransport via `RealtimeConnection` ;
|
|
- le datagram WebTransport comme capacité distincte.
|
|
|
|
Les mesures doivent rester bornées, reproductibles et descriptives ; elles ne doivent pas introduire un classement arbitraire ni extrapoler le loopback à Internet/mobile.
|