diff --git a/xmpp/ChangeLog b/xmpp/ChangeLog index 41247abbc958ecac3c1c5a30db518ebc54eafe3c..3ff017db99cf42ecc17715a6f2d856d46b690f70 100644 --- a/xmpp/ChangeLog +++ b/xmpp/ChangeLog @@ -8,6 +8,8 @@ XXXX-YY-ZZ [ RELEASER ] - builder::ClientBuilder::set_default_nick no longer takes a &str, but any type that implements AsRef, such as produced by ResourcePart::new (!485) + - Event::RoomMessage, Event::RoomPrivateMessage, and Event::RoomSubject now + use ResourcePart as sender nickname (!485) * Added: - Agent::send_room_message takes RoomMessageSettings argument (!483) * Fixes: diff --git a/xmpp/src/event.rs b/xmpp/src/event.rs index 60635e89ea421fec5622c6e02d1f08f28b125ba8..916f45aa817632fc5407727c01e58e51a4ffc655 100644 --- a/xmpp/src/event.rs +++ b/xmpp/src/event.rs @@ -4,12 +4,12 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. -use tokio_xmpp::jid::BareJid; #[cfg(feature = "avatars")] use tokio_xmpp::jid::Jid; +use tokio_xmpp::jid::{BareJid, ResourcePart}; use tokio_xmpp::parsers::{message::Body, roster::Item as RosterItem}; -use crate::{delay::StanzaTimeInfo, Error, Id, RoomNick}; +use crate::{delay::StanzaTimeInfo, Error, Id}; #[derive(Debug)] pub enum Event { @@ -28,15 +28,15 @@ pub enum Event { ChatMessage(Id, BareJid, Body, StanzaTimeInfo), RoomJoined(BareJid), RoomLeft(BareJid), - RoomMessage(Id, BareJid, RoomNick, Body, StanzaTimeInfo), + RoomMessage(Id, BareJid, ResourcePart, Body, StanzaTimeInfo), /// The subject of a room was received. /// - The BareJid is the room's address. /// - The RoomNick is the nickname of the room member who set the subject. /// - The String is the new subject. - RoomSubject(BareJid, Option, String, StanzaTimeInfo), + RoomSubject(BareJid, Option, String, StanzaTimeInfo), /// A private message received from a room, containing the message ID, the room's BareJid, /// the sender's nickname, and the message body. - RoomPrivateMessage(Id, BareJid, RoomNick, Body, StanzaTimeInfo), + RoomPrivateMessage(Id, BareJid, ResourcePart, Body, StanzaTimeInfo), ServiceMessage(Id, BareJid, Body, StanzaTimeInfo), HttpUploadedFile(String), } diff --git a/xmpp/src/message/receive/chat.rs b/xmpp/src/message/receive/chat.rs index 343fff029e1eadda4fcf5cd56b8185b9f98d683f..ea80192ac19f61a8c9e6658325758832fad1f1d4 100644 --- a/xmpp/src/message/receive/chat.rs +++ b/xmpp/src/message/receive/chat.rs @@ -38,7 +38,7 @@ pub async fn handle_message_chat( Ok(full) => Event::RoomPrivateMessage( message.id.clone(), full.to_bare(), - full.resource().to_string(), + full.resource().into(), body.clone(), time_info.clone(), ), diff --git a/xmpp/src/message/receive/group_chat.rs b/xmpp/src/message/receive/group_chat.rs index fe4ac46a99731be61104858545d775087fab1e98..a6a05c1c035d093a500d0ab73ddac961ae7fd2e1 100644 --- a/xmpp/src/message/receive/group_chat.rs +++ b/xmpp/src/message/receive/group_chat.rs @@ -20,7 +20,7 @@ pub async fn handle_message_group_chat( if let Some((_lang, subject)) = message.get_best_subject(langs.clone()) { events.push(Event::RoomSubject( from.to_bare(), - from.resource().map(|x| x.to_string()), + from.resource().map(Into::into), subject.0.clone(), time_info.clone(), )); @@ -31,7 +31,7 @@ pub async fn handle_message_group_chat( Ok(full) => Event::RoomMessage( message.id.clone(), from.to_bare(), - full.resource().to_string(), + full.resource().into(), body.clone(), time_info, ),