Stefan Ceriu b122b02bee
Share extension (#3506)
* Setup simple share extension

* Switch the app url scheme to be the full bundle identifier

* Setup a share extension that show a SwiftUI view, uses rust tracing and redirects to the hosting aplication

* Move media as json through the custom scheme into the main app and deep link into the media upload preview screen

* Fix message forwarding and global search screen room summary provider filtering.

* Tweak the message forwarding and global search screen designs.

* Add a room selection screen to use after receiving a share request from the share extension

* Fix share extension entitlements

* Share the temporary directory between the main app and the extensions; rename the caches one.

* Remove the no longer needed notification avatar flipping fix.

* Extract the placeholder avatar image generator from the NSE

* Nest `AvatarSize` within the new `Avatars` enum

* Donate an `INSendMessageIntent` to the system every time we send a message so they appear as share suggestions

* Support suggestions in the share extension itself

* Improve sharing animations and fix presentation when room already on the stack

* Clear all routes when sharing without a preselected room.

* Fix broken unit tests

* Various initial tweaks following code review.

* Correctly clean up and dismiss the share extension for all paths.

* Move the share extension path to a constants enum

* Rename UserSessionFlowCoordinator specific share extension states and events

* Add UserSession and Room flow coordinator share route tests

* Tweak the share extension logic.
2024-11-13 14:02:47 +02:00
2024-11-13 14:02:47 +02:00
2024-09-06 16:34:30 +03:00
2024-11-13 14:02:47 +02:00
2024-11-13 14:02:47 +02:00
2024-11-13 14:02:47 +02:00
2024-10-24 17:21:28 +02:00
2024-11-13 14:02:47 +02:00
2024-03-25 17:34:11 +02:00
2024-11-11 04:02:37 -08:00
2024-08-27 09:23:26 +03:00
2024-09-18 19:26:02 +01:00
2024-09-06 16:34:30 +03:00
2024-11-13 14:02:47 +02:00
2024-11-04 12:46:19 +00:00

Element iOS Matrix room #element-x-ios:matrix.org GitHub

Build Status GitHub release (latest by date)

codecov Quality Gate Status Vulnerabilities Bugs

Element X iOS

Element X iOS is a Matrix iOS Client provided by Element.

The application is a total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 17+.

Rust SDK

Element X leverages the Matrix Rust SDK through an FFI layer exposed as a swift package that the final client can directly import and use. We're doing this as a way to share code between platforms, with Element X Android using the same SDK.

Status

This project is in an early rollout & migration phase.

Contributing

Please see our contribution guide.

Come chat with the community in the dedicated Matrix room.

Build instructions

Please refer to the setting up a development environment section from the contribution guide.

Support

When you are experiencing an issue on Element X iOS, please first search in GitHub issues and then in #element-x-ios:matrix.org. If after your research you still have a question, ask at #element-x-ios:matrix.org. Otherwise feel free to create a GitHub issue if you encounter a bug or a crash, by explaining clearly in detail what happened. You can also perform bug reporting (Rageshake) from the Element application by going to the application settings. This is especially recommended when you encounter a crash.

Forking

Please read our forking guide.

Copyright (c) 2022 - 2024 New Vector Ltd

Licensed under the AGPL-3.0-only (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

https://www.gnu.org/licenses/agpl-3.0.txt

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Description
Next generation Matrix client for iOS built with SwiftUI on top of matrix-rust-sdk.
Readme AGPL-3.0 2.7 GiB
Languages
Swift 99.6%
Ruby 0.2%
Shell 0.1%