Fix bounded avatar appearance recovery after login
Some checks failed
CI / rust-skia (Rust only) (push) Has been cancelled
CI / required (push) Has been cancelled

This commit is contained in:
2026-08-23 18:06:58 +02:00
parent 42f0c62b6b
commit 5a533dfa00
9 changed files with 1114 additions and 41 deletions

View File

@@ -3,6 +3,22 @@
This file records intentional differences from the C# LibreMetaverse source. Preserve or
re-evaluate these changes when importing a newer upstream version.
## Bounded login appearance recovery
- A successful login now consumes `AgentSettings.send_appearance`, initializes the shared
`AppearanceManager`, and starts one generation-fenced appearance request after the simulator is
ready.
- Self `AvatarAppearance` acknowledgements are accepted as complete only when required baked
texture IDs, visual parameters, and the expected COF version are present. Transient failures use
bounded delayed forced rebakes; disconnects and simulator changes cancel stale work.
- COF attachments are compared with simulator child prims by `AttachItemID`; only missing items are
restored through the existing attachment API. Non-secret structured recovery events expose the
bake path, counts, serial, retries, acknowledgement, and elapsed time.
- Baked-texture capability responses are decoded as LLSD, as required by the simulator protocol,
instead of incorrectly treating their uploader and completion maps as JSON.
Files: `src/network_manager.rs`, `src/appearance_manager.rs`, `src/asset_manager.rs`.
## OpenSim varregion dimensions
- `GridRegion` retains the optional `MapBlockReply.Size` dimensions. Missing or zero dimensions