mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-12-23 11:21:32 +00:00
Dont federate initial upvote (#2196)
This commit is contained in:
parent
f9d563d80a
commit
9ac1f46a2b
4 changed files with 39 additions and 33 deletions
|
@ -10,14 +10,9 @@ use lemmy_api_common::{
|
||||||
get_post,
|
get_post,
|
||||||
};
|
};
|
||||||
use lemmy_apub::{
|
use lemmy_apub::{
|
||||||
fetcher::post_or_comment::PostOrComment,
|
|
||||||
generate_local_apub_endpoint,
|
generate_local_apub_endpoint,
|
||||||
objects::comment::ApubComment,
|
objects::comment::ApubComment,
|
||||||
protocol::activities::{
|
protocol::activities::{create_or_update::comment::CreateOrUpdateComment, CreateOrUpdateType},
|
||||||
create_or_update::comment::CreateOrUpdateComment,
|
|
||||||
voting::vote::{Vote, VoteType},
|
|
||||||
CreateOrUpdateType,
|
|
||||||
},
|
|
||||||
EndpointType,
|
EndpointType,
|
||||||
};
|
};
|
||||||
use lemmy_db_schema::{
|
use lemmy_db_schema::{
|
||||||
|
@ -150,15 +145,6 @@ impl PerformCrud for CreateComment {
|
||||||
&mut 0,
|
&mut 0,
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
let object = PostOrComment::Comment(Box::new(apub_comment));
|
|
||||||
Vote::send(
|
|
||||||
&object,
|
|
||||||
&local_user_view.person.clone().into(),
|
|
||||||
community_id,
|
|
||||||
VoteType::Like,
|
|
||||||
context,
|
|
||||||
)
|
|
||||||
.await?;
|
|
||||||
|
|
||||||
let person_id = local_user_view.person.id;
|
let person_id = local_user_view.person.id;
|
||||||
let comment_id = inserted_comment.id;
|
let comment_id = inserted_comment.id;
|
||||||
|
|
|
@ -10,14 +10,9 @@ use lemmy_api_common::{
|
||||||
post::*,
|
post::*,
|
||||||
};
|
};
|
||||||
use lemmy_apub::{
|
use lemmy_apub::{
|
||||||
fetcher::post_or_comment::PostOrComment,
|
|
||||||
generate_local_apub_endpoint,
|
generate_local_apub_endpoint,
|
||||||
objects::post::ApubPost,
|
objects::post::ApubPost,
|
||||||
protocol::activities::{
|
protocol::activities::{create_or_update::post::CreateOrUpdatePost, CreateOrUpdateType},
|
||||||
create_or_update::post::CreateOrUpdatePost,
|
|
||||||
voting::vote::{Vote, VoteType},
|
|
||||||
CreateOrUpdateType,
|
|
||||||
},
|
|
||||||
EndpointType,
|
EndpointType,
|
||||||
};
|
};
|
||||||
use lemmy_db_schema::{
|
use lemmy_db_schema::{
|
||||||
|
@ -156,15 +151,6 @@ impl PerformCrud for CreatePost {
|
||||||
context,
|
context,
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
let object = PostOrComment::Post(Box::new(apub_post));
|
|
||||||
Vote::send(
|
|
||||||
&object,
|
|
||||||
&local_user_view.person.clone().into(),
|
|
||||||
inserted_post.community_id,
|
|
||||||
VoteType::Like,
|
|
||||||
context,
|
|
||||||
)
|
|
||||||
.await?;
|
|
||||||
|
|
||||||
send_post_ws_message(
|
send_post_ws_message(
|
||||||
inserted_post.id,
|
inserted_post.id,
|
||||||
|
|
|
@ -21,8 +21,12 @@ use lemmy_apub_lib::{
|
||||||
verify::verify_domains_match,
|
verify::verify_domains_match,
|
||||||
};
|
};
|
||||||
use lemmy_db_schema::{
|
use lemmy_db_schema::{
|
||||||
source::{community::Community, post::Post},
|
source::{
|
||||||
traits::Crud,
|
comment::{CommentLike, CommentLikeForm},
|
||||||
|
community::Community,
|
||||||
|
post::Post,
|
||||||
|
},
|
||||||
|
traits::{Crud, Likeable},
|
||||||
};
|
};
|
||||||
use lemmy_utils::LemmyError;
|
use lemmy_utils::LemmyError;
|
||||||
use lemmy_websocket::{send::send_comment_ws_message, LemmyContext, UserOperationCrud};
|
use lemmy_websocket::{send::send_comment_ws_message, LemmyContext, UserOperationCrud};
|
||||||
|
@ -113,6 +117,19 @@ impl ActivityHandler for CreateOrUpdateComment {
|
||||||
request_counter: &mut i32,
|
request_counter: &mut i32,
|
||||||
) -> Result<(), LemmyError> {
|
) -> Result<(), LemmyError> {
|
||||||
let comment = ApubComment::from_apub(self.object, context, request_counter).await?;
|
let comment = ApubComment::from_apub(self.object, context, request_counter).await?;
|
||||||
|
|
||||||
|
// author likes their own comment by default
|
||||||
|
let like_form = CommentLikeForm {
|
||||||
|
comment_id: comment.id,
|
||||||
|
post_id: comment.post_id,
|
||||||
|
person_id: comment.creator_id,
|
||||||
|
score: 1,
|
||||||
|
};
|
||||||
|
blocking(context.pool(), move |conn: &'_ _| {
|
||||||
|
CommentLike::like(conn, &like_form)
|
||||||
|
})
|
||||||
|
.await??;
|
||||||
|
|
||||||
let do_send_email = self.kind == CreateOrUpdateType::Create;
|
let do_send_email = self.kind == CreateOrUpdateType::Create;
|
||||||
let recipients = get_comment_notif_recipients(
|
let recipients = get_comment_notif_recipients(
|
||||||
&self.actor,
|
&self.actor,
|
||||||
|
|
|
@ -20,7 +20,13 @@ use lemmy_apub_lib::{
|
||||||
traits::{ActivityHandler, ActorType, ApubObject},
|
traits::{ActivityHandler, ActorType, ApubObject},
|
||||||
verify::{verify_domains_match, verify_urls_match},
|
verify::{verify_domains_match, verify_urls_match},
|
||||||
};
|
};
|
||||||
use lemmy_db_schema::{source::community::Community, traits::Crud};
|
use lemmy_db_schema::{
|
||||||
|
source::{
|
||||||
|
community::Community,
|
||||||
|
post::{PostLike, PostLikeForm},
|
||||||
|
},
|
||||||
|
traits::{Crud, Likeable},
|
||||||
|
};
|
||||||
use lemmy_utils::LemmyError;
|
use lemmy_utils::LemmyError;
|
||||||
use lemmy_websocket::{send::send_post_ws_message, LemmyContext, UserOperationCrud};
|
use lemmy_websocket::{send::send_post_ws_message, LemmyContext, UserOperationCrud};
|
||||||
|
|
||||||
|
@ -129,6 +135,17 @@ impl ActivityHandler for CreateOrUpdatePost {
|
||||||
) -> Result<(), LemmyError> {
|
) -> Result<(), LemmyError> {
|
||||||
let post = ApubPost::from_apub(self.object, context, request_counter).await?;
|
let post = ApubPost::from_apub(self.object, context, request_counter).await?;
|
||||||
|
|
||||||
|
// author likes their own post by default
|
||||||
|
let like_form = PostLikeForm {
|
||||||
|
post_id: post.id,
|
||||||
|
person_id: post.creator_id,
|
||||||
|
score: 1,
|
||||||
|
};
|
||||||
|
blocking(context.pool(), move |conn: &'_ _| {
|
||||||
|
PostLike::like(conn, &like_form)
|
||||||
|
})
|
||||||
|
.await??;
|
||||||
|
|
||||||
let notif_type = match self.kind {
|
let notif_type = match self.kind {
|
||||||
CreateOrUpdateType::Create => UserOperationCrud::CreatePost,
|
CreateOrUpdateType::Create => UserOperationCrud::CreatePost,
|
||||||
CreateOrUpdateType::Update => UserOperationCrud::EditPost,
|
CreateOrUpdateType::Update => UserOperationCrud::EditPost,
|
||||||
|
|
Loading…
Reference in a new issue