From 201ff8c1851c10eea5dfd091d7db963917ddf601 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Mon, 6 Apr 2020 11:38:46 +0200 Subject: [PATCH] Update dependencies --- Cargo.toml | 16 ++++++++-------- examples/message_log.rs | 5 +++-- src/error.rs | 12 ++++++++---- src/lib.rs | 14 ++++---------- 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2fea7843..bb2dd0b7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,20 +18,20 @@ version = "0.3.0" [dependencies] futures-core = "0.3.4" futures-util = "0.3.4" -http = "0.2.0" -hyper = "0.13.2" +http = "0.2.1" +hyper = "0.13.4" hyper-tls = { version = "0.4.1", optional = true } -ruma-api = "0.13.0" -ruma-client-api = "0.6.0" -ruma-events = "0.15.1" +ruma-api = "0.15.0" +ruma-client-api = "0.7.1" +ruma-events = "0.18.0" ruma-identifiers = "0.14.1" -serde = { version = "1.0.104", features = ["derive"] } -serde_json = "1.0.47" +serde = { version = "1.0.106", features = ["derive"] } +serde_json = "1.0.51" serde_urlencoded = "0.6.1" url = "2.1.1" [dev-dependencies] -tokio = { version = "0.2.11", features = ["macros"] } +tokio = { version = "0.2.16", features = ["macros"] } [features] default = ["tls"] diff --git a/examples/message_log.rs b/examples/message_log.rs index d010967c..44a63801 100644 --- a/examples/message_log.rs +++ b/examples/message_log.rs @@ -3,6 +3,7 @@ use std::{env, process::exit}; use futures_util::stream::{StreamExt as _, TryStreamExt as _}; use ruma_client::{ self, + api::r0::sync::sync_events::SetPresence, events::{ collections::all::RoomEvent, room::message::{MessageEvent, MessageEventContent, TextMessageEventContent}, @@ -23,8 +24,8 @@ async fn log_messages( // TODO: This is a horrible way to obtain an initial next_batch token that generates way too // much server load and network traffic. Fix this! - // vvvvvvvv Skip initial sync reponse - let mut sync_stream = Box::pin(client.sync(None, None, false).skip(1)); + // Skip initial sync reponse vvvvvvvv + let mut sync_stream = Box::pin(client.sync(None, None, SetPresence::Online).skip(1)); while let Some(res) = sync_stream.try_next().await? { // Only look at rooms the user hasn't left yet diff --git a/src/error.rs b/src/error.rs index ba71344a..6e96f486 100644 --- a/src/error.rs +++ b/src/error.rs @@ -5,6 +5,8 @@ use std::fmt::{Display, Formatter, Result as FmtResult}; use ruma_api::error::{FromHttpResponseError, IntoHttpError}; +use crate::api; + /// An error that can occur during client operations. #[derive(Debug)] #[non_exhaustive] @@ -18,7 +20,7 @@ pub enum Error { /// Couldn't obtain an HTTP response (e.g. due to network or DNS issues). Response(ResponseError), /// Converting the HTTP response to one of ruma's types failed. - FromHttpResponse(FromHttpResponseError), + FromHttpResponse(FromHttpResponseError), } impl Display for Error { @@ -30,7 +32,9 @@ impl Display for Error { Self::IntoHttp(err) => write!(f, "HTTP request construction failed: {}", err), Self::Url(UrlError(err)) => write!(f, "Invalid URL: {}", err), Self::Response(ResponseError(err)) => write!(f, "Couldn't obtain a response: {}", err), - Self::FromHttpResponse(err) => write!(f, "HTTP response conversion failed: {}", err), + // FIXME: ruma-client-api's Error type currently doesn't implement + // `Display`, update this when it does. + Self::FromHttpResponse(_) => write!(f, "HTTP response conversion failed"), } } } @@ -55,8 +59,8 @@ impl From for Error { } } -impl From for Error { - fn from(err: FromHttpResponseError) -> Self { +impl From> for Error { + fn from(err: FromHttpResponseError) -> Self { Error::FromHttpResponse(err) } } diff --git a/src/lib.rs b/src/lib.rs index b71593e1..a0f36f39 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -297,18 +297,12 @@ where &self, filter: Option, since: Option, - set_presence: bool, + set_presence: api::r0::sync::sync_events::SetPresence, ) -> impl Stream> + TryStream { use api::r0::sync::sync_events; let client = self.clone(); - let set_presence = if set_presence { - None - } else { - Some(sync_events::SetPresence::Offline) - }; - stream::try_unfold(since, move |since| { let client = client.clone(); let filter = filter.clone(); @@ -318,7 +312,7 @@ where .request(sync_events::Request { filter, since, - full_state: None, + full_state: false, set_presence, timeout: None, }) @@ -331,7 +325,7 @@ where } /// Makes a request to a Matrix API endpoint. - pub fn request( + pub fn request>( &self, request: Request, ) -> impl Future::Incoming, Error>> @@ -340,7 +334,7 @@ where where Request::Incoming: TryFrom>, Error = FromHttpRequestError>, ::Incoming: - TryFrom>, Error = FromHttpResponseError>, + TryFrom>, Error = FromHttpResponseError>, { let client = self.0.clone();