Skip to content

Releases: lrhodin/corten-matrix

(fix) Messages failing to send - edge case

Choose a tag to compare

@mackid1993 mackid1993 released this 26 Jul 07:21

Fixed messages silently disappearing in chats that had fallen back to SMS; they now send over iMessage when possible, and show as failed when they can't be delivered at all. Thanks for the logs @Bijan-A.

Full Changelog: 1.0.9...1.1.0

(fix) Long Messages

Choose a tag to compare

@mackid1993 mackid1993 released this 25 Jul 17:51

Long iMessages that previously vanished — and could permanently stall a chat's backfill — are now split across multiple Matrix messages with no text lost.

Full Changelog: 1.0.8...1.0.9

Fixes

Choose a tag to compare

@mackid1993 mackid1993 released this 22 Jul 19:29

Fix edgecase statuskit related crash. Thanks to @rushinburrito for your help. Fixed corten-matrix reset command.

Full Changelog: 1.0.7...1.0.8

Add rustpush patch

Choose a tag to compare

@mackid1993 mackid1993 released this 11 Jul 18:43

(fix) self chat not showing presence

Choose a tag to compare

@mackid1993 mackid1993 released this 04 Jul 17:41

Fix statkit issue with self chat

What's Changed

Full Changelog: 1.0.3...1.0.6

bugfixes

Choose a tag to compare

@mackid1993 mackid1993 released this 04 Jul 15:39
98e4b2a

Logging fixes for Linux, attempt to fix random transient disconnect issue. Thanks @Bijan-A. Thanks for the contribution @lwittwer.

Full Changelog: 0.0.0...1.0.5

Minor Fixes

Choose a tag to compare

@mackid1993 mackid1993 released this 28 Jun 04:35
98e4b2a

Fix contact photos (prefer phone number when email exists) again.

Full Changelog: 0.0.0...1.0.4

Built in Update Command

Choose a tag to compare

@mackid1993 mackid1993 released this 27 Jun 21:41

New feature for prebuilt binaries corten-matrix update.

It pulls the latest release for your platform (macOS universal, Linux amd64, or Linux arm64), replaces the installed binary in place, prints the release notes, and restarts the bridge. Your config, login, and data are untouched.

corten-matrix update # update & restart
corten-matrix update check # show what's available + release notes, change nothing
corten-matrix update force # re-download & reinstall the current release

The service must be installed first. update doesn't take a path or guess where your binary lives — it locates it through the corten-matrix entry on your PATH. That entry is a symlink into /usr/local/bin that corten-matrix setup (and install-service) creates, pointing at wherever you actually keep the binary; update follows the symlink to that real file and replaces it in place, leaving the symlink intact. So you must have run setup / install-service (and added it to PATH when prompted) before update will work. If corten-matrix isn't on your PATH, update stops and tells you to install the service first rather than guessing. (If the binary lives somewhere only root can write, it uses sudo for the swap.)

Full Changelog: 1.0.2...1.0.3

BETA: Minor Fixes

Choose a tag to compare

@mackid1993 mackid1993 released this 27 Jun 20:12

Thank you @kgr17 for helping test. Just a few a minor fixes related to systemd.

Full Changelog: 1.0.1...1.0.2

BETA: Second iMessage Account / Fixes

Choose a tag to compare

@mackid1993 mackid1993 released this 27 Jun 04:26

Highlights

  • Run a second iMessage account on one machine, under a single service.
  • SMS/RCS/MMS group chats no longer split across rooms or mis-route replies.
  • Fixed a bridge hang during auto-reconnect.

Added

Dual iMessage accounts (two Apple IDs)

Bridge two Apple IDs on the same machine (max two), each as its own fully
isolated bridge — separate iMessage login/session, data directory, config, and
Matrix appservice — all running under a single background service.

  • Add or reconfigure any time with one command: corten-matrix setup 1
    (self-hosted) or corten-matrix setup-beeper 1 (Beeper). No mid-setup prompts.
  • One service runs both bridges, so start / stop / restart / status act
    on both at once. corten-matrix logs 1 tails the second account.
  • macOS note: at most one account can use local chat.db history backfill
    (the Apple ID signed into Messages); the other uses CloudKit. This only
    affects history backfill — real-time messaging works for both accounts
    regardless. (Linux always uses CloudKit.)

Fixed

SMS/RCS/MMS group chats no longer split or mis-route (#60, fixes #58)

  • One room per group. Carrier group chats have no stable Apple group ID —
    iCloud reports the same group under several different encodings, which
    previously sharded one conversation across many Matrix rooms (one case
    collapsed from 10 rooms down to 1). Carrier groups are now keyed by their
    participant set on both the live and history-backfill paths, so they converge
    on a single room.
  • Replies land in the group, from the right person. A reply in a 3-person
    carrier group could be misread as a 1:1 and delivered into a DM with the wrong
    contact. Group detection now counts the real members, so replies stay in the
    group with the correct sender.
  • Automatic cleanup of existing duplicates. On startup the bridge
    consolidates groups already split under the old scheme — merging the rooms and
    re-backfilling history (deduplicated, so nothing is lost). Room moves are
    rate-limited per launch to keep startup responsive, finishing over later
    restarts if there's a large backlog.
  • Correct send service. Carrier groups now reliably send over SMS/RCS/MMS
    instead of occasionally falling back to iMessage — including RCS/MMS groups and
    after a group's membership changes.

iMessage groups and 1:1 DMs are unaffected.

Bridge no longer hangs on auto-reconnect (#63, relates to #56)

After a prolonged receive-wedge, the auto-reconnect could hang indefinitely
(logging "Client disconnection taking long" every 2 seconds until a manual
restart). Disconnect now tears down the APNs connection before stopping the
client and bounds the stop with a timeout, so reconnect always completes.

Internal

  • Added unit tests covering carrier-group key convergence, duplicate
    consolidation, and room-move selection.

Contributors

Thanks to @needo37 (#60) and @Bijan-A (#63), and to @kgr17 for testing the
second-account support.