-
-
Notifications
You must be signed in to change notification settings - Fork 44
Open
Labels
bugSomething isn't workingSomething isn't working
Description
First off, actual symptoms on my end:
- I can receive iMessage, RCS, and SMS messages just fine via the bridge (I'm using Beeper Desktop)
- I can receive (and send) iMessage, RCS, and SMS via Messages / BlueBubbles directly on the bridge machine
- I can send iMessage and RCS via the bridge;
- but I cannot send SMS, specifically, via the bridge. I get the following errors when I do:
sh-imessage: 2025-02-02T15:33:35-06:00 DBG Starting handling Matrix message $HCSD5IHeErWBRxDuAflRzdqx1QYvl4YfXbZxVMtZeL4:beeper.local portal_guid=iMessage;-;21525
bluebubbles: [2025-02-02 15:33:35.217][debug] Request to /api/v1/message/text (URL Params: {})
bluebubbles: [2025-02-02 15:33:35.218][debug] Sending message "test 3" to iMessage;-;21525
bluebubbles: [2025-02-02 15:33:35.241][info] Adding await for chat: "iMessage;-;21525"; text: test3; tempGuid: temp-mblMGzjC
bluebubbles: [2025-02-02 15:33:35.448][debug] Raw Error: Ch: [500] Message Send Error
bluebubbles: [2025-02-02 15:33:35.457][debug] API Error: [500] Message Send Error -> Chat does not exist!
bluebubbles: [2025-02-02 15:33:35.478][debug] Ch: [500] Message Send Error
bluebubbles: at sendText (/Applications/BlueBubbles.app/Contents/Resources/app.asar/dist/main.js:1:267547)
(Full log)
At first I thought it might be a database corruption in my local installation; perhaps the database was initialized and backfilled with one value for disable_sms_portals before the new value was picked up, and thus necessary data wasn't duplicated?
... but then the logs are a little more illuminating when a brand-new SMS is recieved:
bluebubbles: [2025-02-03 14:10:51.346][info] [BlueBubblesServer] New Message from +*******4444, "hi"; Date: 2/3/2025, 2:10:50 PM
bluebubbles: [2025-02-03 14:10:51.360][info] [BlueBubblesServer] Chat read [SMS;-;+12223334444]
sh-imessage: 2025-02-03T14:10:51-06:00 DBG Received incoming message D85CBA71-F388-D622-E5B6-24DEACD0F9BF in SMS;-;+12223334444 () module=iMessage
sh-imessage: 2025-02-03T14:10:51-06:00 INF Creating Matrix room to handle message portal_guid=iMessage;-;+12223334444
sh-imessage: 2025-02-03T14:10:51-06:00 DBG Getting chat info to create Matrix room portal_guid=iMessage;-;+12223334444
bluebubbles: [2025-02-03 14:10:51.415][debug] Request to /api/v1/chat/iMessage;-;+12223334444 (URL Params: {"with":"participants,lastMessage"})
bluebubbles: [2025-02-03 14:10:51.416][debug] Raw Error: vh: [404] The requested resource was not found
bluebubbles: [2025-02-03 14:10:51.417][debug] API Error: [404] The requested resource was not found -> Chat does not exist!
Even for brand-new numbers which BlueBubbles/mautrix-imessage have never seen, SMS;-;+12223334444 is getting rewritten into iMessage;-;+12223334444, which from BlueBubbles' perspective, does not exist. Thus, the message-sending fails.
My config diff:
bridge:
# Whether or not the bridge should send error notices via m.notice events
# when a message fails to bridge.
send_error_notices: true
# Should SMS chats always be in the same room as iMessage chats with the same phone number?
disable_sms_portals: true
backfill:
# Maximum age of chats to sync in days.
initial_sync_max_age: 60
media_viewer:
imessage_min_size: 1024288000Versions and full configuration details:
- macOS "Sequoia" 15.1.1 (24B91)
- BlueBubbles Server v1.9.8
bbctlv0.13.0 (built Dec 15 2024; static binary from GitHub releases)mautrix-imessage0.1.0+dev.892f056 (built Nov 27 2024; automatically installed bybbctl)
All of the above are running on the same host:
Model Name: Mac Pro
Model Identifier: MacPro7,1
Enclosure: Rack
Processor Name: 12-Core Intel Xeon W
Processor Speed: 3.3 GHz
Number of Processors: 1
Total Number of Cores: 12
L2 Cache (per Core): 1 MB
L3 Cache: 19.3 MB
Hyper-Threading Technology: Enabled
Memory: 48 GB
System Firmware Version: 2069.40.2.0.0 (iBridge: 22.16.11072.0.0,0)
OS Loader Version: 582~2132
System Version: macOS 15.1.1 (24B91)
Kernel Version: Darwin 24.1.0
Boot Mode: Normal
Secure Virtual Memory: Enabled
System Integrity Protection: Disabled
BlueBubbles configuration:
- Zrok proxy
- "Messages" Private API helper ✅ enabled
- "FaceTime" Private API helper 🚫 disabled
- Accessibility permissions ✅ given
- Full Disk Access ✅ given
- Notifications 🚫 disabled
Full config.yaml:
homeserver:
address: https://matrix.beeper.com/_hungryserv/elliottcable
websocket_proxy: wss://matrix.beeper.com/_hungryserv/elliottcable
ping_interval_seconds: 180
domain: beeper.local
software: hungry
async_media: true
appservice:
hostname: null
port: null
tls_key: null
tls_cert: null
database:
type: sqlite3-fk-wal
uri: file:mautrix-imessage.db?_txlock=immediate
id: REDACTED
bot:
username: sh-imessagebot
displayname: iMessage bridge bot
avatar: mxc://maunium.net/tManJEpANASZvDVzvRvhILdX
ephemeral_events: true
as_token: REDACTED
hs_token: REDACTED
imessage:
platform: bluebubbles
imessage_rest_path: "darwin-barcelona-mautrix"
imessage_rest_args: []
contacts_mode: mac
log_ipc_payloads: false
hacky_set_locale: null
environment: []
unix_socket: mautrix-imessage.sock
ping_interval_seconds: 15
delete_media_after_upload: false
bluebubbles_url: REDACTED
bluebubbles_password: REDACTED
segment:
key: null
user_id: null
hacky_startup_test:
identifier: null
message: null
response_message: null
key: null
echo_mode: false
send_on_startup: false
periodic_resolve: -1
bridge:
user: "@elliottcable:beeper.com"
username_template: sh-imessage_{{.}}
displayname_template: "{{.}}"
personal_filtering_spaces: true
delivery_receipts: false
message_status_events: true
send_error_notices: true
max_handle_seconds: 60
device_id: null
sync_direct_chat_list: false
login_shared_secret: appservice
double_puppet_server_url: null
backfill:
enable: true
initial_limit: 100
initial_sync_max_age: 60
unread_hours_threshold: 720
# ... snip ...
periodic_sync: true
find_portals_if_db_empty: false
media_viewer:
url: https://media.beeper.com
homeserver: beeper.com
sms_min_size: 409600
imessage_min_size: 1024288000
template: "Full size attachment: %s"
convert_heif: false
convert_tiff: true
convert_video:
enabled: false
ffmpeg_args: ["-c:v", "libx264", "-preset", "faster", "-crf", "22", "-c:a", "copy"]
extension: "mp4"
mime_type: "video/mp4"
command_prefix: "!im"
force_uniform_dm_senders: true
disable_sms_portals: true
reroute_mms_group_replies: false
federate_rooms: false
caption_in_message: true
private_chat_portal_meta: default
encryption:
allow: true
default: true
appservice: true
require: true
allow_key_sharing: true
delete_keys:
delete_outbound_on_ack: true
dont_store_outbound: false
ratchet_on_decrypt: true
delete_fully_used_on_decrypt: true
delete_prev_on_new_session: true
delete_on_device_delete: true
periodically_delete_expired: true
verification_levels:
receive: cross-signed-tofu
send: cross-signed-tofu
share: cross-signed-tofu
rotation:
enable_custom: true
milliseconds: 2592000000
messages: 10000
disable_device_change_key_rotation: true
relay:
enabled: false
whitelist: []
message_formats:
m.text: "{{ .Sender.Displayname }}: {{ .Message }}"
m.notice: "{{ .Sender.Displayname }}: {{ .Message }}"
m.emote: "* {{ .Sender.Displayname }} {{ .Message }}"
m.file: "{{ .Sender.Displayname }} sent a file: {{ .FileName }}"
m.image: "{{ .Sender.Displayname }} sent an image: {{ .FileName }}"
m.audio: "{{ .Sender.Displayname }} sent an audio file: {{ .FileName }}"
m.video: "{{ .Sender.Displayname }} sent a video: {{ .FileName }}"
logging:
min_level: debug
writers:
- type: stdout
format: pretty-colored
- type: file
format: json
filename: ./logs/mautrix-imessage.log
max_size: 100
max_backups: 10
compress: falseReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working