Integrate local store updates only after validated server responses where required.
Cover task inventory transfers and xfer behavior with bounded data.
Validation
Owned InventoryManager/task/batch tests pass against fake packets.
Concurrent requests correlate correctly and cancel cleanly.
No network operation holds inventory locks across await.
Prerequisite
Networking/client lifecycle and all foundational implementation milestones are complete; mapped APIs and translated tests are fixed.
Project constraints
New native Rust behavior only; no bridge or C# fallback.
Preserve mapped public APIs and exact translated assertions; use completed transport/data layers rather than duplicating them.
Bound resources, avoid locks across await/callbacks, and update docs/coverage with focused and workspace evidence.
## Objective
Implement InventoryManager packet-based create/update/move/copy/remove/fetch/search/give/rez/task-inventory workflows.
## Deliverables
- Preserve batching, callback IDs, packet blocks, ownership, permissions, timeouts, cancellation, and response/event correlation.
- Integrate local store updates only after validated server responses where required.
- Cover task inventory transfers and xfer behavior with bounded data.
## Validation
- Owned InventoryManager/task/batch tests pass against fake packets.
- Concurrent requests correlate correctly and cancel cleanly.
- No network operation holds inventory locks across await.
## Prerequisite
Networking/client lifecycle and all foundational implementation milestones are complete; mapped APIs and translated tests are fixed.
## Project constraints
- New native Rust behavior only; no bridge or C# fallback.
- Preserve mapped public APIs and exact translated assertions; use completed transport/data layers rather than duplicating them.
- Bound resources, avoid locks across await/callbacks, and update docs/coverage with focused and workspace evidence.
hugo
added this to the 09 - World vertical slices milestone 2026-08-08 08:20:46 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Implement InventoryManager packet-based create/update/move/copy/remove/fetch/search/give/rez/task-inventory workflows.
Deliverables
Validation
Prerequisite
Networking/client lifecycle and all foundational implementation milestones are complete; mapped APIs and translated tests are fixed.
Project constraints
Implemented and pushed in commit
61d6721.Native Rust InventoryManager now covers bounded/cancellation-safe callback correlation; UDP create, update, move, copy, remove, fetch, give, rez/derez, script, and task-inventory packet paths; validated store reconciliation; capability fetch/folder/task paths; login skeleton installation; inventory offers/events; and a 16 MiB-bounded legacy ReplyTaskInventory/RequestXfer state machine. Generated mappings, documentation, the milestone audit, and Ubuntu-only workflow coverage were updated. The final review also corrected the metadata-only UpdateTaskInventory default, generated update transaction IDs, enum-text folder names, and unmatched AssetType folder fallback.
Verified in isolation: