diff --git a/libsignal-service-actix/Cargo.toml b/libsignal-service-actix/Cargo.toml index aff78af24..eb89fbe4e 100644 --- a/libsignal-service-actix/Cargo.toml +++ b/libsignal-service-actix/Cargo.toml @@ -10,18 +10,18 @@ edition = "2018" libsignal-service = { path = "../libsignal-service" } libsignal-protocol = { git = "https://github.com/Michael-F-Bryan/libsignal-protocol-rs" } -awc = { version = "2.0.0", features=["rustls"] } -actix = "0.10.0" -actix-http = "2.1.0" -actix-rt = "1.1" -mpart-async = "0.4.2" +awc = { version = "3.0.0-beta.1", features=["rustls"] } +actix = "0.11.0-beta.1" +actix-http = "3.0.0-beta.1" +actix-rt = "2.0.0-beta.1" +mpart-async = "0.5.0" serde_json = "1.0" futures = "0.3" -bytes = "0.5" -rustls = "0.18" +bytes = "1" +rustls = "0.19" url = "2.1" serde = "1.0" -log = "0.4.8" +log = "0.4" rand = "0.8" failure = "0.1.5" @@ -36,4 +36,4 @@ opener = "0.4" qrcode = "0.12" rand = "0.8" structopt = "0.3" -tokio = { version = "0.2", features=["macros"] } +tokio = { version = "1", features=["macros"] } diff --git a/libsignal-service-actix/src/websocket.rs b/libsignal-service-actix/src/websocket.rs index 4ec02b5d9..1208f8728 100644 --- a/libsignal-service-actix/src/websocket.rs +++ b/libsignal-service-actix/src/websocket.rs @@ -67,12 +67,13 @@ where let mut ka_interval = actix::clock::interval_at( actix::clock::Instant::now(), push_service::KEEPALIVE_TIMEOUT_SECONDS, - ) - .fuse(); + ); loop { + let tick = ka_interval.tick().fuse(); + futures::pin_mut!(tick); futures::select! { - _ = ka_interval.next() => { + _ = tick => { log::trace!("Triggering keep-alive"); if let Err(e) = incoming_sink.send(WebSocketStreamItem::KeepAliveRequest).await { log::info!("Websocket sink has closed: {:?}.", e); diff --git a/libsignal-service/Cargo.toml b/libsignal-service/Cargo.toml index 35dda5ebe..22c3ce6e6 100644 --- a/libsignal-service/Cargo.toml +++ b/libsignal-service/Cargo.toml @@ -11,14 +11,14 @@ libsignal-protocol = { git = "https://github.com/Michael-F-Bryan/libsignal-proto async-trait = "0.1.30" url = { version = "2.1.1", features = ["serde"] } base64 = "0.13" -chrono = { version = "0.4", features = ["serde"] } -bytes = "0.5" +bytes = "1" futures = "0.3" pin-project = "1.0" thiserror = "1.0" -serde = { version = "1.0", features=["derive"] } -prost = "0.6" -http = "0.2.1" +serde = {version = "1.0", features=["derive"]} +prost = "0.7" +http = "0.2.2" +chrono = { version = "0.4", features = ["serde"] } log = "0.4.8" sha2 = "0.9.0" @@ -30,7 +30,7 @@ block-modes = "0.7.0" rand = "0.8.0" [build-dependencies] -prost-build = "0.6" +prost-build = "0.7" [dev-dependencies] anyhow = "1.0"