TestClient: implement friends, groups, directory, stats, and remaining commands #94
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Port remaining friend/group/directory/search/social, region/network stats, uptime/dilation, voice-info, and uncategorized TestClient commands.
Deliverables
Validation
TEST_CLIENT_COMMANDSreports no unimplemented command target except explicitly owned voice adapters.Prerequisite
The library behavior required by the program is implemented and its translated parity tests pass.
Project constraints
Implemented and pushed in commit 21f85a1.\n\nCompleted all 28 remaining non-voice TestClient commands across agent, friends, groups, directory/search, and statistics. The live backend now uses native cancellable manager/capability paths with correlated waits and source timeouts; the deterministic fake backend records the same operations and drives a complete offline session. Profile cloning combines AgentProfile data with the legacy interests reply, validates current picks, synchronizes profile/interests/picks/groups, and requires separate mutation, spending, and per-command confirmation gates. The full pinned 135-entry animation catalog now backs play list/name playback, group caches expose stable snapshots, and TEST_CLIENT_COMMANDS leaves only ParcelVoiceInfo and VoiceAcountCommand pending. Docs and generated API coverage were updated.\n\nVerified:\n- cargo test -p libremetaverse-programs --test test_client_services_cli -j 1\n- cargo test -p libremetaverse-programs --test test_client_cli -j 1\n- focused animation, avatar-interest, and group-manager unit tests\n- cargo test --manifest-path tests/compat/Cargo.toml --test avatar_manager_shims -j 1\n- cargo test --manifest-path tests/compat/Cargo.toml --test social_constructor_semantics -j 1\n- cargo test --manifest-path tests/compat/Cargo.toml --test world_manager_shims -j 1\n- cargo clippy -p libremetaverse --lib --no-deps -p libremetaverse-programs --bin test-client --test test_client_services_cli -j 1 -- -D warnings\n- cargo check --workspace --all-targets --locked -j 1\n- cargo fmt --all -- --check\n- python3 tools/generate_api_shims.py --check\n- python3 tools/check_api_coverage.py