element-hq / element-ios

A glossy Matrix collaboration client for iOS
https://element.io
GNU Affero General Public License v3.0
1.73k stars 493 forks source link

Disable App Extensions impacted by multi-process race conditions #7618

Closed manuroe closed 1 year ago

manuroe commented 1 year ago

We are aware the app has multi-process issues on the crypto store between the app and its extensions. We have a legacy mechanism on the Notification Extension Service that prevents from having such a race but we do not have solutions for other extensions.

The impacts are really bad as described here #7499.

We do not have the capacity to work on this complex issue now as we are focused on Element X iOS. Instead of providing broken features on Element iOS, we are going to remove them. We will get them right on Element X iOS.

We need to disable:

jacotec commented 1 year ago

@manuroe Are you really serious about this? My investigations and filing of this issue was not intended to break the share extension for everyone. What about disabling the colliding cache as a workaround?

Or move back to the previous encryption library and keep the (obviously faulty) Rust lib in a fixed version for EX.

This will have a huge impact not only for my users. 3 months after completely migrating back to Element after 3 years of RocketChat this will become a complete desaster! I absolutely disagree with this action. Every messaging app on this planet supports sharing, this is nothing you can explain to your users.

At least the Share Extension must be available for unencrypted rooms. EX is ways too far away for production use.

toshanmugaraj commented 1 year ago

@manuroe Are you really serious about this? My investigations and filing of this issue was not intended to break the share extension for everyone. What about disabling the colliding cache as a workaround?

Or move back to the previous encryption library and keep the (obviously faulty) Rust lib in a fixed version for EX.

This will have a huge impact not only for my users. 3 months after completely migrating back to Element after 3 years of RocketChat this will become a complete desaster! I absolutely disagree with this action. Every messaging app on this planet supports sharing, this is nothing you can explain to your users.

At least the Share Extension must be available for unencrypted rooms. EX is ways too far away for production use.

May I know the reason behind switching to Matrix after 3 years of RocketChat usage.

jacotec commented 1 year ago

@toshanmugaraj Sure, it's not real and honest open source anymore. They move also essential working features from the OS version to enterprise, like read receipts as the last coup. Which renders a messaging app fully unusable.

antdude commented 1 year ago

This is disappointing after I updated my iOS app today. I can no longer share from other iOS apps in my iPhone (iOS v16.6). I guess I will have to use other Matrix apps like FluffyChat. :(

jacotec commented 1 year ago

This is disappointing after I updated my iOS app today. I can no longer share from other iOS apps in my iPhone (iOS v16.6). I guess I will have to use other Matrix apps like FluffyChat. :(

Fluffy has other issues, Voice Messages do currently only work with other Fluffies or Famedly, it can't play Voice Messages from any Element version. Also Calls are not working properly.

crawford commented 1 year ago

I'm perplexed by this decision. The share extension is foundational to the experience of iOS and removing the functionality effectively kills the app; not to mention the frustration experienced by users as they try to figure out why a core interaction no longer works. Telling folks to just use Element X also leaves a bit of a sour taste, since that requires either migrating to matrix.org (one of the main selling points of this whole ecosystem was its decentralization, so this feels like a betrayal to that original promise) or deploying a new service in front of existing installations. These are pretty big asks of your users, considering the fact that it's all to workaround a relatively new bug in a client implementation.

Personally, I'll be going through the effort of deploying the sliding sync proxy and evaluating Element X (I hope it's up to snuff), but this makes it really hard to continue recommending the platform to others.

jacotec commented 1 year ago

@crawford Element-X is by far not ready yet. Still no share extension, no voice messages, no calls, no OIDC ... It has huge potential, is lightning fast ... but still needs a lot of work.

alexander-potemkin commented 1 year ago

I understand a necessity to focus on the new release.

But leaving Element non-X broken in favour of new release, which will be ready no-one-knows-when - that's quite harsh to the users...

It feels like what Mozilla did with Mozilla 5, which lead to IE to overtake the whole market. Hope Element won't repeat that path - after all, mass users are not paying Element a cent, but it feels similar and definitely adds frustration and decrease trust.

crawford commented 11 months ago

I finally got a chance to set up the proxy and try Element X. As foretold, it’s also missing the share extension. Here’s the tracking issue: https://github.com/vector-im/element-x-ios/issues/1477