Skip to content

Broken messaging with e2be (mautrix) bridges (potential fix included) #3310

Closed
@marwing

Description

@marwing

Steps to reproduce

  • Update to 1.8.3
  • try to send a message in an e2be portal

Outcome

What did you expect?

The bridge receiving decryption keys and being able to bridge the message

What happened instead?

The bridge complains about the client refusing to share decryption keys
2024-09-22 01 57 41
2024-09-22 01 54 49

Additional Context

EXi is the only client I tested that exhibits this behavior (this in particular also includes Element X Android 0.6.3 running under waydroid). Downgrading to 1.8.2 through TF fixes this. Toggling Invisible Crypto in the dev settings doesn't change anything (visible).

I assume this has something to do with #3247 (which looks like it's the only relevant commit in 1.8.2...1.8.3) not properly respecting the disabled status for invisible crypto.
In particular, this should probbly use appSettings.invisibleCryptoEnabled:

invisibleCryptoEnabled: appSettings.enableNotifications)

I understand that e2be (in mautrix bridges) with invisible crypto is an unsolved problem (matrix-org/matrix-spec-proposals#4153 (comment)). EXi not breaking my bridges by forcing this (yet), so I don't need to use another client on my phone while this is unsolved, would be appreciated.

The rooms in the screenshots above are !pIITXSkaDCCSvEyKAC:synapse.rntpts.de for Signal and !ZqodMKANcYpNTRMIKP:synapse.rntpts.de for WhatsApp in case you search the logs.

This is also visible if I manually create an unsigned device in a separate test account and send a message in a shared room (even more hints for invisible crypto), but the bridges are the only practical issue (actual unsigned devices are the main purpose of the MSC after all).

Your phone model

iPhone 13 mini / iPad Pro

Operating system version

iOS/iPadOS 18.0

Application version

1.8.3 (126)

Homeserver

Synapse 1.115.0 with and without Proxy 0.99.19

Will you send logs?

Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions