tweak federation state a bit

This commit is contained in:
Matthias Pfefferle 2024-02-07 17:54:48 +01:00
parent a4f8c3084d
commit 98824d3a08
5 changed files with 10 additions and 8 deletions

View file

@ -13,7 +13,7 @@ use Activitypub\Transformer\Comment;
use function Activitypub\is_single_user;
use function Activitypub\is_user_disabled;
use function Activitypub\safe_remote_post;
use function Activitypub\mark_wp_object_as_federated;
use function Activitypub\set_wp_object_state;
/**
* ActivityPub Activity_Dispatcher Class
@ -170,6 +170,6 @@ class Activity_Dispatcher {
safe_remote_post( $inbox, $json, $user_id );
}
mark_wp_object_as_federated( $wp_object );
set_wp_object_state( $wp_object, 'federated' );
}
}

View file

@ -118,7 +118,7 @@ class Comment {
$status = \get_comment_meta( $comment->comment_ID, 'activitypub_status', true );
if ( 'federated' === $status ) {
if ( $status ) {
return true;
}

View file

@ -202,6 +202,8 @@ class Scheduler {
return;
}
set_wp_object_state( $comment, 'federate' );
\wp_schedule_single_event(
\time(),
'activitypub_send_activity',

View file

@ -779,13 +779,13 @@ function is_local_comment( $comment ) {
* @param WP_Comment|WP_Post|mixed $wp_object
* @return void
*/
function mark_wp_object_as_federated( $wp_object ) {
function set_wp_object_state( $wp_object, $state ) {
$meta_key = 'activitypub_status';
if ( $wp_object instanceof \WP_Post ) {
\update_post_meta( $wp_object->ID, $meta_key, 'federated' );
\update_post_meta( $wp_object->ID, $meta_key, $state );
} elseif ( $wp_object instanceof \WP_Comment ) {
\update_comment_meta( $wp_object->comment_ID, $meta_key, 'federated' );
\update_comment_meta( $wp_object->comment_ID, $meta_key, $state );
} else {
\apply_filters( 'activitypub_mark_wp_object_as_federated', $wp_object );
}

View file

@ -53,7 +53,7 @@ class Test_Activitypub_Comment extends WP_UnitTestCase {
'comment_author_email' => '',
),
'expected' => array(
'was_sent' => false,
'was_sent' => true,
'was_received' => false,
'should_be_federated' => true,
),
@ -203,7 +203,7 @@ class Test_Activitypub_Comment extends WP_UnitTestCase {
'comment_author_email' => '',
),
'expected' => array(
'was_sent' => false,
'was_sent' => true,
'was_received' => false,
'should_be_federated' => false,
),