Mark MUC to reconnect on error message from it

O01eg
May 9, 2025, 9:03 AM
666UVISNQCHEQPUELPY2FYMKWFISX2VAEME5E7UM65XTUB6JOIJAC

Dependencies

Change contents

  • replacement in src/xmpp/xmpp_connection.rs at line 884
    [2.21643][2.21643:21700]()
    warn!("Incoming message stanza: {:?}", message);
    [2.21643]
    [2.21700]
    match message.type_ {
    xmpp_parsers::message::MessageType::Error => {
    if Self::compare_jid_to_full_jid(&message.to, &self.account.jid) {
    if let Some(room) = self
    .account
    .chatrooms
    .values()
    .find(|j| message.from.as_ref().is_some_and(|ref p| p == j))
    {
    let mut errors = Vec::new();
    for payload in message.payloads.iter() {
    if let Some(_error) = payload.clone().try_into().ok()
    as Option<xmpp_parsers::stanza_error::StanzaError>
    {
    errors.push(_error);
    }
    }
    error!(
    "Got error from MUC {}: errors {:?}. Try again later: {:?}",
    room, errors, message
    );
    self.state.data.error_mucs.insert(room.clone());
    return true;
    }
    }
    error!("Incoming message stanza: {:?}", message);
    }
    _ => warn!("Incoming message stanza: {:?}", message),
    }