
- the room summary API is indeed enabled on matrix.org and working fine for most rooms - it is not however capable of giving us data about non-joined + private rooms - the SDK addresses that by first trying to use known rooms before resorting to the preview endpoint - that fails if it's a brand new room that the client doesn't know about yet i.e. a sync hasn't ran, which is exactly what's happening here - the ClientProxy instead does wait for the room list to go into the first loaded before returning the room
Element X iOS
ElementX 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 targetting devices running iOS 16+.
Rust SDK
ElementX 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 and while we've seen promising results it's still in the experimental stage and bound to change.
Status
This project is in work in progress. The app does not cover yet all functionalities we expect.
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 ElementX 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 shaking your phone or going to the application settings. This is especially recommended when you encounter a crash.
Forking
Please read our forking guide.
Copyright & License
Copyright (c) 2022 - 2024 New Vector Ltd
Licensed under the Apache License, Version 2.0 (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:
http://www.apache.org/licenses/LICENSE-2.0
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.