pub fn validate_app_data_update_proposals_in_commit(
staged_commit: &StagedCommit,
openmls_group: &MlsGroup,
immutable_metadata: &GroupMetadata,
mutable_metadata: &GroupMutableMetadata,
registry: &ComponentRegistry,
) -> Result<(), CommitRuleError>Expand description
Validate every AppDataUpdate proposal carried by staged_commit
against the group’s component registry.
staged_commit.app_data_update_proposals() iterates both inline
proposals and references that resolve into the group’s proposal
store, so this covers both shapes. validate_proposal() covers the
standalone-proposal-by-reference path (proposals that arrive as
their own message), but commits never flow through
validate_proposal — they go through from_staged_commit. Without
this helper, AppDataUpdate proposals committed alongside a commit
would bypass validate_component_write entirely, since
extract_metadata_changes only inspects the legacy mutable-metadata
extension.
Delegates the per-proposal permission check to
validate_one_app_data_update so the core logic stays shared with
the standalone-proposal path in validate_proposal.
§Registry semantics
registry is the committed registry shared with the other component checks.
Registry changes and writes that depend on them must use separate commits.