updated plugin ActivityPub version 8.3.0

This commit is contained in:
2026-06-03 21:28:46 +00:00
committed by Gitium
parent a4b78ec277
commit 6fe182458a
340 changed files with 43232 additions and 7568 deletions

View File

@ -23,6 +23,8 @@ class Webfinger {
public static function init() {
\add_filter( 'webfinger_user_data', array( self::class, 'add_user_discovery' ), 1, 3 );
\add_filter( 'webfinger_data', array( self::class, 'add_pseudo_user_discovery' ), 1, 2 );
\add_filter( 'webfinger_data', array( self::class, 'add_interaction_links' ), 11 );
}
/**
@ -55,11 +57,6 @@ class Webfinger {
'href' => $user->get_id(),
);
$jrd['links'][] = array(
'rel' => 'http://ostatus.org/schema/1.0/subscribe',
'template' => get_rest_url_by_path( 'interactions?uri={uri}' ),
);
return $jrd;
}
@ -101,10 +98,6 @@ class Webfinger {
'type' => 'text/html',
'href' => $user->get_id(),
),
array(
'rel' => 'http://ostatus.org/schema/1.0/subscribe',
'template' => get_rest_url_by_path( 'interactions?uri={uri}' ),
),
),
);
@ -116,4 +109,42 @@ class Webfinger {
return $profile;
}
/**
* Add interaction links to the WebFinger data.
*
* @see https://codeberg.org/fediverse/fep/src/branch/main/fep/3b86/fep-3b86.md
*
* @param array $jrd The jrd array.
*
* @return array The jrd array.
*/
public static function add_interaction_links( $jrd ) {
if ( ! is_array( $jrd ) ) {
return $jrd;
}
$jrd['links'][] = array(
'rel' => 'http://ostatus.org/schema/1.0/subscribe',
'template' => get_rest_url_by_path( 'interactions?uri={uri}' ),
);
/*
* Note: The parameter name `{inReplyTo}` is used here for all 'Create' intents,
* not just replies, to maintain compatibility with existing implementations and
* the FEP-3b86 specification. If a more generic parameter name is adopted in the
* future, this should be updated accordingly.
*/
$jrd['links'][] = array(
'rel' => 'https://w3id.org/fep/3b86/Create',
'template' => get_rest_url_by_path( 'interactions?uri={inReplyTo}&intent=create' ),
);
$jrd['links'][] = array(
'rel' => 'https://w3id.org/fep/3b86/Follow',
'template' => get_rest_url_by_path( 'interactions?uri={object}&intent=follow' ),
);
return $jrd;
}
}