Fill roster

[?]
Dec 31, 2018, 7:15 PM
WJNXI6Z4NH5YEBDS4F6FY5AI5GNXNITC4IJZVWOESTVLOV667AHQC

Dependencies

  • [2] UWY5EVZ6 Add dummy roster data
  • [3] 4LRBIGVT Show info about xmpp errors
  • [4] ALP2YJIU Rename XmppState to XmppProcessState
  • [5] OANBCLN5 Move xmpp client into XmppState
  • [6] QWE26TMV update deps
  • [7] X6L47BHQ Use different structure for established xmpp connection
  • [8] AYQZ2UIA Update deps
  • [9] PBRUH4BJ Rename optional XmppConnection to MaybeXmppConnection
  • [10] O2GM5J4F Don't split xmpp receiving and sending
  • [11] FV6BJ5K6 Send self-presence and store account info in Rc so it willbe used in some future in parallel
  • [12] NDDQQP2P Update deps
  • [13] OGMBXBKP Move online to XmppConnection
  • [14] 5IKA4GO7 Rename xmpp client field from "inner" to "client"
  • [15] PVCRPP3B Some servers don't send to in initial presence
  • [16] VS6AHRWI Move XMPP to separate dir
  • [17] HU3NZX5Z Process self-presence via new processing code
  • [18] AGIW6YR3 Use shared future for signal everywhere
  • [19] IK3YDPTY Update deps
  • [20] XGP44R5H Rework stopping xmpp connection

Change contents

  • edit in src/xmpp/mod.rs at line 7
    [3.48][2.0:32]()
    use std::collections::HashMap;
  • replacement in src/xmpp/mod.rs at line 12
    [3.321][3.321:360](),[3.360][2.33:68](),[2.68][3.360:392](),[3.360][3.360:392]()
    struct XmppState {
    client: Client,
    roster: HashMap<jid::Jid, ()>,
    }
    struct MaybeXmppConnection {
    [3.321]
    [3.354]
    pub struct MaybeXmppConnection {
  • replacement in src/xmpp/mod.rs at line 14
    [3.397][3.393:423]()
    state: Option<XmppState>,
    [3.397]
    [3.425]
    inner: Option<Client>,
  • replacement in src/xmpp/mod.rs at line 17
    [3.106][3.424:448]()
    struct XmppConnection {
    [3.106]
    [3.31]
    pub struct XmppConnection {
  • replacement in src/xmpp/mod.rs at line 19
    [3.74][3.449:471]()
    state: XmppState,
    [3.74]
    [3.448]
    inner: Client,
  • replacement in src/xmpp/mod.rs at line 26
    [3.627][3.472:509]()
    state: Some(from.state),
    [3.627]
    [3.666]
    inner: Some(from.inner),
  • replacement in src/xmpp/mod.rs at line 35
    [3.527][3.510:535]()
    state: None,
    [3.527]
    [3.499]
    inner: None,
  • replacement in src/xmpp/mod.rs at line 50
    [3.690][3.582:641]()
    let MaybeXmppConnection { account, state } = self;
    [3.690]
    [3.744]
    let MaybeXmppConnection { account, inner } = self;
  • replacement in src/xmpp/mod.rs at line 52
    [3.745][3.642:747]()
    if let Some(state) = state {
    Box::new(future::ok(XmppConnection { account, state }))
    [3.745]
    [3.1302]
    if let Some(inner) = inner {
    Box::new(future::ok(XmppConnection { account, inner }))
  • replacement in src/xmpp/mod.rs at line 75
    [3.435][2.69:307]()
    state: XmppState {
    client,
    roster: HashMap::new(),
    },
    [3.435]
    [3.494]
    inner: client,
  • replacement in src/xmpp/mod.rs at line 136
    [3.4612][2.308:534]()
    let XmppConnection {
    state: XmppState { client, roster },
    account,
    } = xmpp;
    client.into_future().select2(stop_future).then(|r| match r {
    [3.4612]
    [2.534]
    let XmppConnection { inner, account } = xmpp;
    inner.into_future().select2(stop_future).then(|r| match r {
  • replacement in src/xmpp/mod.rs at line 141
    [2.708][2.708:777]()
    state: XmppState { client, roster },
    [2.708]
    [2.777]
    inner: client,
  • replacement in src/xmpp/mod.rs at line 159
    [2.1548][2.1548:1611]()
    if let Some(client) = a.into_inner() {
    [2.1548]
    [2.1611]
    if let Some(inner) = a.into_inner() {
  • replacement in src/xmpp/mod.rs at line 161
    [2.1672][2.1672:1874]()
    XmppConnection {
    state: XmppState { client, roster },
    account,
    },
    [2.1672]
    [2.1874]
    XmppConnection { inner, account },
  • edit in src/xmpp/mod.rs at line 167
    [3.4531][2.2059:2248]()
    }
    Err(Either::A((e, b))) => {
    warn!("XMPP error: {}", e.0);
    future::err((account, Ok(Either::A(b))))
  • edit in src/xmpp/mod.rs at line 168
    [2.2270]
    [2.2270]
    Err(Either::A((_e, b))) => future::err((account, Ok(Either::A(b)))),
  • replacement in src/xmpp/mod.rs at line 170
    [2.2318][2.2318:2381]()
    if let Some(client) = a.into_inner() {
    [2.2318]
    [2.2381]
    if let Some(inner) = a.into_inner() {
  • replacement in src/xmpp/mod.rs at line 172
    [2.2442][2.2442:2644]()
    XmppConnection {
    state: XmppState { client, roster },
    account,
    },
    [2.2442]
    [2.2644]
    XmppConnection { inner, account },
  • edit in src/xmpp/mod.rs at line 222
    [3.6307]
    [3.6307]
    self.state.roster.insert(i.jid, ());
  • replacement in src/xmpp/mod.rs at line 255
    [2.2915][2.2915:2964]()
    state: XmppState { client, roster },
    [2.2915]
    [2.2964]
    inner: client,
  • replacement in src/xmpp/mod.rs at line 271
    [3.7838][2.2999:3056]()
    state: XmppState { client, roster },
    [3.7838]
    [3.7887]
    inner: client,
  • replacement in src/xmpp/mod.rs at line 301
    [2.3107][2.3107:3156]()
    state: XmppState { client, roster },
    [2.3107]
    [2.3156]
    inner: client,
  • replacement in src/xmpp/mod.rs at line 317
    [3.9157][2.3191:3248]()
    state: XmppState { client, roster },
    [3.9157]
    [3.9206]
    inner: client,