Skip to main content
Examples on this page target source snapshot 35a69a14, not a crates.io release. Use the current API guide to select the matching dependency.

Build a group input

The subject is required. For advanced policies, choose typed member-add, member-link and membership-approval modes on the builder or supported fields. Avoid downstream literals and Default for these non-exhaustive inputs.

Separate listing from routing

List with list_participating and retrieve a subset with fetch_overviews. Fetch full metadata for participant roles, descriptions and other detailed state. Use routing_info for encryption membership. The group task reference explains network and cache differences and partial batch outcomes.

Reconcile a description update

Use validated GroupDescription with PreviousDescription::Resolve when you do not have a fresh token. Use a known token explicitly when performing a compare-and-update. A conflict means the group changed; reread before deciding how to reconcile it.

Handle participant results and history separately

Inspect each member result after adding, removing or changing admin roles. For history sharing, retain the prepared replay handle and call deliver_prepared_history_share again after cancellation. Use retry_group_history with a token from a retryable outcome; do not repeat the participant mutation. Cancellation can occur between remote operations; it does not roll them back.

Look up pictures explicitly

Use pictures().lookup(ProfilePictureRequest::new(ProfilePictureTarget::Group(group), size)) for one group. Use Community for a community parent. The separate get_profile_pictures batch remains on the groups facade. See group operations, community tasks, pictures and current API contracts.