Messages fixed

[?]
Feb 18, 2019, 5:59 PM
2VZBEEXAPKTQTRCAODELRMBZLTMS6PMMOGPJ6I7VLWJQAQAKJXDQC

Dependencies

  • [2] YZVEEOYT Update dependencies
  • [3] IK3YDPTY Update deps
  • [4] OB3HA2MD Use Client::new_with_jid to parse jid only once
  • [5] L3D22A5J Prepare to check incoming presence
  • [6] AA2ZWGRL Enter to MUC
  • [7] ACXUIS63 Update dependecies
  • [8] OANBCLN5 Move xmpp client into XmppState
  • [9] QYY3KRGL Use failure instead Box<dyn Error>
  • [10] AYQZ2UIA Update deps
  • [11] X6L47BHQ Use different structure for established xmpp connection
  • [12] 5IKA4GO7 Rename xmpp client field from "inner" to "client"
  • [13] RGOSS73U Convert self-presence to xmpp_parser's type
  • [14] EOHEZXX3 Move request processing to structure
  • [15] J7VX56FW ToDo
  • [16] 5OBTKGDL Update deps
  • [17] QWE26TMV update deps
  • [18] NDDQQP2P Update deps
  • [19] OGMBXBKP Move online to XmppConnection
  • [20] TDOR5XQU Accept destination
  • [21] HU3NZX5Z Process self-presence via new processing code
  • [22] 5Y6YJ6UH Add shutdown function to make actions before offline
  • [23] V5HDBSZM Use jid for receiver address
  • [24] WBU7UOQW Read chatroom from config
  • [25] VS6AHRWI Move XMPP to separate dir
  • [26] BWDUANCV Second part of processing result is only about stop_future
  • [27] SYH7UQP6 Make xmpp command enum to allow different commands Save subscription ask status. Don't ask if already requested subscription.
  • [28] ZI4GJ72V Add message to xmpp command
  • [29] 5A5UVGNM Move receiver closing logic out of xmpp processing
  • [*] FVVPKFTL Initial commit

Change contents

  • replacement in src/xmpp/mod.rs at line 15
    [3.1300][3.974:1065]()
    roster: HashMap<xmpp_parsers::Jid, (xmpp_parsers::roster::Subscription, Vec<String>)>,
    [3.1300]
    [3.1391]
    roster: HashMap<
    xmpp_parsers::Jid,
    (
    xmpp_parsers::roster::Subscription,
    xmpp_parsers::roster::Ask,
    ),
    >,
  • replacement in src/xmpp/mod.rs at line 24
    [3.1431][3.1431:1542](),[3.1431][3.1431:1542](),[3.1431][3.1431:1542](),[3.1431][3.1431:1542](),[3.1431][3.1431:1542](),[3.1431][3.1431:1542](),[3.1542][3.1066:1140]()
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    /// map from id of adding item to roster and jid of item and message text
    pending_add_roster_ids: HashMap<String, (xmpp_parsers::Jid, String)>,
    [3.1431]
    [3.1616]
    /// map from id of adding item to roster and jid of item
    pending_add_roster_ids: HashMap<String, xmpp_parsers::Jid>,
  • replacement in src/xmpp/mod.rs at line 28
    [3.1684][3.1684:1786](),[3.1684][3.1684:1786](),[3.1684][3.1684:1786](),[3.1684][3.1684:1786](),[3.1684][3.1684:1786]()
    ================================
    id_init_roster: Option<String>,
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    [3.1684]
    [3.1786]
    /// outgoing mailbox
    outgoing_mailbox: HashMap<xmpp_parsers::Jid, Vec<String>>,
  • replacement in src/xmpp/mod.rs at line 160
    [3.4888][3.3256:3315]()
    if let Some((_, (jid, message))) =
    [3.4888]
    [3.4947]
    if let Some((_, jid)) =
  • replacement in src/xmpp/mod.rs at line 164
    [3.5147][3.557:627](),[3.627][3.3316:3475]()
    info!("Jid {} added to roster", jid);
    if let Some(ref mut rdata) = self.state.data.roster.get_mut(&jid) {
    rdata.1.push(message);
    [3.5147]
    [3.3475]
    if self.state.data.roster.contains_key(&jid) {
    info!("Jid {} updated to roster", jid);
  • edit in src/xmpp/mod.rs at line 167
    [3.3516]
    [3.3516]
    info!("Jid {} added in roster", jid);
  • replacement in src/xmpp/mod.rs at line 169
    [3.3583][3.3583:3727]()
    jid,
    (xmpp_parsers::roster::Subscription::None, vec![message]),
    [3.3583]
    [3.3727]
    jid.clone(),
    (
    xmpp_parsers::roster::Subscription::None,
    xmpp_parsers::roster::Ask::None,
    ),
  • replacement in src/xmpp/mod.rs at line 176
    [3.3800][3.3800:3866]()
    // to do send message or subscription
    [3.3800]
    [3.3866]
    self.process_jid(&jid);
  • replacement in src/xmpp/mod.rs at line 194
    [3.4435][3.4435:5885]()
    if !rdata.1.is_empty() {
    let sub_to = match rdata.0 {
    xmpp_parsers::roster::Subscription::To => true,
    xmpp_parsers::roster::Subscription::Both => true,
    _ => false,
    };
    if sub_to {
    info!("Subscribed to {}", i.jid);
    let jid = i.jid.clone();
    self.state.data.send_queue.extend(
    rdata.1.drain(..).map(|message| {
    stanzas::make_chat_message(jid.clone(), message)
    }),
    )
    } else {
    info!("Not subscribed to {}", i.jid);
    self.state
    .data
    .send_queue
    .push_back(stanzas::make_ask_subscribe(i.jid));
    }
    }
    [3.4435]
    [3.5885]
    rdata.1 = i.ask;
  • replacement in src/xmpp/mod.rs at line 200
    [3.6068][3.6068:6150]()
    .insert(i.jid, (i.subscription, vec![]));
    [3.6068]
    [3.6150]
    .insert(i.jid.clone(), (i.subscription, i.ask));
  • edit in src/xmpp/mod.rs at line 202
    [3.6184]
    [3.6184]
    self.process_jid(&i.jid);
  • replacement in src/xmpp/mod.rs at line 393
    [3.16485][3.16485:16562]()
    fn process_initial_roster(&mut self, event: Event) -> Result<bool, ()> {
    [3.16485]
    [3.16562]
    fn process_initial_roster(&mut self, event: Event, id_init_roster: &str) -> Result<bool, ()> {
  • replacement in src/xmpp/mod.rs at line 399
    [3.16781][3.16781:16853]()
    if Some(id) == self.state.data.id_init_roster {
    [3.16781]
    [3.16853]
    if id == id_init_roster {
  • replacement in src/xmpp/mod.rs at line 417
    [3.11324][3.11324:11418]()
    .insert(i.jid, (i.subscription, vec![]));
    [3.11324]
    [3.18005]
    .insert(i.jid, (i.subscription, i.ask));
  • edit in src/xmpp/mod.rs at line 465
    [3.19589][3.19589:19641]()
    data.id_init_roster = Some(id_init_roster);
  • replacement in src/xmpp/mod.rs at line 479
    [3.20084][3.20084:20165](),[3.20084][3.20084:20165]()
    .processing(XmppConnection::process_initial_roster, stop_future)
    [3.20084]
    [3.20165]
    .processing(
    move |conn, event| conn.process_initial_roster(event, &id_init_roster),
    stop_future,
    )
  • edit in src/xmpp/mod.rs at line 548
    [3.21632]
    [3.21632]
    fn process_jid(&mut self, xmpp_to: &xmpp_parsers::Jid) {
    if let Some(ref mut mailbox) = self.state.data.outgoing_mailbox.get_mut(xmpp_to) {
    if !mailbox.is_empty() {
    if let Some(ref mut rdata) = self.state.data.roster.get_mut(xmpp_to) {
    info!("Jid {} in roster", xmpp_to);
    let sub_to = match rdata.0 {
    xmpp_parsers::roster::Subscription::To => true,
    xmpp_parsers::roster::Subscription::Both => true,
    _ => false,
    };
    if sub_to {
    info!("Subscribed to {}", xmpp_to);
    self.state.data.send_queue.extend(
    mailbox.drain(..).map(|message| {
    stanzas::make_chat_message(xmpp_to.clone(), message)
    }),
    );
    } else if rdata.1 == xmpp_parsers::roster::Ask::None {
    info!("Not subscribed to {}", xmpp_to);
    self.state
    .data
    .send_queue
    .push_back(stanzas::make_ask_subscribe(xmpp_to.clone()));
    }
    } else {
    info!("Jid {} not in roster", xmpp_to);
    self.state.data.counter += 1;
    let id_add_roster = format!("id_add_roster{}", self.state.data.counter);
    let add_roster = stanzas::make_add_roster(&id_add_roster, xmpp_to.clone());
    self.state
    .data
    .pending_add_roster_ids
    .insert(id_add_roster, xmpp_to.clone());
    info!("Adding jid to roster... {:?}", add_roster);
    self.state.data.send_queue.push_back(add_roster);
    }
    }
    }
    }
  • replacement in src/xmpp/mod.rs at line 592
    [3.21716][3.11511:11595](),[3.11595][3.2920:2972](),[3.2920][3.2920:2972](),[3.2972][3.11596:12185]()
    if let Some(ref mut rdata) = self.state.data.roster.get_mut(&cmd.xmpp_to) {
    info!("Jid {} in roster", cmd.xmpp_to);
    let sub_to = match rdata.0 {
    xmpp_parsers::roster::Subscription::To => true,
    xmpp_parsers::roster::Subscription::Both => true,
    _ => false,
    };
    if sub_to {
    info!("Subscribed to {}", cmd.xmpp_to);
    self.state
    .data
    .send_queue
    .push_back(stanzas::make_chat_message(cmd.xmpp_to, cmd.message));
    } else {
    info!("Not subscribed to {}", cmd.xmpp_to);
    rdata.1.push(cmd.message);
    [3.21716]
    [3.12185]
    match cmd {
    XmppCommand::Chat { xmpp_to, message } => {
  • replacement in src/xmpp/mod.rs at line 596
    [3.12238][3.12238:12344]()
    .send_queue
    .push_back(stanzas::make_ask_subscribe(cmd.xmpp_to));
    [3.12238]
    [3.12344]
    .outgoing_mailbox
    .entry(xmpp_to.clone())
    .or_default()
    .push(message);
    self.process_jid(&xmpp_to);
  • edit in src/xmpp/mod.rs at line 602
    [3.12358][3.2972:3045](),[3.2972][3.2972:3045](),[3.4709][3.22687:22688](),[3.3045][3.22687:22688](),[3.22687][3.22687:22688](),[3.22688][3.3046:3481](),[3.5197][3.23123:23124](),[3.3481][3.23123:23124](),[3.23123][3.23123:23124](),[3.23124][3.3482:3544]()
    } else {
    info!("Jid {} not in roster", cmd.xmpp_to);
    self.state.data.counter += 1;
    let id_add_roster = format!("id_add_roster{}", self.state.data.counter);
    let add_roster = stanzas::make_add_roster(&id_add_roster, cmd.xmpp_to.clone());
    self.state
    .data
    .pending_add_roster_ids
    .insert(id_add_roster, (cmd.xmpp_to, cmd.message));
    info!("Adding jid to roster... {:?}", add_roster);
    self.state.data.send_queue.push_back(add_roster);
  • replacement in src/xmpp/mod.rs at line 652
    [3.60][3.13785:13871]()
    pub struct XmppCommand {
    pub xmpp_to: xmpp_parsers::Jid,
    pub message: String,
    [3.60]
    [3.13871]
    pub enum XmppCommand {
    Chat {
    xmpp_to: xmpp_parsers::Jid,
    message: String,
    },
  • replacement in src/main.rs at line 90
    [3.16148][3.16148:16228]()
    .send(XmppCommand { xmpp_to, message })
    [3.16148]
    [3.16228]
    .send(XmppCommand::Chat { xmpp_to, message })
  • replacement in Cargo.lock at line 10
    [3.6577][2.0:19]()
    version = "0.6.10"
    [3.6577]
    [3.6595]
    version = "0.6.9"
  • replacement in Cargo.lock at line 13
    [3.6677][2.20:93]()
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.6677]
    [3.6750]
    "memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 100
    [3.10568][2.94:112]()
    version = "0.7.0"
    [3.10568]
    [3.15479]
    version = "0.7.2"
  • replacement in Cargo.lock at line 211
    [3.22121][2.113:189]()
    "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.22121]
    [3.22196]
    "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 221
    [3.22498][2.190:265]()
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.22498]
    [3.34124]
    "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 284
    [3.15825][2.266:285]()
    version = "0.8.16"
    [3.15825]
    [3.15844]
    version = "0.8.15"
  • replacement in Cargo.lock at line 378
    [3.18854][2.286:374]()
    "new_debug_unreachable 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.18854]
    [3.18942]
    "new_debug_unreachable 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 392
    [3.19271][2.375:451]()
    "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.19271]
    [3.19346]
    "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 463
    [3.21397][2.452:472]()
    version = "0.12.24"
    [3.21397]
    [3.21417]
    version = "0.12.23"
  • replacement in Cargo.lock at line 609
    [3.26269][2.473:626]()
    "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_derive 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.26269]
    [3.26422]
    "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 624
    [3.27233][2.627:645]()
    version = "2.2.0"
    [3.27233]
    [3.27251]
    version = "2.1.3"
  • edit in Cargo.lock at line 626
    [3.27316]
    [3.27560]
    dependencies = [
    "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
    "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
  • replacement in Cargo.lock at line 699
    [3.27543][2.646:721]()
    "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.27543]
    [3.30679]
    "tempfile 3.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 714
    [3.31073][2.722:740]()
    version = "1.0.2"
    [3.31073]
    [3.31091]
    version = "1.0.1"
  • edit in Cargo.lock at line 716
    [3.31156]
    [3.31253]
    dependencies = [
    "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
  • replacement in Cargo.lock at line 740
    [3.31727][2.741:760]()
    version = "1.10.0"
    [3.31727]
    [3.31745]
    version = "1.9.0"
  • replacement in Cargo.lock at line 805
    [3.33916][2.761:836]()
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.33916]
    [3.33991]
    "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 885
    [3.35895][2.837:916]()
    "encoding_rs 0.8.16 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.35895]
    [3.29454]
    "encoding_rs 0.8.15 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 888
    [3.11852][2.917:990]()
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.11852]
    [3.36191]
    "memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1038
    [3.14674][2.991:1144]()
    "aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
    "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.14674]
    [3.32456]
    "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    "memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1156
    [3.33476][2.1145:1219]()
    "hyper 0.12.24 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.33476]
    [3.15663]
    "hyper 0.12.23 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1159
    [3.33626][2.1220:1373]()
    "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_derive 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.33626]
    [3.33779]
    "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)",
    "serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1172
    [3.44917][2.1374:1393]()
    version = "1.0.88"
    [3.44917]
    [3.44936]
    version = "1.0.87"
  • replacement in Cargo.lock at line 1177
    [3.45036][2.1394:1413]()
    version = "1.0.88"
    [3.45036]
    [3.45055]
    version = "1.0.87"
  • replacement in Cargo.lock at line 1192
    [3.16584][2.1414:1487]()
    "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.16584]
    [3.45711]
    "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1200
    [3.45841][2.1488:1567]()
    "block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.45841]
    [3.34544]
    "block-buffer 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1211
    [3.46275][2.1568:1647]()
    "block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.46275]
    [3.34796]
    "block-buffer 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1222
    [3.46709][2.1648:1727]()
    "block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.46709]
    [3.35048]
    "block-buffer 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1250
    [3.47552][2.1728:1746]()
    version = "0.6.9"
    [3.47552]
    [3.47570]
    version = "0.6.8"
  • edit in Cargo.lock at line 1252
    [3.47635]
    [3.47732]
    dependencies = [
    "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
  • replacement in Cargo.lock at line 1283
    [3.17022][2.1747:1835]()
    "new_debug_unreachable 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.17022]
    [3.35657]
    "new_debug_unreachable 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1286
    [3.48861][2.1836:1909]()
    "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.48861]
    [3.48934]
    "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1359
    [3.51282][2.1910:1928]()
    version = "3.0.7"
    [3.51282]
    [3.51300]
    version = "3.0.6"
  • replacement in Cargo.lock at line 1432
    [3.53887][2.1929:2005]()
    "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.53887]
    [3.53962]
    "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1513
    [3.57132][2.2006:2082]()
    "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.57132]
    [3.38738]
    "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1568
    [3.20673][2.2083:2159]()
    "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.20673]
    [3.40241]
    "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1653
    [3.63560][2.2160:2233]()
    "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.63560]
    [3.63633]
    "serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1668
    [3.42181][2.2234:2309]()
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.42181]
    [3.64368]
    "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1692
    [3.42823][2.2310:2385]()
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.42823]
    [3.42898]
    "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
  • replacement in Cargo.lock at line 1733
    [3.43202][2.2386:2461]()
    "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
    [3.43202]
    [3.43277]
    "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
  • edit in Cargo.lock at line 1752
    [3.67118]
    [3.67325]
    name = "unreachable"
    version = "1.0.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    dependencies = [
    "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
    ]
    [[package]]
  • edit in Cargo.lock at line 1787
    [3.68055]
    [3.68284]
    source = "registry+https://github.com/rust-lang/crates.io-index"
    [[package]]
    name = "void"
    version = "1.0.2"
  • replacement in Cargo.lock at line 1910
    [3.44379][2.2462:2618]()
    "checksum aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5"
    [3.44379]
    [3.72272]
    "checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
  • replacement in Cargo.lock at line 1921
    [3.45444][2.2619:2774]()
    "checksum block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49665c62e0e700857531fa5d3763e91b539ff1abeebd56808d378b495870d60d"
    [3.45444]
    [3.45599]
    "checksum block-buffer 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "509de513cca6d92b6aacf9c61acfe7eaa160837323a81068d690cc1f8e5740da"
  • replacement in Cargo.lock at line 1942
    [3.47297][2.2775:2930]()
    "checksum encoding_rs 0.8.16 (registry+https://github.com/rust-lang/crates.io-index)" = "0535f350c60aac0b87ccf28319abc749391e912192255b0c00a2c12c6917bd73"
    [3.47297]
    [3.24788]
    "checksum encoding_rs 0.8.15 (registry+https://github.com/rust-lang/crates.io-index)" = "fd251508d65030820f3a4317af2248180db337fdb25d89967956242580277813"
  • replacement in Cargo.lock at line 1964
    [3.25390][2.2931:3081]()
    "checksum hyper 0.12.24 (registry+https://github.com/rust-lang/crates.io-index)" = "fdfa9b401ef6c4229745bb6e9b2529192d07b920eed624cdee2a82348cd550af"
    [3.25390]
    [3.80368]
    "checksum hyper 0.12.23 (registry+https://github.com/rust-lang/crates.io-index)" = "860faf61a9957c9cb0e23e69f1c8290e92f6eb660fcdd1f2d6777043a2ae1a46"
  • replacement in Cargo.lock at line 1983
    [3.83072][2.3082:3231]()
    "checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
    [3.83072]
    [3.83221]
    "checksum memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e1dd4eaac298c32ce07eb6ed9242eda7d82955b9170b7d6db59b2e02cc63fcb8"
  • replacement in Cargo.lock at line 1991
    [3.84268][2.3232:3396]()
    "checksum new_debug_unreachable 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fe2deb65e9f08f6540e6766481b9dc3a36e73d2fdb96e82bc3cd56353fafe90a"
    [3.84268]
    [3.26595]
    "checksum new_debug_unreachable 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0cdc457076c78ab54d5e0d6fa7c47981757f1e34dc39ff92787f217dede586c4"
  • replacement in Cargo.lock at line 1995
    [3.84890][2.3397:3549]()
    "checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
    [3.84890]
    [3.49573]
    "checksum num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5a69d464bdc213aaaff628444e99578ede64e9c854025aa43b9796530afa9238"
  • replacement in Cargo.lock at line 2044
    [3.91943][2.3550:3855]()
    "checksum serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)" = "9f301d728f2b94c9a7691c90f07b0b4e8a4517181d9461be94c04bddeb4bd850"
    "checksum serde_derive 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)" = "beed18e6f5175aef3ba670e57c60ef3b1b74d250d962a26604bff4c80e970dd4"
    [3.91943]
    [3.54491]
    "checksum serde 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)" = "2e20fde37801e83c891a2dc4ebd3b81f0da4d1fb67a9e0a2a3b921e2536a58ee"
    "checksum serde_derive 1.0.87 (registry+https://github.com/rust-lang/crates.io-index)" = "633e97856567e518b59ffb2ad7c7a4fd4c5d91d9c7f32dd38a27b2bf7e8114ea"
  • replacement in Cargo.lock at line 2053
    [3.55389][2.3856:4007]()
    "checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be"
    [3.55389]
    [3.93448]
    "checksum smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "88aea073965ab29f6edb5493faf96ad662fb18aa9eeb186a3b7057951605ed15"
  • replacement in Cargo.lock at line 2066
    [3.29644][2.4008:4159]()
    "checksum tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b86c784c88d98c801132806dadd3819ed29d8600836c4088e855cdf3e178ed8a"
    [3.29644]
    [3.56141]
    "checksum tempfile 3.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "37daa55a7240c4931c84559f03b3cad7d19535840d1c4a0cc4e9b2fb0dcf70ff"
  • edit in Cargo.lock at line 2102
    [3.100517]
    [3.31807]
    "checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
  • edit in Cargo.lock at line 2108
    [3.101417]
    [3.101720]
    "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"