Send id and receipts with message

[?]
Dec 13, 2020, 9:10 PM
ZDGCVSXJL7OKUEVXOQAOLS3A3QYY7NN5BFFZWTABKXI7G3R74JAAC

Dependencies

  • [2] EKBSFYEF Make mailbox based on bare jid because of roster
  • [3] 5YFY3WZ3 Trying to send messages and ask subscription
  • [4] FZBPGF6X Describe ping
  • [5] UL67RM6X Re-implement sending message
  • [6] 6G4QYIBF Update and try to send messages if recipient doesn't answer
  • [7] 3RMEABMU Prepare to add HTTP API to ping cutom jids
  • [8] TGO4TIWU Fix README

Change contents

  • replacement in src/xmpp/xmpp_connection.rs at line 229
    [4.5859][4.5859:5884](),[4.5884][2.50:138]()
    /// outgoing mailbox
    outgoing_mailbox: HashMap<xmpp_parsers::BareJid, Vec<(String, xmpp_parsers::Jid)>>,
    [4.5859]
    [4.5947]
    /// outgoing mailbox: bare jid to message, fulljid, id
    outgoing_mailbox: HashMap<xmpp_parsers::BareJid, Vec<(String, xmpp_parsers::Jid, String)>>,
  • edit in src/xmpp/xmpp_connection.rs at line 948
    [4.70]
    [2.139]
    self.state.data.counter += 1;
    let id_send_message = format!("id_send_message{}", self.state.data.counter);
  • replacement in src/xmpp/xmpp_connection.rs at line 956
    [4.239][2.272:319]()
    .push((message, xmpp_to));
    [4.239]
    [2.319]
    .push((message, xmpp_to, id_send_message));
  • replacement in src/xmpp/xmpp_connection.rs at line 1007
    [4.1037][4.1037:1096](),[4.1096][2.523:700](),[2.700][4.1275:1302](),[4.1275][4.1275:1302]()
    self.state.data.send_queue.extend(
    mailbox
    .drain(..)
    .map(|message| stanzas::make_chat_message(message.1, message.0)),
    );
    [4.1037]
    [4.1302]
    self.state
    .data
    .send_queue
    .extend(mailbox.drain(..).map(|message| {
    stanzas::make_chat_message(message.2, message.1, message.0)
    }));
  • replacement in src/xmpp/xmpp_connection.rs at line 1030
    [3.27][3.27:263](),[3.263][4.198:225](),[4.198][4.198:225]()
    self.state.data.send_queue.extend(
    mailbox
    .drain(..)
    .map(|message| stanzas::make_chat_message(message.1, message.0)),
    );
    [3.27]
    [3.264]
    self.state
    .data
    .send_queue
    .extend(mailbox.drain(..).map(|message| {
    stanzas::make_chat_message(message.2, message.1, message.0)
    }));
  • replacement in src/xmpp/stanzas.rs at line 73
    [4.34640][4.34640:34716]()
    pub fn make_chat_message(jid: xmpp_parsers::Jid, text: String) -> Element {
    [4.34640]
    [4.34716]
    pub fn make_chat_message(id: String, jid: xmpp_parsers::Jid, text: String) -> Element {
  • edit in src/xmpp/stanzas.rs at line 75
    [4.34763]
    [4.34763]
    message.id = Some(id);
  • edit in src/xmpp/stanzas.rs at line 78
    [4.34856]
    [4.34856]
    message
    .payloads
    .push(xmpp_parsers::receipts::Request {}.into());