All releases
Fix
Social — reliable pagination, idempotent unfollows, and mutes that stick
Social list endpoints no longer skip or duplicate rows past page 1, unfollow/unmute/unblock are idempotent, muted actors are now actually excluded from the home feed, and comment visibility updates persist. Cursor tokens changed format — restart any saved pagination state from page 1.
A correctness batch across the Social API, live in production since July 13:
- Pagination. The followers, following, mutes, blocks, and restricts lists,
GET /actors, and the close-friends list could silently skip or duplicate rows after the first page. All of them now paginate exactly. As part of the fix, theirnext_cursorvalues switched to the same opaque token format the rest of the API uses — previously-saved raw-id cursors are rejected with400 INVALID_CURSOR; restart from the first page and followpagination.next_cursor. - Idempotent edge deletes. Retrying an unfollow / unmute / unblock / unrestrict now returns
204instead of a surprise404when the edge is already gone. Missing actors still 404. - Mutes now bite. Muting an actor was documented as hiding their posts from your feed but didn't — muted authors are now excluded from the home feed in both orders, and muted terms also filter the discover feed.
- Comment visibility.
PATCH /comments/:idwithvisibilitynow persists the value instead of silently ignoring it. - DM inbox paging. The conversation list with
status=inbox|requestscould strand pages behind anullcursor; deep inboxes now page through completely.
Full details on cursor handling live in the Social API reference.