From 5c7a4b64c906fbfdb1c9bcc6cda10be0888367e6 Mon Sep 17 00:00:00 2001 From: Edison Jwa Date: Mon, 8 Jun 2026 22:52:08 +0900 Subject: [PATCH] feat(core): propagate poke strength events --- core/chanora_core/src/events.rs | 4 +++- core/chanora_core/src/lib.rs | 3 ++- crates/chanora_state/src/lib.rs | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/chanora_core/src/events.rs b/core/chanora_core/src/events.rs index 20201c2..ca3c71f 100644 --- a/core/chanora_core/src/events.rs +++ b/core/chanora_core/src/events.rs @@ -1,5 +1,5 @@ use chanora_audio::{AudioRoute, PttBackendDescriptor}; -use chanora_protocol::MessageTarget; +use chanora_protocol::{MessageTarget, PokeStrength}; /// Privacy-safe snapshot of the active PTT capability. #[derive(Debug, Clone, PartialEq, Eq)] @@ -139,6 +139,8 @@ pub enum SessionEvent { message: String, /// Target scope (server/channel/private/poke). target: MessageTarget, + /// Poke notification strength, present only for poke messages. + poke_strength: Option, }, /// Human-readable TeamSpeak-style server activity. ServerActivity { diff --git a/core/chanora_core/src/lib.rs b/core/chanora_core/src/lib.rs index b18017a..77ed1fc 100644 --- a/core/chanora_core/src/lib.rs +++ b/core/chanora_core/src/lib.rs @@ -68,7 +68,7 @@ pub use chanora_diagnostics::{ }; pub use chanora_protocol::{ ChannelInfo, ChatMessage, ClientInfo, ClientProfile, ConnectConfig, DisconnectReason, - MessageTarget, ProtocolError, ServerActivity, ServerSnapshot, + MessageTarget, PokeStrength, ProtocolError, ServerActivity, ServerSnapshot, }; pub use chanora_storage::{Bookmark, BookmarkRepository, IdentityFileStore}; pub use events::{ @@ -1674,6 +1674,7 @@ fn spawn_event_forwarders( sender_name: msg.sender_name, message: msg.message, target: msg.target, + poke_strength: msg.poke_strength, }); } }); diff --git a/crates/chanora_state/src/lib.rs b/crates/chanora_state/src/lib.rs index 75e618a..5a624ea 100644 --- a/crates/chanora_state/src/lib.rs +++ b/crates/chanora_state/src/lib.rs @@ -615,6 +615,7 @@ mod tests { sender_name: "Alice".into(), message: "hello".into(), target: MessageTarget::Channel, + poke_strength: None, }; let disconnected = reduce(&mut state, StateEvent::ChatReceived(msg.clone())); assert!(disconnected.deltas.is_empty());