Skip to content
/ ping Public

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

License

Notifications You must be signed in to change notification settings

mirdaki/ping

Repository files navigation

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)

  • 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

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.

About

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

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages