Repository navigation
Conversation
This was referenced Oct 4, 2026
Author
|
@batuhan this is aimed at the native iMessage gap behind desktop-api-js#36: account discovery can be false-negative even while iMessage chats work. This PR keeps existing account rows authoritative, infers only when needed, adds a focused |
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.
Summary
Make Apple Messages/iMessage usable from the CLI even when the Desktop accounts API omits the native account.
This adds:
/v1/accountswith iMessage chatsaccounts listiMessage/ inferredimessage_*account IDsaccounts showfallback when the inferred native account is not retrievable from/v1/accounts/{id}--accountacross text, file, sticker, and voice sendsbeeper doctor --network imessagediagnostics for:Why
Today iMessage can be connected and fully usable in Beeper while
GET /v1/accountsomits it. That makesaccounts list, account-based filters, and agent workflows report a false negative.It also makes outbound automation unnecessarily brittle because a sender has to find an existing chat first. With this PR, an explicit account turns
--tointo a recipient identity and asks Beeper to reuse or start the direct chat:beeper send text --account iMessage --to +15551234567 --message "Checking in" beeper send file --account iMessage --to +15551234567 --file ./proposal.pdfThe native bridge also currently has a cursor conversion issue where older-history pagination can return an empty second page. The network-specific doctor probe makes that failure explicit instead of letting an operator assume history ended.
Related:
Safety / behavior
native: trueandinferredFrom: "chats".send --tochat-selector behavior is unchanged unless--accountis supplied.--accountuses Beeper's existing/v1/chats/startsemantics, which reuse an existing direct chat when available.beeper doctorbehavior is unchanged unless--network imessageis supplied.Tests
Adds coverage for:
iMessageto the inferred account ID