mirror of
https://github.com/vacp2p/de-mls.git
synced 2026-04-08 03:00:13 -04:00
* feat: implement emergency criteria proposals and violation detection - Introduced support for emergency criteria proposals in the consensus mechanism, allowing for the detection of steward violations during commit validation. - Enhanced the `GroupUpdateRequest` to include an `EmergencyCriteriaProposal` message type, encapsulating violation evidence. - Implemented logic to handle violations, including broken commits and censorship inactivity, with appropriate evidence reporting. - Updated the `handle_consensus_event` function to manage emergency proposals correctly, ensuring they do not produce MLS operations. - Refactored related components to improve clarity and maintainability, including the addition of a `ProposalPriority` enum to manage proposal handling based on urgency. - Enhanced tests to cover new functionality and ensure robustness in violation detection and emergency proposal processing. * feat(api): add steward_identity handling in batch proposals * fix: fix lint error * feat(core): enhance group configuration with quarantine policy and commit timeout - Introduced `QuarantinePolicy` to manage unsolicited batch behavior, including maximum items and epoch age. - Updated `GroupConfig` to include `commit_timeout` and `quarantine_policy`, with default values. - Refactored group handle creation methods to accept custom policies for group management. - Enhanced `apply_consensus_result` to validate consensus outcomes against the group's state. - Added display helpers for converting group update requests to user-friendly formats. - Improved documentation and tests to cover new functionalities and ensure robustness. * refactor(app): reorganize group state management and enhance freeze handling - Updated the group state machine to include new states: Freezing, Selection, and Reelection, improving clarity in state transitions. - Refactored the handling of commit timeouts, replacing it with freeze timeout logic to streamline candidate selection. - Introduced new methods for checking freeze timeouts and managing proposals during the freeze phase. - Enhanced the `GroupConfig` to support freeze duration and subset candidate handling. - Added display helpers for converting group update requests to user-friendly formats. - Improved documentation and tests to cover new functionalities and ensure robustness. * refactor(app): reorganize message handling and introduce message type system - Refactored message handling in the app layer to improve clarity and maintainability. - Introduced a new `message_type` module to define app-layer message type labels for better consistency and type safety. - Updated various components to utilize the new message type system, enhancing the handling of `GroupUpdateRequest` and related messages. - Added helper methods for converting violation evidence into user-friendly formats for display. - Improved documentation and tests to cover new functionalities and ensure robustness. * refactor(app): introduce UserError for app layer error handling and update event handler callbacks - Added a new `UserError` type to encapsulate application-specific errors, improving error handling across the app layer. - Refactored event handler methods in `GroupEventHandler` to return `CallbackError` instead of `CoreError`, enhancing clarity in error reporting. - Updated various components to utilize the new error handling structure, ensuring consistent error management throughout the application. - Improved documentation and tests to cover new error handling functionalities and ensure robustness. * refactor(ui): enhance consensus panel layout and state management - Adjusted the CSS for the consensus panel to improve spacing and layout, specifically reducing the margin for status rows. - Introduced new state context elements in the UI to display approved proposals and member counts based on the current group state. - Updated the Rust code to normalize address formatting and enhance event handling for group state changes, ensuring accurate updates during transitions. - Improved the handling of group state display, including new states and their corresponding UI representations. - Enhanced documentation and tests to cover the new UI features and ensure robustness.
1.7 KiB
1.7 KiB