diff --git a/xmpp/Cargo.toml b/xmpp/Cargo.toml index 406c27ff..79ee241a 100644 --- a/xmpp/Cargo.toml +++ b/xmpp/Cargo.toml @@ -11,7 +11,7 @@ repository = "https://gitlab.com/xmpp-rs/xmpp-rs" keywords = ["xmpp", "jabber", "chat", "messaging", "bot"] categories = ["network-programming"] license = "MPL-2.0" -edition = "2021" +edition = "2024" [dependencies] chrono = "0.4" diff --git a/xmpp/ChangeLog b/xmpp/ChangeLog index a16939a3..1450555f 100644 --- a/xmpp/ChangeLog +++ b/xmpp/ChangeLog @@ -42,6 +42,7 @@ XXXX-YY-ZZ [ RELEASER ] is meant to stay behind a feature. Also allows directly receiving stanzas. - Added documentation on `Event` enum. + - Update to edition 2024 * Fixes: - Use tokio::sync::RwLock not std::sync::RwLock (!432) - The default caps node has been shortened to https://xmpp.rs since we diff --git a/xmpp/examples/hello_bot.rs b/xmpp/examples/hello_bot.rs index 716cf404..ae35e6f6 100644 --- a/xmpp/examples/hello_bot.rs +++ b/xmpp/examples/hello_bot.rs @@ -7,9 +7,9 @@ #[cfg(feature = "rustls-any-backend")] use xmpp::tokio_xmpp::rustls; use xmpp::{ + Agent, ClientBuilder, ClientFeature, ClientType, Event, RoomNick, jid::BareJid, muc::room::{JoinRoomSettings, RoomMessageSettings}, - Agent, ClientBuilder, ClientFeature, ClientType, Event, RoomNick, }; use tokio::signal::ctrl_c; @@ -21,7 +21,9 @@ use std::str::FromStr; feature = "rustls-any-backend", not(any(feature = "aws_lc_rs", feature = "ring")) ))] -compile_error!("using rustls (e.g. via the ktls feature) needs an enabled rustls backend feature (either aws_lc_rs or ring)."); +compile_error!( + "using rustls (e.g. via the ktls feature) needs an enabled rustls backend feature (either aws_lc_rs or ring)." +); #[tokio::main] async fn main() -> Result<(), Option<()>> { diff --git a/xmpp/src/agent.rs b/xmpp/src/agent.rs index 1cf71eff..1d613d41 100644 --- a/xmpp/src/agent.rs +++ b/xmpp/src/agent.rs @@ -12,15 +12,15 @@ use tokio::io; use tokio::sync::RwLock; use crate::{ - event_loop, + Error, Event, RoomNick, event_loop, jid::{BareJid, Jid}, message, muc, parsers::disco::DiscoInfoResult, - upload, Error, Event, RoomNick, + upload, }; use tokio_xmpp::Client as TokioXmppClient; #[cfg(feature = "escape-hatch")] -use tokio_xmpp::{stanzastream::StanzaToken, Stanza}; +use tokio_xmpp::{Stanza, stanzastream::StanzaToken}; pub struct Agent { pub(crate) client: TokioXmppClient, diff --git a/xmpp/src/builder.rs b/xmpp/src/builder.rs index f8fdee3e..a05483d4 100644 --- a/xmpp/src/builder.rs +++ b/xmpp/src/builder.rs @@ -9,13 +9,13 @@ use crate::tokio_xmpp::connect::{DnsConfig, StartTlsServerConnector}; use core::str::FromStr; use crate::{ + Agent, ClientFeature, RoomNick, jid::{BareJid, Jid, ResourceRef}, parsers::{ disco::{DiscoInfoResult, Feature, Identity}, ns, }, - tokio_xmpp::{connect::ServerConnector, xmlstream::Timeouts, Client as TokioXmppClient}, - Agent, ClientFeature, RoomNick, + tokio_xmpp::{Client as TokioXmppClient, connect::ServerConnector, xmlstream::Timeouts}, }; #[derive(Debug)] diff --git a/xmpp/src/delay.rs b/xmpp/src/delay.rs index 24982fe1..f094c654 100644 --- a/xmpp/src/delay.rs +++ b/xmpp/src/delay.rs @@ -49,10 +49,10 @@ pub fn message_time_info(message: &Message) -> StanzaTimeInfo { match Delay::try_from(payload.clone()) { Ok(delay) => delays.push(delay), Err(e) => { - error!("Wrong format in payload from {}:{}\n{:?}\nUsing received time only.", - message.from.as_ref().unwrap().to_owned(), - e, - payload); + error!( + "Wrong format in payload from {}:{e}\n{payload:?}\nUsing received time only.", + message.from.as_ref().unwrap().to_owned() + ); } } } diff --git a/xmpp/src/event.rs b/xmpp/src/event.rs index 282aabc1..dec42259 100644 --- a/xmpp/src/event.rs +++ b/xmpp/src/event.rs @@ -12,7 +12,7 @@ use tokio_xmpp::parsers::roster::Item as RosterItem; use tokio_xmpp::parsers::{iq::Iq, message::Message, presence::Presence}; use crate::parsers::confirm::Confirm; -use crate::{delay::StanzaTimeInfo, Error, MessageId, RoomNick}; +use crate::{Error, MessageId, RoomNick, delay::StanzaTimeInfo}; /// An Event notifying the client something has happened that may require attention. /// diff --git a/xmpp/src/event_loop.rs b/xmpp/src/event_loop.rs index 54f2fc36..9476f887 100644 --- a/xmpp/src/event_loop.rs +++ b/xmpp/src/event_loop.rs @@ -6,11 +6,11 @@ use futures::StreamExt; use tokio_xmpp::{ - parsers::{disco::DiscoInfoQuery, iq::Iq, roster::Roster}, Event as TokioXmppEvent, Stanza, + parsers::{disco::DiscoInfoQuery, iq::Iq, roster::Roster}, }; -use crate::{iq, message, presence, Agent, Event}; +use crate::{Agent, Event, iq, message, presence}; /// Wait for new events, or Error::Disconnected when stream is closed and will not reconnect. pub async fn wait_for_events(agent: &mut Agent) -> Vec { diff --git a/xmpp/src/iq/result.rs b/xmpp/src/iq/result.rs index 78c41a4f..7c101e2a 100644 --- a/xmpp/src/iq/result.rs +++ b/xmpp/src/iq/result.rs @@ -5,12 +5,12 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. use crate::{ - disco, + Agent, Event, RoomNick, disco, jid::Jid, minidom::Element, muc::room::JoinRoomSettings, parsers::{disco::DiscoInfoResult, ns, private::Query as PrivateXMLQuery, roster::Roster}, - pubsub, upload, Agent, Event, RoomNick, + pubsub, upload, }; pub async fn handle_iq_result( diff --git a/xmpp/src/message/receive/chat.rs b/xmpp/src/message/receive/chat.rs index 39c23212..706d8614 100644 --- a/xmpp/src/message/receive/chat.rs +++ b/xmpp/src/message/receive/chat.rs @@ -9,7 +9,7 @@ use tokio_xmpp::{ parsers::{confirm::Confirm, message::Message, message_correct::Replace, muc::user::MucUser}, }; -use crate::{delay::StanzaTimeInfo, Agent, Event, RoomNick}; +use crate::{Agent, Event, RoomNick, delay::StanzaTimeInfo}; pub async fn handle_message_chat( agent: &mut Agent, @@ -43,7 +43,9 @@ pub async fn handle_message_chat( if is_muc_pm { if from.resource().is_none() { - warn!("Received malformed MessageType::Chat in muc#user namespace from a bare JID:\n{:#?}", message); + warn!( + "Received malformed MessageType::Chat in muc#user namespace from a bare JID:\n{message:#?}" + ); } else { let full_from = from.clone().try_into_full().unwrap(); diff --git a/xmpp/src/message/receive/group_chat.rs b/xmpp/src/message/receive/group_chat.rs index da171305..5e5722b0 100644 --- a/xmpp/src/message/receive/group_chat.rs +++ b/xmpp/src/message/receive/group_chat.rs @@ -5,10 +5,10 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. use crate::{ + Agent, Event, RoomNick, delay::StanzaTimeInfo, jid::Jid, parsers::{message::Message, message_correct::Replace}, - Agent, Event, RoomNick, }; pub async fn handle_message_group_chat( diff --git a/xmpp/src/message/receive/mod.rs b/xmpp/src/message/receive/mod.rs index 815f2900..d5e6b183 100644 --- a/xmpp/src/message/receive/mod.rs +++ b/xmpp/src/message/receive/mod.rs @@ -9,7 +9,7 @@ use tokio_xmpp::parsers::{ ns, }; -use crate::{delay::message_time_info, pubsub, Agent, Event}; +use crate::{Agent, Event, delay::message_time_info, pubsub}; pub mod chat; pub mod group_chat; diff --git a/xmpp/src/muc/private_message.rs b/xmpp/src/muc/private_message.rs index 13929f42..4be270a3 100644 --- a/xmpp/src/muc/private_message.rs +++ b/xmpp/src/muc/private_message.rs @@ -5,10 +5,10 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. use crate::{ + Agent, RoomNick, jid::{BareJid, Jid}, message::send::RawMessageSettings, parsers::{message::MessageType, muc::user::MucUser}, - Agent, RoomNick, }; #[derive(Clone, Debug)] diff --git a/xmpp/src/muc/room.rs b/xmpp/src/muc/room.rs index 2d50b24a..bf73ac83 100644 --- a/xmpp/src/muc/room.rs +++ b/xmpp/src/muc/room.rs @@ -5,6 +5,7 @@ // file, You can obtain one at http://mozilla.org/MPL/2.0/. use crate::{ + Agent, RoomNick, jid::{BareJid, ResourceRef}, message::send::RawMessageSettings, parsers::{ @@ -12,7 +13,6 @@ use crate::{ muc::Muc, presence::{Presence, Type as PresenceType}, }, - Agent, RoomNick, }; #[derive(Clone, Debug)] diff --git a/xmpp/src/presence/receive.rs b/xmpp/src/presence/receive.rs index 3fcf071a..5b182f04 100644 --- a/xmpp/src/presence/receive.rs +++ b/xmpp/src/presence/receive.rs @@ -38,7 +38,10 @@ pub async fn handle_presence(agent: &mut Agent, presence: Presence) -> Vec Vec