5 ms·
Element X is an entirely new client written in Rust + Swift UI/Jetpack Compose (https://github.com/vector-im/element-x-ios https://github.com/vector-im/element-
by Arathorn 4y ago
Element X is an entirely new client written in Rust + Swift UI/Jetpack Compose (https://github.com/vector-im/element-x-ios https://github.com/vector-im/element-x-ios and https://github.com/vector-im/element-x-android https://github.com/vector-im/element-x-android) which will eventually replace the legacy Element apps (https://github.com/vector-im/element-ios https://github.com/vector-im/element-ios and https://github.com/vector-im/element-android https://github.com/vector-im/element-android).
The features already exist serverside; we're just working on getting them out of beta.
- snvzz 4y agoThanks for the pointers, had no idea. I am hopeful it also improves resource usage, bringing it closer to hydrogen. Is this also for the desktop/browser version?
- DoItToMe81 4y agoAlso curious to know if it has web clients and desktop clients.
- Arathorn 4y agoWe're not planning to rewrite Element Web/Desktop in Rust (yet), so the current app will remain there - although we're going to give it a fairly major UI refresh to match the new mobile apps.
- justaj 4y agoAlso some performance optimizations would be most welcome for someone like me who is stuck with low power computers.
- Klonoar 4y agoPlease consider supporting running Element X natively on macOS M1/M2/etc devices, if you can do it. There is currently no native client for macOS at all.
- Arathorn 4y agoI've been dogfooding the iPad layout of Element X under macOS on Apple Silicon since day 1 - it works pretty well. We could also ship it via Catalyst to run as a pure macOS app (albeit with the iPad layout) on both Apple Silicon and Intel, once https://github.com/rust-lang/rust/issues/106021 https://github.com/rust-lang/rust/issues/106021 is fixed. Unfortunately making it a "real" macOS app is much harder, as the UI is currently uses UIKit in a bunch of places to make up for feature and performance limitations in SwiftUI. These would have to be ported over to AppKit to run on macOS. I had a go at it over the holidays, but it's not trivial - perhaps someone with more AppKit skills than I could make it work (or maintain a fork) though. To give an idea of the amount of UIKit that would need to be swapped out: matthew@shadowfax ElementX % find . -name \*.swift | xargs perl -ne 'while (/[^a-zA-Z](UI[A-Z].*?)[^a-zA-Z]/g) { print "$1\n" }' | grep -v UITest | sort | uniq -c | sort -rn 52 UIKit 31 UIImage 20 UIApplication 13 UIScrollView 12 UITextView 11 UIDevice 11 UIConstants 10 UIColor 5 UIViewController 5 UIRectCorner 5 UIKitBackgroundTask 5 UIKeyCommand 4 UIView 4 UIPasteboard 4 UIBackgroundTaskIdentifier 3 UIViewControllerRepresentable 3 UITableView 3 UIScreen 3 UINavigationController 3 UIKitBackgroundTaskService 3 UIFont 3 UIActivityViewControllerWrapper 3 UIActivityViewController 2 UIViewRepresentableContext 2 UIViewControllerRepresentableContext 2 UITextViewWrapper 2 UITableViewDelegate 2 UIResponder 2 UIHostingController 2 UICollectionView 1 UIViewType 1 UIViewRepresentable 1 UITraitCollection 1 UITextViewDelegate 1 UITableViewDiffableDataSource 1 UITableViewController 1 UITableViewCell 1 UIScrollViewDelegate 1 UIKitAttributes 1 UIHostingConfiguration 1 UIContentSizeCategory 1 UIBezierPath 1 UIApplicationDelegateAdaptor 1 UIApplicationDelegate 1 UIActivity
- Klonoar 4y agoHonestly the iPad layout is probably "good enough" - though I agree that a macOS-AppKit-backed variant would be incredible. I've got a lot of experience with AppKit and may be down to look at doing that fork once the churn on Element X is lower...
- snvzz 4y agoIs verification being implemented in hydrogen? That'd make hydrogen minimally usable. Currently, all the other clients that are logged in constantly nag about an unverified and unverify-able hydrogen session existing! Hydrogen works on older / weaker computers, where element is unusable.
- RMidhunSuresh 4y agoYes! See https://github.com/vector-im/hydrogen-web/releases/tag/v0.3.8 https://github.com/vector-im/hydrogen-web/releases/tag/v0.3....
- snvzz 4y agoGreat.
- ehPReth 4y agoooh awesome. I'm just starting the video but I'm really hoping sharing is improved on iOS. Like full quality video sharing from the share sheets, or seeing my matrix rooms/contacts in the top row of contact suggestions, but most importantly the ability to add 'comments' to photos/links I share with people e.g. share a link to a GitHub repo or a photo and be able to quickly say something in the same sheet without having to switch to the app and say the thing and the back to my browser edit: had to use YouTube in the end: https://www.youtube.com/watch?v=eUPJ9zFV5IE https://www.youtube.com/watch?v=eUPJ9zFV5IE