Skip to content

Commit

Permalink
Merge pull request 'Set valid context for our extra fields (ref #1220)…
Browse files Browse the repository at this point in the history
…' (#142) from apub-context into main

Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/142
  • Loading branch information
dessalines committed Nov 27, 2020
2 parents a30be1c + a7b72ed commit 050ca88
Show file tree
Hide file tree
Showing 17 changed files with 83 additions and 55 deletions.
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docker/federation/start-local-instances.bash
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
set -e

sudo docker build ../../ --file ../dev/Dockerfile -t lemmy-federation:latest
sudo docker build ../../ --file ../dev/volume_mount.dockerfile -t lemmy-federation:latest

for Item in alpha beta gamma delta epsilon ; do
sudo mkdir -p volumes/pictrs_$Item
Expand Down
2 changes: 1 addition & 1 deletion lemmy_apub/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ lemmy_db = { path = "../lemmy_db" }
lemmy_structs = { path = "../lemmy_structs" }
lemmy_websocket = { path = "../lemmy_websocket" }
diesel = "1.4"
activitystreams = "0.7.0-alpha.6"
activitystreams = "0.7.0-alpha.7"
activitystreams-ext = "0.1.0-alpha.2"
bcrypt = "0.8"
chrono = { version = "0.4", features = ["serde"] }
Expand Down
25 changes: 13 additions & 12 deletions lemmy_apub/src/activities/send/comment.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use crate::{
activities::send::generate_activity_id,
activity_queue::{send_comment_mentions, send_to_community},
extensions::context::lemmy_context,
fetcher::get_or_fetch_and_upsert_user,
ActorType,
ApubLikeableType,
Expand Down Expand Up @@ -62,7 +63,7 @@ impl ApubObjectType for Comment {

let mut create = Create::new(creator.actor_id.to_owned(), note.into_any_base()?);
create
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(CreateType::Create)?)
.set_to(public())
.set_many_ccs(ccs)
Expand Down Expand Up @@ -95,7 +96,7 @@ impl ApubObjectType for Comment {

let mut update = Update::new(creator.actor_id.to_owned(), note.into_any_base()?);
update
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UpdateType::Update)?)
.set_to(public())
.set_many_ccs(ccs)
Expand All @@ -119,7 +120,7 @@ impl ApubObjectType for Comment {

let mut delete = Delete::new(creator.actor_id.to_owned(), Url::parse(&self.ap_id)?);
delete
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DeleteType::Delete)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -145,15 +146,15 @@ impl ApubObjectType for Comment {
// Generate a fake delete activity, with the correct object
let mut delete = Delete::new(creator.actor_id.to_owned(), Url::parse(&self.ap_id)?);
delete
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DeleteType::Delete)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);

// Undo that fake activity
let mut undo = Undo::new(creator.actor_id.to_owned(), delete.into_any_base()?);
undo
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UndoType::Undo)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -174,7 +175,7 @@ impl ApubObjectType for Comment {

let mut remove = Remove::new(mod_.actor_id.to_owned(), Url::parse(&self.ap_id)?);
remove
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(RemoveType::Remove)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -196,15 +197,15 @@ impl ApubObjectType for Comment {
// Generate a fake delete activity, with the correct object
let mut remove = Remove::new(mod_.actor_id.to_owned(), Url::parse(&self.ap_id)?);
remove
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(RemoveType::Remove)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);

// Undo that fake activity
let mut undo = Undo::new(mod_.actor_id.to_owned(), remove.into_any_base()?);
undo
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UndoType::Undo)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -230,7 +231,7 @@ impl ApubLikeableType for Comment {

let mut like = Like::new(creator.actor_id.to_owned(), note.into_any_base()?);
like
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(LikeType::Like)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -253,7 +254,7 @@ impl ApubLikeableType for Comment {

let mut dislike = Dislike::new(creator.actor_id.to_owned(), note.into_any_base()?);
dislike
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DislikeType::Dislike)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -280,15 +281,15 @@ impl ApubLikeableType for Comment {

let mut like = Like::new(creator.actor_id.to_owned(), note.into_any_base()?);
like
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DislikeType::Dislike)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);

// Undo that fake activity
let mut undo = Undo::new(creator.actor_id.to_owned(), like.into_any_base()?);
undo
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UndoType::Undo)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand Down
17 changes: 9 additions & 8 deletions lemmy_apub/src/activities/send/community.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ use crate::{
activities::send::generate_activity_id,
activity_queue::{send_activity_single_dest, send_to_community_followers},
check_is_apub_id_valid,
extensions::context::lemmy_context,
fetcher::get_or_fetch_and_upsert_user,
ActorType,
};
Expand Down Expand Up @@ -71,7 +72,7 @@ impl ActorType for Community {

let mut accept = Accept::new(self.actor_id.to_owned(), follow.into_any_base()?);
accept
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(AcceptType::Accept)?)
.set_to(user.actor_id()?);

Expand All @@ -83,7 +84,7 @@ impl ActorType for Community {
async fn send_delete(&self, context: &LemmyContext) -> Result<(), LemmyError> {
let mut delete = Delete::new(self.actor_id()?, self.actor_id()?);
delete
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DeleteType::Delete)?)
.set_to(public())
.set_many_ccs(vec![self.get_followers_url()?]);
Expand All @@ -96,14 +97,14 @@ impl ActorType for Community {
async fn send_undo_delete(&self, context: &LemmyContext) -> Result<(), LemmyError> {
let mut delete = Delete::new(self.actor_id()?, self.actor_id()?);
delete
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DeleteType::Delete)?)
.set_to(public())
.set_many_ccs(vec![self.get_followers_url()?]);

let mut undo = Undo::new(self.actor_id()?, delete.into_any_base()?);
undo
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UndoType::Undo)?)
.set_to(public())
.set_many_ccs(vec![self.get_followers_url()?]);
Expand All @@ -116,7 +117,7 @@ impl ActorType for Community {
async fn send_remove(&self, context: &LemmyContext) -> Result<(), LemmyError> {
let mut remove = Remove::new(self.actor_id()?, self.actor_id()?);
remove
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(RemoveType::Remove)?)
.set_to(public())
.set_many_ccs(vec![self.get_followers_url()?]);
Expand All @@ -129,15 +130,15 @@ impl ActorType for Community {
async fn send_undo_remove(&self, context: &LemmyContext) -> Result<(), LemmyError> {
let mut remove = Remove::new(self.actor_id()?, self.actor_id()?);
remove
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(RemoveType::Remove)?)
.set_to(public())
.set_many_ccs(vec![self.get_followers_url()?]);

// Undo that fake activity
let mut undo = Undo::new(self.actor_id()?, remove.into_any_base()?);
undo
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(LikeType::Like)?)
.set_to(public())
.set_many_ccs(vec![self.get_followers_url()?]);
Expand All @@ -155,7 +156,7 @@ impl ActorType for Community {
) -> Result<(), LemmyError> {
let mut announce = Announce::new(self.actor_id.to_owned(), activity);
announce
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(AnnounceType::Announce)?)
.set_to(public())
.set_many_ccs(vec![self.get_followers_url()?]);
Expand Down
25 changes: 13 additions & 12 deletions lemmy_apub/src/activities/send/post.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use crate::{
activities::send::generate_activity_id,
activity_queue::send_to_community,
extensions::context::lemmy_context,
ActorType,
ApubLikeableType,
ApubObjectType,
Expand Down Expand Up @@ -40,7 +41,7 @@ impl ApubObjectType for Post {

let mut create = Create::new(creator.actor_id.to_owned(), page.into_any_base()?);
create
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(CreateType::Create)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -61,7 +62,7 @@ impl ApubObjectType for Post {

let mut update = Update::new(creator.actor_id.to_owned(), page.into_any_base()?);
update
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UpdateType::Update)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -79,7 +80,7 @@ impl ApubObjectType for Post {

let mut delete = Delete::new(creator.actor_id.to_owned(), Url::parse(&self.ap_id)?);
delete
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DeleteType::Delete)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -101,15 +102,15 @@ impl ApubObjectType for Post {

let mut delete = Delete::new(creator.actor_id.to_owned(), Url::parse(&self.ap_id)?);
delete
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DeleteType::Delete)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);

// Undo that fake activity
let mut undo = Undo::new(creator.actor_id.to_owned(), delete.into_any_base()?);
undo
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UndoType::Undo)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -127,7 +128,7 @@ impl ApubObjectType for Post {

let mut remove = Remove::new(mod_.actor_id.to_owned(), Url::parse(&self.ap_id)?);
remove
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(RemoveType::Remove)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -145,15 +146,15 @@ impl ApubObjectType for Post {

let mut remove = Remove::new(mod_.actor_id.to_owned(), Url::parse(&self.ap_id)?);
remove
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(RemoveType::Remove)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);

// Undo that fake activity
let mut undo = Undo::new(mod_.actor_id.to_owned(), remove.into_any_base()?);
undo
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UndoType::Undo)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -176,7 +177,7 @@ impl ApubLikeableType for Post {

let mut like = Like::new(creator.actor_id.to_owned(), page.into_any_base()?);
like
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(LikeType::Like)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -196,7 +197,7 @@ impl ApubLikeableType for Post {

let mut dislike = Dislike::new(creator.actor_id.to_owned(), page.into_any_base()?);
dislike
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DislikeType::Dislike)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand All @@ -220,15 +221,15 @@ impl ApubLikeableType for Post {

let mut like = Like::new(creator.actor_id.to_owned(), page.into_any_base()?);
like
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(LikeType::Like)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);

// Undo that fake activity
let mut undo = Undo::new(creator.actor_id.to_owned(), like.into_any_base()?);
undo
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UndoType::Undo)?)
.set_to(public())
.set_many_ccs(vec![community.actor_id()?]);
Expand Down
11 changes: 6 additions & 5 deletions lemmy_apub/src/activities/send/private_message.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use crate::{
activities::send::generate_activity_id,
activity_queue::send_activity_single_dest,
extensions::context::lemmy_context,
ActorType,
ApubObjectType,
ToApub,
Expand Down Expand Up @@ -33,7 +34,7 @@ impl ApubObjectType for PrivateMessage {
let mut create = Create::new(creator.actor_id.to_owned(), note.into_any_base()?);

create
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(CreateType::Create)?)
.set_to(recipient.actor_id()?);

Expand All @@ -50,7 +51,7 @@ impl ApubObjectType for PrivateMessage {

let mut update = Update::new(creator.actor_id.to_owned(), note.into_any_base()?);
update
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UpdateType::Update)?)
.set_to(recipient.actor_id()?);

Expand All @@ -64,7 +65,7 @@ impl ApubObjectType for PrivateMessage {

let mut delete = Delete::new(creator.actor_id.to_owned(), Url::parse(&self.ap_id)?);
delete
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DeleteType::Delete)?)
.set_to(recipient.actor_id()?);

Expand All @@ -82,14 +83,14 @@ impl ApubObjectType for PrivateMessage {

let mut delete = Delete::new(creator.actor_id.to_owned(), Url::parse(&self.ap_id)?);
delete
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(DeleteType::Delete)?)
.set_to(recipient.actor_id()?);

// Undo that fake activity
let mut undo = Undo::new(creator.actor_id.to_owned(), delete.into_any_base()?);
undo
.set_context(activitystreams::context())
.set_many_contexts(lemmy_context()?)
.set_id(generate_activity_id(UndoType::Undo)?)
.set_to(recipient.actor_id()?);

Expand Down
Loading

0 comments on commit 050ca88

Please sign in to comment.