Skip to content

A multi-platform (Flutter) application for connecting to Matrix - an open network for secure, decentralized communication, with your favorite devices.

License

Notifications You must be signed in to change notification settings

linagora/twake-on-matrix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Twake Chat Client

Contributors Issues Documentation Android application Ios application


Twake Chat is an open source, decentralized chat app based on the Matrix protocol. It was developed by Linagora. Twake Chat is a good option for individuals and organizations who are looking for a secure and decentralized chat app. It is also a good choice for developers who want to build their own Matrix-based chat apps.

Features

  • Send all kinds of messages, images and files
  • Voice messages
  • Location sharing
  • Push notifications
  • Unlimited private and public group chats
  • Public channels with thousands of participants
  • Feature rich group moderation including all matrix features
  • Discover and join public groups
  • Dark mode
  • Custom themes
  • Hides complexity of Matrix IDs behind simple QR codes
  • Custom emotes and stickers
  • Spaces
  • Compatible with Element, Nheko, NeoChat and all other Matrix apps
  • End to end encryption
  • Emoji verification & cross signing
  • And much more...

Setup

Rust

Before building, please ensure that Rust is installed because the super_clipboard package requires it. For macOS or Linux, execute the following command in Terminal.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

For Windows, you can use the Rust Installer.

In case you have Rust already installed, make sure to update it to latest version:

rustup update

Flutter

flutter pub get && flutter pub run build_runner build --delete-conflicting-outputs

Add commit hook to format and code analyze

bash scripts/config-pre-commit.sh

Deployment

Web version using Docker

  • Create a config file config.json in the root of the project with the following docs

  • Run the image using the following command:

docker run -d -p <host port>:<host port> -e TWAKECHAT_LISTEN_PORT=<host port> --name <container name> -v <host path>:/usr/share/nginx/html/web/config.json linagora/twake-web:<tag>
  • Open the browser and go to http://localhost:<hostport>

Sample to run Twake Chat web client with matrix.org

  • Create a config file config.json with matrix.org
{
  "app_grid_dashboard_available": true,
  "application_name": "Twake Chat",
  "application_welcome_message": "Welcome to Twake Chat!",
  "default_homeserver": "matrix.org",
  "hide_redacted_events": false,
  "hide_unknown_events": false,
  "homeserver": "https://matrix.org/",
  "issue_id": "",
  "privacy_url": "https://twake.app/en/privacy/",
  "render_html": true
}
  • Run the image using the following command with my port is 6868:
docker run -d -p 6868:6868 -e TWAKECHAT_LISTEN_PORT=6868 --name twake-web -v /path/to/config.json:/usr/share/nginx/html/web/config.json linagora/twake-web:v2.6.5
  • Open the browser and go to http://localhost:6868

Special thanks

  • FluffyChat is the original repository of this project. A huge thanks to the upstream repository for their vital contributions, not only for this project but also for Matrix SDK in Dart

  • Fabiyamada is a graphics designer from Brasil and has made the fluffychat logo and the banner. Big thanks for her great designs.

  • Advocatux has made the Spanish translation with great love and care. He always stands by my side and supports my work with great commitment.

  • Thanks to MTRNord and Sorunome for developing.

  • Also thanks to all translators and testers! With your help, fluffychat is now available in more than 12 languages.

  • Noto Emoji Font for the awesome emojis.

  • WoodenBeaver sound theme for the notification sound.

  • The Matrix Foundation for making and maintaining the emoji translations used for emoji verification, licensed Apache 2.0