Compare commits
No commits in common. "65c4654e7208924ad5fba348e80756f36bf2aaeb" and "709b4a1d0d5ef8b8ae32bf89b4737cf9db1d6043" have entirely different histories.
65c4654e72
...
709b4a1d0d
11
Cargo.lock
generated
11
Cargo.lock
generated
@ -4571,15 +4571,6 @@ version = "1.3.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "signal-hook-registry"
|
|
||||||
version = "1.4.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "signature"
|
name = "signature"
|
||||||
version = "2.2.0"
|
version = "2.2.0"
|
||||||
@ -4906,9 +4897,7 @@ dependencies = [
|
|||||||
"bytes",
|
"bytes",
|
||||||
"libc",
|
"libc",
|
||||||
"mio",
|
"mio",
|
||||||
"parking_lot",
|
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"signal-hook-registry",
|
|
||||||
"socket2",
|
"socket2",
|
||||||
"tokio-macros",
|
"tokio-macros",
|
||||||
"tracing",
|
"tracing",
|
||||||
|
@ -41,7 +41,7 @@ ncr = { version = "0", features = ["cfb8", "ecb", "gcm"] }
|
|||||||
parking_lot = "0"
|
parking_lot = "0"
|
||||||
serde = "1"
|
serde = "1"
|
||||||
serde_json = "1"
|
serde_json = "1"
|
||||||
tokio = { version = "1", features = ["full"] }
|
tokio = { version = "1", features = ["macros"] }
|
||||||
zip = { version = "2", default-features = false, features = ["flate2"] }
|
zip = { version = "2", default-features = false, features = ["flate2"] }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
use std::{net::SocketAddr, process::exit, time::Duration};
|
use std::{net::SocketAddr, process::exit};
|
||||||
|
|
||||||
use anyhow::{Context, Result};
|
use anyhow::{Context, Result};
|
||||||
use azalea::{
|
use azalea::{
|
||||||
@ -10,7 +10,7 @@ use hyper_util::rt::TokioIo;
|
|||||||
use log::{debug, error, info, trace};
|
use log::{debug, error, info, trace};
|
||||||
use mlua::{Error, Function, IntoLuaMulti, Table};
|
use mlua::{Error, Function, IntoLuaMulti, Table};
|
||||||
use ncr::utils::trim_header;
|
use ncr::utils::trim_header;
|
||||||
use tokio::{net::TcpListener, time::sleep};
|
use tokio::net::TcpListener;
|
||||||
|
|
||||||
#[cfg(feature = "matrix")]
|
#[cfg(feature = "matrix")]
|
||||||
use crate::matrix;
|
use crate::matrix;
|
||||||
@ -284,12 +284,8 @@ fn matrix_init(client: &Client, state: State) {
|
|||||||
if let Ok(options) = globals.get::<Table>("MatrixOptions") {
|
if let Ok(options) = globals.get::<Table>("MatrixOptions") {
|
||||||
let name = client.username();
|
let name = client.username();
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
loop {
|
if let Err(error) = matrix::login(state, options, globals, name).await {
|
||||||
let name = name.clone();
|
error!("failed to log into matrix account: {error:?}");
|
||||||
if let Err(error) = matrix::login(&state, &options, &globals, name).await {
|
|
||||||
error!("failed to log into matrix: {error:?}");
|
|
||||||
}
|
|
||||||
sleep(Duration::from_secs(10)).await;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -99,7 +99,10 @@ pub async fn on_stripped_state_member(
|
|||||||
{
|
{
|
||||||
debug!("joining room {}", room.room_id());
|
debug!("joining room {}", room.room_id());
|
||||||
while let Err(error) = room.join().await {
|
while let Err(error) = room.join().await {
|
||||||
error!("failed to join room {}: {error:?}", room.room_id());
|
error!(
|
||||||
|
"failed to join room {}: {error:?}, retrying...",
|
||||||
|
room.room_id()
|
||||||
|
);
|
||||||
sleep(Duration::from_secs(10)).await;
|
sleep(Duration::from_secs(10)).await;
|
||||||
}
|
}
|
||||||
debug!("successfully joined room {}", room.room_id());
|
debug!("successfully joined room {}", room.room_id());
|
||||||
|
@ -56,7 +56,7 @@ async fn persist_sync_token(
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn login(state: &State, options: &Table, globals: &Table, name: String) -> Result<()> {
|
pub async fn login(state: State, options: Table, globals: Table, name: String) -> Result<()> {
|
||||||
let (homeserver_url, username, password) = (
|
let (homeserver_url, username, password) = (
|
||||||
options.get::<String>("homeserver_url")?,
|
options.get::<String>("homeserver_url")?,
|
||||||
options.get::<String>("username")?,
|
options.get::<String>("username")?,
|
||||||
@ -106,10 +106,7 @@ pub async fn login(state: &State, options: &Table, globals: &Table, name: String
|
|||||||
fs::write(&session_file, serde_json::to_string(&new_session)?).await?;
|
fs::write(&session_file, serde_json::to_string(&new_session)?).await?;
|
||||||
}
|
}
|
||||||
|
|
||||||
client.add_event_handler_context(Context {
|
client.add_event_handler_context(Context { state, name });
|
||||||
state: state.to_owned(),
|
|
||||||
name,
|
|
||||||
});
|
|
||||||
client.add_event_handler(on_stripped_state_member);
|
client.add_event_handler(on_stripped_state_member);
|
||||||
loop {
|
loop {
|
||||||
match client.sync_once(sync_settings.clone()).await {
|
match client.sync_once(sync_settings.clone()).await {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user