• Stars
    star
    920
  • Rank 49,655 (Top 1.0 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created about 2 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose

Latest build Quality Gate Status Vulnerabilities Bugs codecov Element X_Android Matrix room #element-x-android:matrix.org Localazy

Element X Android

Element X Android is a Matrix Android Client provided by element.io. This app is currently in a pre-alpha release stage with only basic functionalities.

The application is a total rewrite of Element-Android using the Matrix Rust SDK underneath and targeting devices running Android 6+. The UI layer is written using Jetpack Compose, and the navigation is managed using Appyx.

Learn more about why we are building Element X in our blog post: https://element.io/blog/element-x-experience-the-future-of-element/.

Table of contents

Screenshots

Here are some early screenshots of the application:

Rust SDK

Element X leverages the Matrix Rust SDK through an FFI layer 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. The list of supported features can be found in this issue.

Contributing

Want to get actively involved in the project? You're more than welcome! A good way to start is to check the issues that are labelled with the good first issue label. Let us know by commenting the issue that you're starting working on it.

But first make sure to read our contribution guide first.

You can also come chat with the community in the Matrix room dedicated to the project.

Build instructions

Just clone the project and open it in Android Studio. Makes sure to select the app configuration when building (as we also have sample apps in the project).

Support

When you are experiencing an issue on Element X Android, please first search in GitHub issues and then in #element-x-android:matrix.org. If after your research you still have a question, ask at #element-x-android: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 from the application settings. This is especially recommended when you encounter a crash.

Copyright & License

Copyright (c) 2022 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.

More Repositories

1

element-web

A glossy Matrix collaboration client for the web.
TypeScript
10,230
star
2

element-android

A glossy Matrix collaboration client for Android.
Kotlin
3,054
star
3

element-ios

A glossy Matrix collaboration client for iOS
Swift
1,675
star
4

riot-android

A glossy Matrix collaboration client for Android
Java
1,416
star
5

synapse

Synapse: Matrix homeserver written in Python/Twisted.
Python
1,049
star
6

element-desktop

A glossy Matrix collaboration client for desktop.
TypeScript
943
star
7

hydrogen-web

Lightweight matrix client with legacy and mobile browser support
TypeScript
586
star
8

element-call

Group calls powered by Matrix
TypeScript
402
star
9

element-x-ios

Next generation Matrix client for iOS built with SwiftUI on top of matrix-rust-sdk.
Swift
230
star
10

chatterbox

Chatterbox lets you securely embed Hydrogen on any website!
TypeScript
170
star
11

roadmap

Element public roadmap
78
star
12

element-meta

Shared/meta documentation and project artefacts for Element clients
45
star
13

matrix-authentication-service

Rust
28
star
14

riot-meta

A place to experiment with tracking features at a higher level than Riot web/iOS/Android.
25
star
15

swift-ogg

A Swift library for converting to and from opus/ogg format
Swift
21
star
16

ess-starter-edition-core

Jinja
17
star
17

logos

Logo artwork for Riot, Vector, Matrix etc
Shell
16
star
18

compound-web

Web implementation of the Compound design system
TypeScript
16
star
19

vector.im

static parts of vector.im site
HTML
14
star
20

jitsi-helm

Helm chart for HA Jitsi-meet
Lua
14
star
21

compound-design-tokens

Compound design tokens
JavaScript
13
star
22

riot-automated-tests

Java
12
star
23

policies

Policy documents for services run by New Vector
Python
12
star
24

element-builder

A minimalist auto-builder for Element and Element Desktop
TypeScript
12
star
25

feature-dashboard

A task summary, plan, and burndown chart for building software together
JavaScript
12
star
26

files-sdk-demo

Demo web client for using matrix-files-sdk
Svelte
11
star
27

compound

Element's design system
MDX
8
star
28

matrix-content-scanner-python

A web service for scanning media hosted by a Matrix media repository
Python
8
star
29

synapse-room-access-rules

Custom room access rules for Tchap
Python
6
star
30

nix-flakes

Development environments for various repos, powered by Nix Flakes.
Nix
6
star
31

element-integration-manager

Element Integration Manager related issues
6
star
32

compound-ios

SwiftUI implementation of the Compound design system
Swift
6
star
33

libopusencoder-android

Android wrapper for libopusenc, used to create Ogg files in with Opus frames.
C
6
star
34

ems-docs

Element and EMS documentation provided by the EMS team
Handlebars
6
star
35

stats

Python
5
star
36

jitsi_libre_maven

Maven repository for the LIBRE version of Jitsi
5
star
37

tailscale-k8s

Shell
5
star
38

oidc-playground

OpenID Connect project playground environment
5
star
39

element-web-ilag-module

Proof of concept for https://github.com/matrix-org/matrix-react-sdk-module-api
TypeScript
5
star
40

element.io

Public issue tracker for the element.io site
4
star
41

packages.element.io

Configuration files for packages.riot.im
CSS
4
star
42

element-feature-nag-bot

A Matrix bot that complains when riot-web features take too long
TypeScript
4
star
43

retro-nag-bot

A Matrix bot that complains when people don't finish their retro actions
TypeScript
4
star
44

user-stories

A place to write user stories for planned cross-platform enhancements.
4
star
45

kiwitcms-upload-action

Github Action to automate upload from junit output file to Kiwi TCMS
3
star
46

tchap-red-list

Python
3
star
47

ec-cli-rust

A small CLI tool that helps to emulate Element Call
Rust
3
star
48

element-design-tokens

Style dictionary containing design tokens for Element across all platforms.
JavaScript
3
star
49

compound-android

Kotlin
3
star
50

sfu-load-tester-go

A quick tool to create fake Element Call participants
Go
2
star
51

emsdocs-images

Hosting for images currently on ems-docs
CSS
2
star
52

design

2
star
53

helm-charts

Smarty
2
star
54

proj-mana-test

A test repo for playing with project management tools
2
star
55

lk-jwt-service

Minimal service to provide LiveKit JWTs using Matrix OpenID Connect
Go
2
star
56

tchap-displayname-from-email

A Synapse module used by Tchap to derive a display name from a new user's email address.
Python
2
star
57

riot-web-workflow-automation

A github thing that automates stuff on the workflow board, until Github supports the features
1
star
58

trafficlight-adapter-element-call

TypeScript
1
star
59

compound-ios-snapshots

The snapshots used for testing compound-ios.
1
star