diff --git a/ansible/templates/docker-compose.yml b/ansible/templates/docker-compose.yml index 0ce715c69..b074d60fe 100644 --- a/ansible/templates/docker-compose.yml +++ b/ansible/templates/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3.3' +version: '2.2' services: lemmy: @@ -38,13 +38,14 @@ services: restart: always pictrs: - image: asonix/pictrs:v0.2.5-r0 + image: asonix/pictrs:v0.2.6-r1 user: 991:991 ports: - "127.0.0.1:8537:8080" volumes: - ./volumes/pictrs:/mnt restart: always + mem_limit: 200m iframely: image: dogbin/iframely:latest diff --git a/crates/apub/src/activities/send/community.rs b/crates/apub/src/activities/send/community.rs index 9cef95b60..af77a4735 100644 --- a/crates/apub/src/activities/send/community.rs +++ b/crates/apub/src/activities/send/community.rs @@ -4,6 +4,7 @@ use crate::{ check_is_apub_id_valid, extensions::context::lemmy_context, fetcher::person::get_or_fetch_and_upsert_person, + insert_activity, ActorType, }; use activitystreams::{ @@ -27,7 +28,7 @@ use lemmy_api_structs::blocking; use lemmy_db_queries::DbPool; use lemmy_db_schema::source::community::Community; use lemmy_db_views_actor::community_follower_view::CommunityFollowerView; -use lemmy_utils::{location_info, LemmyError}; +use lemmy_utils::{location_info, settings::structs::Settings, LemmyError}; use lemmy_websocket::LemmyContext; use url::Url; @@ -164,11 +165,20 @@ impl ActorType for Community { /// Wraps an activity sent to the community in an announce, and then sends the announce to all /// community followers. + /// + /// If we are announcing a local activity, it hasn't been stored in the database yet, and we need + /// to do it here, so that it can be fetched by ID. Remote activities are inserted into DB in the + /// inbox. async fn send_announce( &self, activity: AnyBase, context: &LemmyContext, ) -> Result<(), LemmyError> { + let inner_id = activity.id().context(location_info!())?; + if inner_id.domain() == Some(&Settings::get().get_hostname_without_port()?) { + insert_activity(inner_id, activity.clone(), true, false, context.pool()).await?; + } + let mut announce = Announce::new(self.actor_id.to_owned().into_inner(), activity); announce .set_many_contexts(lemmy_context()?) diff --git a/docker/dev/docker-compose.yml b/docker/dev/docker-compose.yml index 25cf2e13f..90a2c0a3c 100644 --- a/docker/dev/docker-compose.yml +++ b/docker/dev/docker-compose.yml @@ -42,7 +42,7 @@ services: restart: always pictrs: - image: asonix/pictrs:v0.2.5-r0 + image: asonix/pictrs:v0.2.6-r1 ports: - "8537:8080" user: 991:991 diff --git a/docker/federation/docker-compose.yml b/docker/federation/docker-compose.yml index 899d72baf..a29e3cf9d 100644 --- a/docker/federation/docker-compose.yml +++ b/docker/federation/docker-compose.yml @@ -23,7 +23,7 @@ services: pictrs: restart: always - image: asonix/pictrs:v0.2.5-r0 + image: asonix/pictrs:v0.2.6-r1 user: 991:991 volumes: - ./volumes/pictrs_alpha:/mnt diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml index 296c4be94..bc42bd563 100644 --- a/docker/prod/docker-compose.yml +++ b/docker/prod/docker-compose.yml @@ -38,7 +38,7 @@ services: - lemmy pictrs: - image: asonix/pictrs:v0.2.5-r0 + image: asonix/pictrs:v0.2.6-r1 ports: - "127.0.0.1:8537:8080" user: 991:991