Herzenschein 🩵⭐
20 hours ago

I'll forever die on the hill that #Matrix and especially #Element must support stickers and sticker packs in a first class manner to succeed in the mainstream.

That, and better clarifying (in docs, website and UI) how to handle encryption, especially so the user never faces "unable to decrypt" issues unintentionally.

1 day ago

Our Matrix chat rooms are once again being severely impacted by major flaws in the protocol and the main implementations of it. It appears to have been caused by temporarily making rooms invite-only in response to raids targeting our project members and community with harassment.

#GrapheneOS #privacy #security #matrix #synapse #element

we would like to point out the potential benefit of #FediLinks as a decentralized replacement for the centralized website, if any #matrix / #element folks want to join.

we would also like to point out the potential benefit of #FediLinks as a partial replacement for @wikimediafoundation 's #GeoHack .

if you make a native client of any kind, be it IRC, matrix, or even a terminal emulator, please join us! (particularly see )

2 days ago

Just installed Element X 😎 and I already uninstalled two other matrix clients !

#privacy #matrix #element #elementx #PrivacyMatters

Element X home screen
CarK :python:
2 days ago

Nerdy question 🤓:

I usually run two instances of @element (with differnt profiles). How can I achieve that they have different Icons in the system tray, such that I do not confund them?

(I use #KDE on #debian #bookworm #gnu_linux and #Element is installed via #flatpak).

3 days ago

soo siickk

"#Quiet is an alternative to team chat apps like #Slack, #Discord, and #Element that does not require trusting a central server or running one's own. In Quiet, all data syncs directly between a team's devices over #Tor with no server required."

vastly superior to Slack, Discord, #Matrix, and #XMPP

e2ee is built in since it's using Tor onion services

#privacy #anonymity

a screenshot of Quiet on macOS showing the basic UI and a new chat room
Funky Buddha
3 days ago

@thenewoil anybody knows if there’s an #Element X for desktop? Or a #Matrix 2.0 compatible desktop app?

Archos :distros_arch: :matrix:
5 days ago

Náš matrix server již podporuje Sliding Sync. Tak je možné vyzkoušet aplikaci Element X. Zatím ještě nenahrazuje klasický #element nebo #Schildichat, ale aplikace je již dostupná pro iOS i Android.

5 days ago

Hach, es gibt einen neuen Matrix-Client¹, und das erste was kam war ein Entschlüsselungsfehler <3

[1] Element X, der Nachfolger des offiziellen Element-Clients, der seit heute für Android und iOS verfügbar ist. Mehr Details gibt's im Blogartikel zu Matrix 2.0 sowie im Artikel zu Element X

#Matrix #Element #ElementX

1 week ago

An interesting document outlining several serious problems inherent to the #Matrix protocol (and its implementations) titled “why not matrix?”:

There’s also a response by project lead and CEO of #Element @matthew:

To be honest: Even after the response, the original article – and my own experience with Matrix & Element – leaves me wondering whether Matrix is really the way to go, and whether these issues can ever be solved.

Alexander Müller
1 week ago

Kennt ihr schon

Ist zuallererst ein Matrix-Server welcher vom Luki e.V. zur Verfügung gestellt wird. Besonders hervorheben möchte ich aber die mobile Apps von Diese sind ein Fork der Element-App, bereinigt von Trackern und mit einem Altersrating, was es auch Jugendlichen ermöglicht, die App zu installieren.

Die Apps könnt ihr auch mit euren Matrix-Servern verwenden:

Herzlichen Dank @luki! ♥️

#Synod #Matrix #Element #Messenger #Pastoraltools #FediLZ

Ivan Enderlin 🦀
1 week ago

This week has been pretty busy at work. Hopefully it has resulted in absolutely awesome results!

✨ Cold start up time for Element X Android has significantly improved from 3-4sec to 100-150ms for accounts with 1000, 2000 or even 4000 rooms (≈30x speed up). That’s awesome! ✨

I’ll explain tomorrow how we did that. Async Rust and immutable data types simply rock.

#matrix #client #Element #ElementX #RustLang #kotlin

1 week ago
@Quinn Norton Any such client will reveal sender and receiver through their phone numbers alone. For sensitive content, especially in polticially oppressed contexts, #Element, #Threema or #Briar will be recommended to keep everyone safe.
A special mention should go out to Briar here, for it's ability to pass on highly encrypted information even only using Bluetooth or with the help of USB sticks, without any centralized server storage or otherwise compromisable company in the middle, full-on peer-to-peer.

@Briar Project @Threema
Bahman M.
1 week ago

#Element for #Linux has become extremely unstable these days 😩

To the point, that I have stopped using the desktop app and am using Element in #Firefox.

Anyone else sharing the same experience? Any workarounds or tips?

$ zypper info element-desktop
Version: 1.11.38-1.2

#openSUSE #TumbleWeed #Matrix #Gnome

1 week ago

Experience live federated and encrypted and secure chat and ditch the profit driven personal information raping commercial apps!

#marimoko #chat #element #matrix #federated #canada

ricardo :mastodon:
2 weeks ago
Marcus Müller
2 weeks ago

Not thrilled by the current #Element (the @matrix client) update; the change in style for rooms without a logo makes the lettering worse to read, and honestly, I could have done without the colors for spaces I know for a long time suddenly changing.

2 weeks ago

Update: It's not just the icons, it's everything, i can barely read stuff anymore #element What did you do to the dark theme and why?

2 weeks ago

This is how matrix makes me feel
#Matrix #Element

American Chopper Argument Meme (So two guys fighting)

The bearded older white guy with tattoos face is replaced with the Element favicon with "1" notification icon inside.


Dad: new notification for you
Son: There are no new messages
Dad: One unread message
Son: *throws chair* There are no unread messages
Dad: Two unread messages

#Quote of the #day


I am the #Spirit that #denies
And #justly so: for all #things from the #Void
Called #forth deserve to be #destroyed
'#Twere better, then, were #naught #created
#thus all which you as #Sin have #rated
#Destruction,—#aught with #Evil #blent,—
That is my proper #element "

2 weeks ago

Ahoj Masťáci,
stáhnul jsem si aplikaci #element a rád bych vyzkoušel, co to dokáže.

Nechtěl by se někdo se mnou propojit a trochu to probádat?

2 weeks ago

#Element is in the play store and #fdroid. Probably the biggest difference is the notification system. From fdroid, it needs to show that the app is running in the background but doesn't with play store.

Anyone notice battery drain differences or other performance?

#android #foss #googleplay

Troed Sångberg
2 weeks ago

Done, I guess. Turns out editing the code would only be needed if running #Dendrite naked towards the Internet. When behind a reverse proxy the changes needed can be made there.

The rest was just to spin up the additional Docker image for sliding-sync. I now have #Element X running towards my Dendrite server.


> Our quest to transition from Weblate to Localazy continues.

Why, @element? Why on Earth?

Why do you put so much energy into harming the greater ecosystem? Why do you keep finding new ways to betray your very own goals every single day?

Why can't we just agree that if we want free and open tools, we should foster free and open tools?

Why can't you just be true to your goals?

#Element #Matrix #FOSS

Troed Sångberg
2 weeks ago

#Element on my iPhone has suddenly gotten the "notifications arrive but sync needs the app to be open and takes _forever_" syndrome. Reading up on it this seems to be some sort of known issue, and rather than figuring out how come it can happen overnight the solution is apparently to upgrade to #ElementX

Alright. That however needs the server to support "sliding sync". Fine - I run my own server, so let's ...

Sure. I use #Dendrite, not #Synapse, so it doesn't support Sliding Sync yet. It seems to consists of running an extra Docker container and then ...

... add a single line to a JSON response created by Dendrite.

This is why we open source. If my understanding is correct my server will support this today then.

(I'm getting the feeling Dendrite is a lost cause. Synapse or #Conduit would be my recommendation for someone doing a new #Matrix server install today)

2 weeks ago

TIL the #Element client on Android shows images in lower resolution than they actually are, even if you tap on the image and zoom in. wth? #matrix

element x
یک نسخه بهبود یافته از element برای اندروید هم اومد.

قبلا فقط توی ios بود
#element #matrix

3 weeks ago

Element X, an improved version of the #Element app, is now available on Android. The app, which is up to 6000x faster than any other #Matrix client, aims to replace existing Element mobile clients.

A blurred background with a halo of colors (white, green, bue, and black), and the Element X logo in the middle.
Stefano Marinelli
3 weeks ago

Good morning, friends of #BSDCafe and the #Fediverse!

The #Matrix server for BSD Cafe is up and seems to be running smoothly. I'd like to begin with some testing - anyone from BSD Cafe interested in an account?
Send me a direct message, and I'll be happy to set one up.
The server is federating correctly and is operational. I've also installed the web version of #Element for easier access.

#ServerUpdate #Testing #JoinUs #BSDCafeUpdates #BSDCafeServices

У меня все сломалось (
Я не могу поставить #element :drgn_sigh:

Ilkka Tengvall
3 weeks ago

#matrix #element android users: Have you lost all notifications from the app? Have you resolved how to get them back?

Sucks that I haven't got any notifications from matrix now for a month, even for the provate DMs.

Ivan Enderlin 🦀
3 weeks ago

Element X preview is now on Android too!,

After iOS, Element X beta is now available on Android. Go rush it, break the app, report bugs, let's all get fun together! Oh, and it's extremely fast, don't be surprised.

#matrix #decentralized #messaging #e2ee #element

2 screenshots of Element X running on Android. The first screenshot shows the room list. The second screenshot shows a room with messages in it.
3 weeks ago

Ce qui manque sur #Element (ex Riot)... Bref #Matrix c'est la possibilité de rendre éphémère les messages. Ça manque vraiment cette option.

Suguru Hirahara
3 weeks ago

#schildichat desktop/web, a forked client of #element, is unfortunately lagging behind the upstream release since months.

I hope it will be fixed with the collective power of the #matrix community 😀

4 weeks ago

@fell Not quite true.

#Element #Android can actually use #UnifiedPush so you can get push notifications without #Google #FCM.

I run a #Nextcloud instance with the #NextcloudUnifiedPush app and #NextPush on my phone and it works nicely.

4 weeks ago

@imdat Yeah, the #UX around #Matrix / #Element signup and verifying of new devices definitely still needs a lot of work.

I run my own server and set up accounts for family members, but it's still a nightmare when they first try to log in and need to verify their devices.

Element UI, that "All Chats" should probably sit next to my avatar button? #matrix #element

Element UI, Top

The #Matrix public homeserver list has moved, with a new look and some customizable filters!


#matrixchat #element #chat

My son friends and their parents recently joined @element with their Android phones.
Two of them created accounts with the Google SSO support, but when they joined a encrypted room - the top of the app was filled with a warning about "key backup", when clicked - nothing happens.

Have anyone else noticed this bug?
Kinda annoying and not a good onboarding experience for new users :/

Screenshots of the symptoms problems
#matrix #element #askfediverse

Dr. Mastodonocologist
1 month ago

@MineralCup I feel personally assaulted that #tourmaline, #beryl, #barite, and even #spodumene and #selenite the largest crystals in the world, aren't in this bracket. These are badass minerals.
I don't think #mercury is even a #mineral. It's just an #element.
And no #hematite or #magnetite? People are just showing off. #bischofite? Girl, please. #shitpostingwithlove

È stata creata una stanza, che sfrutta il protocollo di comunicazione #Matrix.
Si potrà discutere di tutto ciò che riguarda il #Fediverso (e dintorni), molto utile specialmente ai nuovi che potranno chiedere senza problemi, siamo qui TUTTI per imparare.
La stanza è accessibile a chiunque nel Fediverso, usando (ad esempio) #Element e l’indirizzo è:

Presentarsi all'arrivo (in italiano).

1 month ago

If you like webcomics and use matrix chat, you are welcome to join my webcomics room: #Webcomics #Matrix #MatrixOrg #MatrixChat #Element #ElementChat

Hans van Zijst
1 month ago
I have #Element installed on everything, so I don't usually use #ElementWeb. Of course I've installed in on all my Matrix-servers, but that's solely as a service for those poor souls who don't have their own Element yet.

Unfortunately, it turns out that all my ElementWeb installs have somehow failed: after providing a username and password, all you'll ever get is an eternal spinner and the message "signing in..." Nothing happens after that, I don't see any errors logged.

And that's on 3 of my servers, so the error must be mine. Apparently this doesn't seem to be something that the whole world suffers from, or all those posts about it have been professionally hidden from my view. Or I'm pretty bad at searching, also plausible 😉

Does anyone recognise this? I'm sure it must be something simple...

1 month ago


I used @yunohost to install #Synapse and #ElementWeb for #Matrix, which by default install #Coturn, but it's been pretty shaky for video calls.

Issues are mainly with one person calling from #Element on a slightly older #iPhone. About 2/3 of the time, the call doesn't ring on one side, or connects without sound, or doesn't connect at all.

Any idea what community would make sense to troubleshoot this with? #Yunohost? Synapse? #Element? Coturn? Hard to know where to even start... 🤔

Islamic Audiobooks Central
1 month ago

@gael @telegram @signalapp @matrix Useful easy to follow discussions are difficult without threads/topics like #discourse forums or even email threads. I heard #Matrix or #Element supports or will support threads but haven't encountered them in any groups yet.

Ivan Enderlin 🦀
1 month ago

Element X iOS and Android nightlies have started to integrate the Matrix Rich Text Editor,

It’s a rich text editor (WYSIWYG) written in Rust with bindings for Swift, Kotlin and JavaScript.

I’ve personally improved WebAssembly support and Markdown support, Notably this fun patch that has reduced the Wasm module size by 76%, 😜.

#RustLang #swift #kotlin #WebAssembly #matrix #Element #editor #decentralised #e2ee #messaging

Ivan Enderlin 🦀
1 month ago

Element X iOS nightly has a new way to render the Timeline. It is impressively fast, with smooth animations, less code and less bugs. What else :-)?

Patch in Element X iOS,

The `Timeline` is an API of `matrix_sdk_ui`,

#RustLang #swift #matrix #Element #decentralised #e2ee #messaging #ui #performance

Ivan Enderlin 🦀
1 month ago

Element X will support dehydrated device (MSC3814).

Path in the Matrix Rust SDK,


Do you delete your devices often, like everyday? Dehydrated devices allow to keep receiving encrypted messages in a decentralised network with virtual devices.

#RustLang #e2ee #matrix #Element #decentralised #messaging #cryptography

Ivan Enderlin 🦀
1 month ago

Element X nightly has offline support.

Patch in the Matrix Rust SDK,

No service? No problem. Search for rooms, read your messages… still encrypted, still here.

#RustLang #matrix #Element #decentralized #e2ee #messaging

Ivan Enderlin 🦀
1 month ago

Element X nightly has fuzzy search on room names in the room list. And it’s awesome.

Patch 1 in the Matrix Rust SDK,

Patch 2 in the Matrix Rust SDK,

Patch 3 in Element X iOS,

It’s probably for power users but how comfortable it is!

I even added UTF-8 normalisation for more comfort.

#RustLang #matrix #element #decentralized #secure #e2ee #messaging

Thorwegian ❄️
1 month ago

#Element (#Matrix chat client) on mobile needs to fix replies for images. it only shows the image name someone replied to.

i don't even know what the image name is when i upload from my phone. it gets assigned some random sequence of letters.

@dansup @firefish I have also seen weird “unable to decrypt” messages on #Matrix too.

The FAQ on #Element does not provide a solution either:

I wonder if the @element & @matrix teams can investigate this issue‽

My theory: people are using different versions of Matrix & the older version is having issues decrypting or being decrypted by the newer versions.

@saustrup @anders I like #fluffychat but I think, I like #Element better 😉

Any specific reason you prefer Fluffychat? Better onboarding? Better UI?

2 months ago

@solarkraft @scottjenson @zem

I completely agree. Having the UX insist that any call between two people generates a "room" that people enter and leave independently from being on a call or hanging up a call, confuses the hell out of my family members. They just want to hit a call button by my name to call me!

It's the same metaphor/issue in #Nextcloud #Talk.

#Matrix #Element #UX

legumancer Davy
2 months ago

My employer uses Rocket.Chat with Jitsi for video conferencing, and it's not working well for us. The main problem is Jitsi calls failing to display video and/or desktop screenshares. I think more fine grained control of notifications would also really help us. (There's no way to turn off notifications of group channels while leaving them on for individual ones, for example.)

There's been a lot of talk about switching to Microsoft Teams, because it's gotten annoying enough that our manager thinks it's worth spending money to switch.

Is #Element on the #matrix protocol substantially better? It'd be pretty cool if we could stay in the open source world instead, and the encryption is a great bonus.

2 months ago

@Shredd_Tone @MedievalMideast Jitsi is great... also check out Element -- . This is a new WebRTC video experiment by the people that created Matrix, and it's also available inside Matrix chat rooms (if you're using Element as a client, and enable the beta settings). #matrix #element

Ted Curran M. Ed. 🆒
2 months ago

Anyone know why @matrix clients like #Element have an age restriction for "adult content" in the iOS app store? Trying to make a private chat room for the neighborhood kids and this makes the other parents nervous. #matrixchat

#Android #iPhone

2 months ago

Die #Matrix #Element #DesktopApp erhält Verbesserungen in Sachen #Barrierefreiheit für #blinde Menschen:

Thanx to

Auch die mobilen Apps sollen überarbeitet werden. hat ja vor einigen Jahren schon wichtige Dinge zur Verbesserung beigetragen.

#Chat #Messenger #blindFedi #blind #ScreenReader

2 months ago

Those who were scandalised by @element selling encrypted @matrix communications services to cops, and suggesting XMPP as a replacement, you might be interested to know that...

"Conversations_im seems to be doing its job at the German Federal Police."


#chat #encryption #Matrix #XMPP #Element #Conversations

Mike Kuketz 🛡
2 months ago

Service-Toot: Die Messenger-Matrix wurde aktualisiert. Die Empfehlung für Threema wurde angepasst, nachdem nun ein formaler Sicherheitsaudit für das Krypto-Protokoll vorliegt.

#messenger #briar #conversations #deltachat #discord #element #imessage #jami #signal #simplex #siskin #skype #telegram #threema #atox #whatsapp #wire #xmpp #matrix

EMS #Element #Matrix closed source homeserver migration tool is broken enough to send deprecated login requests. #Conduit no longer handles them. Hence first patching my homeserver reintroducing a deprecated endpoint implementation in order to support account migration.

If it was open source, I could simply fix the request. But this way. Ouch.

#ClosedSource #VectorIm

D2I 🕊
2 months ago

#p2p team chat with no servers, just Tor.
Quiet is an alternative to team chat apps like
#Slack, #Discord, and #Element that does not require trusting a central server or running one's own. In Quiet, all data syncs directly between a team's devices over #Tor with no server required.

MikeEL 🐘
2 months ago


What is your opinion of #element and #Matrix ?

Should Threads interoperate with #Matrix
protocol ?

James Fellows Yates
2 months ago

Looking for hivemind feedback/suggestions on replacing #slack with an affordable alternative for a 'grass-roots' global student organisation.

We want to remain institutionally independent. We _may_ have a budget of around €2000 pro year, for about 400-500 users (~140 active).

Does anyone have idea of services or hosters (preferably EU based) who meet this criteria?

#fosstodon #foss #opensource #hosting #element #chat #community #academicchatter #academia #AcademicMastodon

2 months ago

Hace tiempo que no entraba a #Element, espacio donde tenía una comunidad para compartir libros y debatir o solicitarlos. Lamentablemente experimenté problemas en dos ocasiones donde las salas en que había almacenado los archivos sencillamente se vaciaron, no se podía acceder al historial, así que decidí abandonarlas.

Sé que por estos lares son renuentes a usar redes centralizadas, pero pienso vincular una biblioteca donde tengo bastantes de mis libros a mi canal de historia

2 months ago

If you like webcomics and use matrix chat, you are welcome to join a webcomics matrix room: #WebComics #WebComic #Matrix #MatrixChat #MatrixOrg #Matrix-org #Element #ElementChat

Sven Slootweg
2 months ago

So one of the major differences between corporate software development and community software development is the difference in transparency.

In corporate projects, the default is secrecy; you don't tell stuff to outsiders unless you have a reason to. In community projects, the default is openness; you always do everything out in the open unless you have a reason *not* to.

And I think that the a lot of the problems people have with Element and - by extension - Matrix are to do with precisely that: Element's projects are run as corporate projects, not as community projects.

I don't mean that there's no spec process, or that it's proprietary, or that there's no work out in the open - I mean that it is not out in the open *by default*. As Element grows, it is becoming increasingly common to hear the word "internal".

"Internal" is the death knell of a community project. Internal projects, internal discussion, internal review, internal priorities. Internal means secrecy; not visible to the community, not taking its input, not *accountable* to that community.

Some things, like actively exploitable vulnerabilities, *need* to be kept internal - but most everything else shouldn't be. Spec changes shouldn't be under internal discussion. Refactoring shouldn't be an internal process.

Or to put it differently: at the very least, the full state of the project must be visible to the whole community at any given time - *without* actively having to ask The Right Person about it. Maybe in some cases read-only, but it must be visible without delay or barrier.

And if you're trying to run a community project as a corporation, yes, that means needing to disclose the internal workings of your corporation. Yes, also the 'company secrets'. Yes, also the internal bureaucratic processes.

And yes, also take feedback on them from the community. If you want to do it right, it needs to be a symbiotic relationship, even if that means not doing the 'standard thing' from a corporate perspective.

Element has failed to do this, and the result is that people are feeling more and more alienated from the process; a process which they increasingly have no visibility into, and zero control over.

It's nominally still a community project, but in practice there's always some unspecified and invisible "internal" roadblock standing in the way of contributions, with no timeline of any sort, and a distinct sense of neglect.

And that's how it ends up taking 7 years to fix a grating notification sound:

Element needs to do better. The Matrix foundation, which Element is still the major contributor to in practice, needs to *demand* better. I think Matrix has real potential, but I would prefer if it didn't require a community fork to get there.

#Matrix #Element #FOSS

Steffo 🐲
3 months ago

I'm thinking of maybe #selfhosting a #matrix (and #element) server on my root server. Preferably with #docker. The only issue is: I want to use subdomains (e.g. and I use an #nginx that is installed on my host server.
I mean.. I already use that for my other docker containers, but these are mostly just simple reverse proxys to simple web pages.

Has someone a good #guide or would be okay to help, so I can try hosting matrix?

(Or shouldn't I use docker for this?)

Eva Pavlikova
3 months ago

U #beeper je tedy znát, že se zaměřuje přesně na funkce, co #element zatím nemá - archivace, poznámky, lepší dojem přichatování.


Eva Pavlikova
3 months ago

Tak pokračuju v objevování, za podpory a zapujčení hostovacíhp místa (a nekonečné pomoci @archos 🫶) a zkouším #element.

Mohla bych se na to zkoušení vykašlat, ale aspoň objevuju něco novýho.

Ten #element mě baví daleko víc proto, že je to open-source, na rozdíl od #beeper, prakticky obe aplikace využívají stejný podvozek #matrix.

Aplikace na #ios se drobně liší ve prospěch #beeper, ale to by mohl vyřešit #elementx.


Jake Coppinger
3 months ago

@mattcen Will sliding sync help with cases like this or is that only for client <-> server syncs?

I tried out the iOS ElementX against my own self-hosted Synapse with the sliding sync proxy and it works great!

#matrix #element #elementx

Ivan Enderlin 🦀
3 months ago

Element X — experience the future of Element!

The official blog post :-).

#matrix #element #e2ee #decentralized #messaging

Ivan Enderlin 🦀
3 months ago

Element X on iOS has been released on the App Store. It has exited TestFlight, it's still a beta.

It uses the Rust SDK behind the scene ( Bindings for Swift and Kotlin are generated by UniFFI (, and it supports `async fn` in Rust! I'm preparing a blog post to explain our awesome stack.

Please enjoy it. It's our fastest and most polished Element client.

#matrix #element #e2ee #messaging #decentralized

2 screenshots of Element X. On the left, the new Room List is presented. On the right, the new Room Timeline is presented.
3 months ago

@hywan I'm just really hoping that #ElementX makes calling between #Android and #iOS clients more reliable. Currently using the standard #Element clients, I get about a 30% success rate in calls connecting and of those only about a 25% rate of both video and sound working in both directions.

Time to dig through if this is the same as any other reported bugs or whether to file my own (while explaining to tech noob relatives how to get their version numbers from the OS / app)

Ivan Enderlin 🦀
3 months ago

Element X 🙌 !
Element X 👏 !
Element X 👌 !

Soon. Very soon.

#matrix #element #decentralized #messaging #e2ee

#Britain 🇬🇧 citizens might lose legal access to #iMessage (by #Apple), #Signal, #WhatsApp, #Telegram & even #Element / #Matrix if #England does not amend this bill. Key word is legal access, as many people will still use these services illegally if necessary.

I believe cooler heads will prevail in this situation though. I hope!

👉🏾 Apple joins opposition to encrypted message app scanning