Skip to main content

Module group_mutable_metadata

Module group_mutable_metadata 

Source

Structs§

GroupMutableMetadata
Represents the mutable metadata for a group.
MessageDisappearingSettings
Settings for disappearing messages in a conversation.

Enums§

GroupMutableMetadataError
Errors that can occur when working with GroupMutableMetadata.
MetadataField
Represents the “updateable” metadata fields for a group. Members ability to update metadata is gated by the group permissions.

Constants§

METADATA_FIELD_COMPONENT_MAP
Single source of truth for the MetadataFieldComponentId bijection over the Bytes/String-typed mutable-metadata family. The dict↔legacy merge below and the lookup helpers in xmtp_mls::groups::app_data::component_source all derive from this table.

Functions§

extensions_are_migrated
Production migration predicate over raw extensions: the group is post-bootstrap iff the AppData dictionary carries the COMPONENT_REGISTRY entry (the bootstrap commit’s first write).
extract_legacy_group_mutable_metadata
Read GroupMutableMetadata from the legacy group-context extension only.
extract_legacy_group_mutable_metadata_from_extensions
Same as extract_legacy_group_mutable_metadata, but reads directly from a group’s GroupContext extensions — no full OpenMlsGroup needed.
find_mutable_metadata_extension
Finds the mutable metadata extension in the given MLS Extensions.
merge_dict_into_mutable_metadata
Overlay the AppData dictionary’s metadata components onto base — the dict→legacy direction of the capability-aware read paths.
merge_dict_into_mutable_metadata_lossy
Best-effort variant of merge_dict_into_mutable_metadata that degrades per-field instead of failing per-group: every component that decodes is applied to base, every component that doesn’t is skipped, and the errors are returned so the caller can log them (empty vec = clean merge).