Refactor messages propagation

This commit is contained in:
2025-11-21 10:30:48 +01:00
parent 751e3b8654
commit 8d2cea5f82
5 changed files with 65 additions and 68 deletions

View File

@@ -8,6 +8,13 @@ use matrix_sdk::sync::SyncResponse;
pub type BroadcastSender = tokio::sync::broadcast::Sender<BroadcastMessage>;
#[derive(Debug, Clone)]
pub struct BxRoomEvent<E> {
pub user: UserEmail,
pub event: Box<E>,
pub room: Room,
}
/// Broadcast messages
#[derive(Debug, Clone)]
pub enum BroadcastMessage {
@@ -20,23 +27,11 @@ pub enum BroadcastMessage {
/// Matrix sync thread has been interrupted
SyncThreadStopped(MatrixSyncTaskID),
/// New room message
RoomMessageEvent {
user: UserEmail,
event: Box<OriginalSyncRoomMessageEvent>,
room: Room,
},
RoomMessageEvent(BxRoomEvent<OriginalSyncRoomMessageEvent>),
/// New reaction message
ReactionEvent {
user: UserEmail,
event: Box<OriginalSyncReactionEvent>,
room: Room,
},
ReactionEvent(BxRoomEvent<OriginalSyncReactionEvent>),
/// New room redaction
RoomRedactionEvent {
user: UserEmail,
event: Box<OriginalSyncRoomRedactionEvent>,
room: Room,
},
RoomRedactionEvent(BxRoomEvent<OriginalSyncRoomRedactionEvent>),
/// Raw Matrix sync response
MatrixSyncResponse { user: UserEmail, sync: SyncResponse },
}