Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mirdaki/ping
A cross-platform and blazingly fast Matrix client focused on group and gaming chat.
https://github.com/mirdaki/ping
chat cross-platform gaming-chat matrix rust
Last synced: 2 months ago
JSON representation
A cross-platform and blazingly fast Matrix client focused on group and gaming chat.
- Host: GitHub
- URL: https://github.com/mirdaki/ping
- Owner: mirdaki
- License: mit
- Created: 2020-10-12T02:26:35.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-04-17T23:20:52.000Z (over 3 years ago)
- Last Synced: 2024-08-02T05:23:14.947Z (6 months ago)
- Topics: chat, cross-platform, gaming-chat, matrix, rust
- Language: Rust
- Homepage:
- Size: 194 KB
- Stars: 54
- Watchers: 6
- Forks: 1
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-blazingly-fast - ping - A cross-platform and blazingly fast Matrix client focused on group and gaming chat. (Rust)
README
# Ping
A cross-platform and blazingly fast [Matrix](https://matrix.org/) client focused on group and gaming chat.
**Status:** Very much a work in progress.
## Goals
[Discord](https://discord.com/) is a fantastic chat application for communities and people who play games together. [Element](https://element.io/) 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)
- [ ] 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 messageLong 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## Development Getting Started
### Installing
[Install Rust](https://www.rust-lang.org/tools/install) and optionally [Docker](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/) or [Podman](https://podman.io/getting-started/installation.html) and [Podman Compose](https://github.com/containers/podman-compose) for running the test Synapse server.
### Compiling
To build:
```bash
cargo build
```To format and lint:
```bash
cargo fmt
cargo clippy
```P.S. Using [cargo watch](https://github.com/passcod/cargo-watch) helps to improve the experience.
### Running
To start the test Synpase server, use Docker Compose or Podman Compose:
```bash
docker-compose -f containers/dev.docker-compose.yml uppodman-compose -f containers/dev.docker-compose.yml up
```To stop the test Synpase server, use Docker Compose or Podman Compose:
```bash
docker-compose -f containers/dev.docker-compose.yml downpodman-compose -f containers/dev.docker-compose.yml down
```## Built With
- [Rust](https://www.rust-lang.org/)
- [matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk)## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for how to work on the project.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.