diff --git a/crates/apub/assets/lemmy/activities/following/accept.json b/crates/apub/assets/lemmy/activities/following/accept.json index fde48880bc..b524a56ec5 100644 --- a/crates/apub/assets/lemmy/activities/following/accept.json +++ b/crates/apub/assets/lemmy/activities/following/accept.json @@ -1,9 +1,9 @@ { "actor": "http://enterprise.lemmy.ml/c/main", - "to": "http://ds9.lemmy.ml/u/lemmy_alpha", + "to": ["http://ds9.lemmy.ml/u/lemmy_alpha"], "object": { "actor": "http://ds9.lemmy.ml/u/lemmy_alpha", - "to": "http://enterprise.lemmy.ml/c/main", + "to": ["http://enterprise.lemmy.ml/c/main"], "object": "http://enterprise.lemmy.ml/c/main", "type": "Follow", "id": "http://ds9.lemmy.ml/activities/follow/6abcd50b-b8ca-4952-86b0-a6dd8cc12866" diff --git a/crates/apub/assets/lemmy/activities/following/follow.json b/crates/apub/assets/lemmy/activities/following/follow.json index 5d1def0f8f..fe797233c1 100644 --- a/crates/apub/assets/lemmy/activities/following/follow.json +++ b/crates/apub/assets/lemmy/activities/following/follow.json @@ -1,6 +1,6 @@ { "actor": "http://ds9.lemmy.ml/u/lemmy_alpha", - "to": "http://enterprise.lemmy.ml/c/main", + "to": ["http://enterprise.lemmy.ml/c/main"], "object": "http://enterprise.lemmy.ml/c/main", "type": "Follow", "id": "http://ds9.lemmy.ml/activities/follow/6abcd50b-b8ca-4952-86b0-a6dd8cc12866" diff --git a/crates/apub/assets/lemmy/activities/following/undo_follow.json b/crates/apub/assets/lemmy/activities/following/undo_follow.json index 763c67d9d9..255823d8d6 100644 --- a/crates/apub/assets/lemmy/activities/following/undo_follow.json +++ b/crates/apub/assets/lemmy/activities/following/undo_follow.json @@ -1,9 +1,9 @@ { "actor": "http://ds9.lemmy.ml/u/lemmy_alpha", - "to": "http://enterprise.lemmy.ml/c/main", + "to": ["http://enterprise.lemmy.ml/c/main"], "object": { "actor": "http://ds9.lemmy.ml/u/lemmy_alpha", - "to": "http://enterprise.lemmy.ml/c/main", + "to": ["http://enterprise.lemmy.ml/c/main"], "object": "http://enterprise.lemmy.ml/c/main", "type": "Follow", "id": "http://ds9.lemmy.ml/activities/follow/dc2f1bc5-f3a0-4daa-a46b-428cbfbd023c" diff --git a/crates/apub/src/activities/following/accept.rs b/crates/apub/src/activities/following/accept.rs index 034013eae9..34dc976ded 100644 --- a/crates/apub/src/activities/following/accept.rs +++ b/crates/apub/src/activities/following/accept.rs @@ -34,7 +34,7 @@ impl AcceptFollow { let person = follow.actor.clone().dereference(context).await?; let accept = AcceptFollow { actor: user_or_community.id().into(), - to: Some(person.id().into()), + to: Some([person.id().into()]), object: follow, kind: AcceptType::Accept, id: generate_activity_id( @@ -66,7 +66,7 @@ impl ActivityHandler for AcceptFollow { verify_urls_match(self.actor.inner(), self.object.object.inner())?; self.object.verify(context).await?; if let Some(to) = &self.to { - verify_urls_match(to.inner(), self.object.actor.inner())?; + verify_urls_match(to[0].inner(), self.object.actor.inner())?; } Ok(()) } diff --git a/crates/apub/src/activities/following/follow.rs b/crates/apub/src/activities/following/follow.rs index 893eea2e1e..4e2acd518f 100644 --- a/crates/apub/src/activities/following/follow.rs +++ b/crates/apub/src/activities/following/follow.rs @@ -45,7 +45,7 @@ impl Follow { Ok(Follow { actor: actor.id().into(), object: community.id().into(), - to: Some(community.id().into()), + to: Some([community.id().into()]), kind: FollowType::Follow, id: generate_activity_id( FollowType::Follow, @@ -96,7 +96,7 @@ impl ActivityHandler for Follow { verify_person_in_community(&self.actor, &c, context).await?; } if let Some(to) = &self.to { - verify_urls_match(to.inner(), self.object.inner())?; + verify_urls_match(to[0].inner(), self.object.inner())?; } Ok(()) } diff --git a/crates/apub/src/activities/following/undo_follow.rs b/crates/apub/src/activities/following/undo_follow.rs index 0233dcf778..279054d53d 100644 --- a/crates/apub/src/activities/following/undo_follow.rs +++ b/crates/apub/src/activities/following/undo_follow.rs @@ -32,7 +32,7 @@ impl UndoFollow { let object = Follow::new(actor, community, context)?; let undo = UndoFollow { actor: actor.id().into(), - to: Some(community.id().into()), + to: Some([community.id().into()]), object, kind: UndoType::Undo, id: generate_activity_id( @@ -64,7 +64,7 @@ impl ActivityHandler for UndoFollow { verify_person(&self.actor, context).await?; self.object.verify(context).await?; if let Some(to) = &self.to { - verify_urls_match(to.inner(), self.object.object.inner())?; + verify_urls_match(to[0].inner(), self.object.object.inner())?; } Ok(()) } diff --git a/crates/apub/src/protocol/activities/following/accept.rs b/crates/apub/src/protocol/activities/following/accept.rs index a67fd92ed4..09e2cfda96 100644 --- a/crates/apub/src/protocol/activities/following/accept.rs +++ b/crates/apub/src/protocol/activities/following/accept.rs @@ -11,7 +11,7 @@ use url::Url; pub struct AcceptFollow { pub(crate) actor: ObjectId, /// Optional, for compatibility with platforms that always expect recipient field - pub(crate) to: Option>, + pub(crate) to: Option<[ObjectId; 1]>, pub(crate) object: Follow, #[serde(rename = "type")] pub(crate) kind: AcceptType, diff --git a/crates/apub/src/protocol/activities/following/follow.rs b/crates/apub/src/protocol/activities/following/follow.rs index 929224e73e..064a36055d 100644 --- a/crates/apub/src/protocol/activities/following/follow.rs +++ b/crates/apub/src/protocol/activities/following/follow.rs @@ -8,7 +8,7 @@ use url::Url; pub struct Follow { pub(crate) actor: ObjectId, /// Optional, for compatibility with platforms that always expect recipient field - pub(crate) to: Option>, + pub(crate) to: Option<[ObjectId; 1]>, pub(crate) object: ObjectId, #[serde(rename = "type")] pub(crate) kind: FollowType, diff --git a/crates/apub/src/protocol/activities/following/undo_follow.rs b/crates/apub/src/protocol/activities/following/undo_follow.rs index e813e9e1dd..f94a9b797c 100644 --- a/crates/apub/src/protocol/activities/following/undo_follow.rs +++ b/crates/apub/src/protocol/activities/following/undo_follow.rs @@ -8,7 +8,7 @@ use url::Url; pub struct UndoFollow { pub(crate) actor: ObjectId, /// Optional, for compatibility with platforms that always expect recipient field - pub(crate) to: Option>, + pub(crate) to: Option<[ObjectId; 1]>, pub(crate) object: Follow, #[serde(rename = "type")] pub(crate) kind: UndoType,