Repository navigation
X skill: exact unread messages, 1000-conversation inbox pages - #588
Merged
Merged
Conversation
List unread conversations, then page each one's get_chat_conversation_events newest first and stop at the first event at or below last_read_event_id, the seen_until_sequence_id of the owner's latest read receipt; no parameter starts after an event. mark_chat_conversation_read takes only id and always marks the whole conversation read. Marking a conversation unread does not set unread.
get_chat_conversations now takes up to 1000 per page. Fall back to 100 if the API still rejects 1000.
Keep max_results 1000, events at 100 per page, paging past an empty events page with a next_token, and leaving out the owner's own messages. Drop text the live tools and API already cover: mark-read takes only id, unread is computed by the API, events come newest first with unread ones above last_read_event_id, and no parameter starts after an event.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.
Reviewed by Cursor Bugbot for commit 78bf6cc. Configure here.
| | `get_users_public_key` | Self: `juicebox_config`, `public_key_version`, `public_key`, `signing_public_key`, `identity_public_key_signature` | | ||
| | `get_users_public_keys` | Signing keys for every sender, all versions (up to 100 `ids` per call) | | ||
| | `get_chat_conversations` | Inbox (paginate) | | ||
| | `get_chat_conversations` | Inbox (paginate), `max_results` 1000 | |
There was a problem hiding this comment.
Inbox page-size fallback removed
Medium Severity · Potential Edge Case
get_chat_conversations now always uses max_results 1000, with the "if rejected as too large, use 100" fallback removed. Published Chat OpenAPI limits this parameter to 100, so a rejected first page can fail the unread list and the full inbox with no recovery.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 78bf6cc. Configure here.
tcaldwell-x
approved these changes
Oct 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Lists the inbox with
max_results1000 and finds the exact unread messages by paging each unread conversation's events newest first down tolast_read_event_id, leaving out the owner's own. Mark-read takes onlyidand marks the whole conversation read; marking a conversation unread does not setunread.