From f8bb82d6cbffd7434835688c2347e0ad84b175f3 Mon Sep 17 00:00:00 2001 From: silverpill Date: Fri, 7 Jan 2022 22:28:23 +0000 Subject: [PATCH] Set correct primary and secondary audience for direct messages --- src/activitypub/activity.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/activitypub/activity.rs b/src/activitypub/activity.rs index 1d2f295..ccc4796 100644 --- a/src/activitypub/activity.rs +++ b/src/activitypub/activity.rs @@ -4,7 +4,7 @@ use serde_json::{json, Value}; use uuid::Uuid; use crate::frontend::get_tag_page_url; -use crate::models::posts::types::Post; +use crate::models::posts::types::{Post, Visibility}; use crate::models::profiles::types::DbActorProfile; use crate::models::users::types::User; use crate::utils::files::get_file_url; @@ -183,12 +183,15 @@ pub fn create_note( url, } }).collect(); - // Notes are public; direct messages are not supported yet - let mut primary_audience = vec![AP_PUBLIC.to_string()]; - let secondary_audience = vec![ - get_followers_url(instance_url, &post.author.username), - ]; + let mut primary_audience = vec![]; + let mut secondary_audience = vec![]; let mut tags = vec![]; + if matches!(post.visibility, Visibility::Public) { + primary_audience.push(AP_PUBLIC.to_string()); + secondary_audience.push(get_followers_url( + instance_url, &post.author.username, + )); + }; for profile in &post.mentions { let actor_id = profile.actor_id(instance_url); primary_audience.push(actor_id);