mirdaki / ping

A cross-platform and blazingly fast Matrix client focused on group and gaming chat.
MIT License
54 stars 1 forks source link
chat cross-platform gaming-chat matrix rust

Ping

A cross-platform and blazingly fast Matrix client focused on group and gaming chat.

Status: Very much a work in progress.

Goals

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.

Roadmap

Short Term (tasks that could be done in the foreseeable future)

Long Term (aspirational but objective setting things)

Development Getting Started

Installing

Install Rust and optionally Docker and Docker Compose or Podman and Podman Compose for running the test Synapse server.

Compiling

To build:

cargo build

To format and lint:

cargo fmt
cargo clippy

P.S. Using cargo watch helps to improve the experience.

Running

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

Built With

Contributing

Please read CONTRIBUTING.md for how to work on the project.

License

This project is licensed under the MIT License - see the LICENSE file for details.