Application message in commit bundles#4929
Merged
pcapriotti merged 10 commits intodevelopfrom Jan 20, 2026
Merged
Conversation
3413137 to
6ffe8bd
Compare
8629bbf to
e49212c
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request adds support for commit bundles to contain an optional application message. The message must be for the epoch after the commit and is sent to all conversation members after the commit has been accepted.
Changes:
- Added
appMessagefield toCommitBundleand related data structures to support optional application messages - Introduced
ClientMapnewtype wrapper with helper functions to improve type safety and encapsulation of client mapping operations - Implemented validation and propagation logic for application messages in commit bundles, ensuring they are for the correct epoch and sent after commit acceptance
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| libs/wire-api/src/Wire/API/MLS/CommitBundle.hs | Added appMessage field to CommitBundle data structure and updated parsing/serialization logic |
| libs/wire-api/src/Wire/API/MLS/Message.hs | Added Arbitrary instances for Message types to support testing |
| libs/wire-subsystems/src/Wire/ConversationStore/MLS/Types.hs | Introduced ClientMap newtype wrapper with helper functions for safer client map operations |
| services/galley/src/Galley/API/MLS/Message.hs | Added validateMessage function and logic to handle application messages in commit bundles |
| services/galley/src/Galley/API/MLS/IncomingMessage.hs | Added appMessage field to IncomingBundle |
| services/galley/src/Galley/API/MLS/Propagate.hs | Updated propagateMessage signature to use generic ClientMap type parameter |
| services/galley/src/Galley/API/MLS/SubConversation.hs | Updated to use ClientMap helper functions |
| services/galley/src/Galley/API/MLS/Removal.hs | Updated to use ClientMap helper functions |
| services/galley/src/Galley/API/MLS/Proposal.hs | Simplified Semigroup instance to use derived behavior |
| services/galley/src/Galley/API/MLS/OutOfSync.hs | Updated to use unClientMap accessor |
| services/galley/src/Galley/API/MLS/Commit/InternalCommit.hs | Updated to use ClientMap helper functions |
| services/galley/src/Galley/API/MLS/CheckClients.hs | Updated to use ClientMap helper functions |
| services/galley/src/Galley/API/Internal.hs | Updated to use unClientMap accessor |
| services/galley/test/integration/API/MLS/Util.hs | Updated test utility to pass Nothing for appMessage field |
| libs/wire-api/test/unit/Test/Wire/API/Roundtrip/MLS.hs | Updated test to generate arbitrary appMessage values |
| integration/test/Test/MLS/History.hs | Added new integration test for commit bundles with application messages |
| integration/test/MLS/Util.hs | Updated MessagePackage with appMessage field and related functions |
| integration/integration.cabal | Registered new test module |
| changelog.d/2-features/mls-bundle-extra-messages | Added changelog entry documenting the feature |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
battermann
reviewed
Jan 19, 2026
e473072 to
8ab2938
Compare
battermann
approved these changes
Jan 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Allow commit bundles to contain one application message. The message must be for the epoch after the commit, and it gets sent after the commit has been accepted.
https://wearezeta.atlassian.net/browse/WPB-20803
Checklist
changelog.d