Skip to content

fix(syndicator-bluesky): thread replies to Bluesky posts - #947

Open
rmdes wants to merge 1 commit into
mainfrom
feat/syndicator-bluesky-reply-threading
Open

rmdes wants to merge 1 commit into
mainfrom
feat/syndicator-bluesky-reply-threading

Conversation

@rmdes

@rmdes rmdes commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

Fixes #946.

  • Bluesky#getReplyRef(postUrl) fetches the post with the existing getPost() and returns { root, parent }, using the parent’s own reply.root when the parent is a reply.
  • post() resolves it when in-reply-to is on the configured profile origin (isSameOrigin, as repost-of and like-of already do) and passes it to postPost(), which sets reply on the record. in-reply-to pointing elsewhere is unchanged.
  • Tests on the @atproto/dev-env test network: a reply to Bob’s post has reply.parent and reply.root equal to that post; a reply to that reply has parent = the first reply and root = the original; a reply to a URL on another site has no reply. The first two fail on main.

Verified locally: node --test packages/syndicator-bluesky/test/**/*.js 50/50, eslint and prettier clean.

@rmdes rmdes added the plugin-endpoint Endpoint plug-in label Sep 7, 2026
A reply to a Bluesky post was created as a standalone post. Resolve the
parent with getPost(), inherit its root when it is itself a reply, and
set the reply reference on the record. Replies to other URLs are
unchanged.

Fixes #946
@rmdes
rmdes force-pushed the feat/syndicator-bluesky-reply-threading branch from 67dc241 to aa022ad Compare September 13, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

plugin-endpoint Endpoint plug-in

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replies to Bluesky posts are syndicated as standalone posts, not threaded

1 participant