Skip to content

fix(syndicator-mastodon): favourite and reblog statuses on other servers - #1014

Closed
rmdes wants to merge 1 commit into
getindiekit:mainfrom
rmdes:fix/syndicator-mastodon-cross-server-likes
Closed

rmdes wants to merge 1 commit into
getindiekit:mainfrom
rmdes:fix/syndicator-mastodon-cross-server-likes

Conversation

@rmdes

@rmdes rmdes commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator

Refs #843.

Likes and reposts are syndicated as native favourites and reblogs, but only when the status is on the syndicator's own server. Liking a status on any other instance is skipped, and endpoint-syndicate reports it as "did not return a URL". Without the ActivityPub plugin, that's the only route a like has to the fediverse, so for most likes nothing happens.

Replies already resolve statuses on other servers (resolveRemoteStatus, #927). This uses the same step for likes and reposts:

  • postFavourite and postReblog take the status ID from the URL when the status is on this server, and otherwise resolve it with v2/search (resolve: true).
  • post() no longer drops likes and reposts of other servers' URLs up front.
  • A repost with content (a quote status) is syndicated when the reposted URL resolves to a status.
  • URLs that don't resolve to a status (a blog post, say) are still not syndicated, so defaults are unchanged and there are no new options.

Opt-in statuses for likes and reposts of URLs that aren't statuses (syndicateExternalLikes / syndicateExternalReposts) can follow separately, depending on the discussion in #843.

Tests

  • Unit tests for favouriting and reblogging a status on another server, the same through post(), quote statuses of a remote status, and skipping URLs that don't resolve.
  • The two existing "doesn't post a favourite/repost of a URL" tests now use the mocked unresolvable URL, since every like and repost now searches first.
  • Syndicator, endpoint-syndicate and endpoint-share syndication tests pass (73/73, Node 24.17).

Likes and reposts were only syndicated when the status was on the
syndicator's own server; a status on any other instance was skipped and
reported as not returning a URL. Resolve such statuses the same way
replies already are (resolveRemoteStatus), so they become native
favourites and reblogs. URLs that don't resolve to a status are still
not syndicated.

Refs getindiekit#843
@rmdes

rmdes commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator Author

Opened from the wrong repository; replaced by #1015.

@rmdes rmdes closed this Oct 13, 2026
@rmdes
rmdes deleted the fix/syndicator-mastodon-cross-server-likes branch October 13, 2026 05:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant