diff --git a/Cargo.lock b/Cargo.lock index f769fa501..7c0119520 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,15 +14,14 @@ dependencies = [ [[package]] name = "activitypub_federation" -version = "0.4.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f85cab86a72489b908adfeec61a4f104124b01784b9a5bb721c988727c363dad" +checksum = "27540f6c4b72c91176610ed5279061a021387f972c7c6f42c41032b78a808267" dependencies = [ "activitystreams-kinds", "actix-web", "anyhow", "async-trait", - "background-jobs", "base64 0.21.2", "bytes", "chrono", @@ -46,6 +45,7 @@ dependencies = [ "serde_json", "sha2", "thiserror", + "tokio", "tracing", "url", ] @@ -418,15 +418,6 @@ dependencies = [ "syn 1.0.103", ] -[[package]] -name = "async-mutex" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" -dependencies = [ - "event-listener", -] - [[package]] name = "async-stream" version = "0.3.3" @@ -602,56 +593,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "background-jobs" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793a813f9145c5f3a27b8dcd834c0927de68bbd60d53a369e5894f3cc5759020" -dependencies = [ - "background-jobs-actix", - "background-jobs-core", -] - -[[package]] -name = "background-jobs-actix" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8660626a2d8781b50cbe0e3b63d8e2a7e08a90e80fa2bca8e8cc19deff72ebf4" -dependencies = [ - "actix-rt", - "anyhow", - "async-mutex", - "async-trait", - "background-jobs-core", - "num_cpus", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "uuid", -] - -[[package]] -name = "background-jobs-core" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e78e842fe2ae461319e3d1843c12e301630e65650332b02032ac70b0dfc66f" -dependencies = [ - "actix-rt", - "anyhow", - "async-trait", - "event-listener", - "serde", - "serde_json", - "thiserror", - "time 0.3.15", - "tracing", - "tracing-futures", - "uuid", -] - [[package]] name = "backtrace" version = "0.3.67" @@ -1762,12 +1703,6 @@ dependencies = [ "libc", ] -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - [[package]] name = "eyre" version = "0.6.8" diff --git a/Cargo.toml b/Cargo.toml index 14398c5ff..bbeae05e3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -59,7 +59,7 @@ lemmy_routes = { version = "=0.18.0-rc.5", path = "./crates/routes" } lemmy_db_views = { version = "=0.18.0-rc.5", path = "./crates/db_views" } lemmy_db_views_actor = { version = "=0.18.0-rc.5", path = "./crates/db_views_actor" } lemmy_db_views_moderator = { version = "=0.18.0-rc.5", path = "./crates/db_views_moderator" } -activitypub_federation = { version = "0.4.1", default-features = false, features = ["actix-web"] } +activitypub_federation = { version = "0.4.4", default-features = false, features = ["actix-web"] } diesel = "2.1.0" diesel_migrations = "2.1.0" diesel-async = "0.3.1" diff --git a/crates/apub/src/objects/mod.rs b/crates/apub/src/objects/mod.rs index 5d133e9b8..b204efb08 100644 --- a/crates/apub/src/objects/mod.rs +++ b/crates/apub/src/objects/mod.rs @@ -106,6 +106,7 @@ pub(crate) mod tests { .domain("example.com") .app_data(context) .build() + .await .unwrap(); config.to_request_data() } diff --git a/src/lib.rs b/src/lib.rs index f6ca79540..86cf400b6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -139,21 +139,23 @@ pub async fn start_lemmy_server() -> Result<(), LemmyError> { }); } + let federation_config = FederationConfig::builder() + .domain(settings.hostname.clone()) + .app_data(context.clone()) + .client(client.clone()) + .http_fetch_limit(FEDERATION_HTTP_FETCH_LIMIT) + .worker_count(local_site.federation_worker_count as usize) + .debug(cfg!(debug_assertions)) + .http_signature_compat(true) + .url_verifier(Box::new(VerifyUrlData(context.pool().clone()))) + .build() + .await + .expect("configure federation"); + // Create Http server with websocket support let settings_bind = settings.clone(); HttpServer::new(move || { let context = context.clone(); - let federation_config = FederationConfig::builder() - .domain(settings.hostname.clone()) - .app_data(context.clone()) - .client(client.clone()) - .http_fetch_limit(FEDERATION_HTTP_FETCH_LIMIT) - .worker_count(local_site.federation_worker_count as u64) - .debug(cfg!(debug_assertions)) - .http_signature_compat(true) - .url_verifier(Box::new(VerifyUrlData(context.pool().clone()))) - .build() - .expect("configure federation"); let cors_config = if cfg!(debug_assertions) { Cors::permissive() @@ -173,7 +175,7 @@ pub async fn start_lemmy_server() -> Result<(), LemmyError> { .wrap(TracingLogger::::new()) .app_data(Data::new(context)) .app_data(Data::new(rate_limit_cell.clone())) - .wrap(FederationMiddleware::new(federation_config)) + .wrap(FederationMiddleware::new(federation_config.clone())) // The routes .configure(|cfg| api_routes_http::config(cfg, rate_limit_cell)) .configure(|cfg| {