A cross-platform and blazingly fast Matrix client focused on group and gaming chat.
Status: Very much a work in progress.
Discord is a fantastic chat application for communities and people who play games together. Element is an awesome open source, E2E encrypted, and decentralized Matrix client. I would like to take aspects of both of these and mix in fast start times, low memory usage, and create a great client for groups and gaming chat with easy audio/video calls.
In addition to those functional feats, I'd like to build Ping in a way that makes it relatively easy to support multiple platforms with shared code. This may be a fools errand, but it sounds like an interesting challenge! In doing so, I expect some boundaries will be pushed resulting in fixes and features upstreamed, helping the community overall.
Short Term (tasks that could be done in the foreseeable future)
- Basic Linux app
- Create a user
- Send a message to another user
- Receive a message from another user
- Edit a message
- Delete a message
- Basic Windows App
- Create a user
- Send a message to another user
- Receive a message from another user
- Edit a message
- Delete a message
Long Term (aspirational but objective setting things)
- Full fledged apps for
- Linux
- Windows
- MacOS
- Android
- iOS
- Web App
- App support
- User to user chat E2EE
- Group chat E2EE
- Spaces with multiple channels
- Custom emoji/reactions
- Single click audio and/or video calls
- Screen sharing and game broadcasting
- Other
- Snappy start and load times
- Low memory usage
- Automated CI/CD with extensive testing
Install Rust and optionally Docker and Docker Compose or Podman and Podman Compose for running the test Synapse server.
To build:
cargo build
To format and lint:
cargo fmt
cargo clippy
P.S. Using cargo watch helps to improve the experience.
To start the test Synpase server, use Docker Compose or Podman Compose:
docker-compose -f containers/dev.docker-compose.yml up
podman-compose -f containers/dev.docker-compose.yml up
To stop the test Synpase server, use Docker Compose or Podman Compose:
docker-compose -f containers/dev.docker-compose.yml down
podman-compose -f containers/dev.docker-compose.yml down
Please read CONTRIBUTING.md for how to work on the project.
This project is licensed under the MIT License - see the LICENSE file for details.