/quadrix

Primary LanguageTypeScript

quadrix

Quadrix

  • Minimal, simple, multi-platform chat client for the Matrix protocol
  • No data collection whatsoever
  • Does not support end-to-end encryption (E2EE)
  • No customization, no widgets, no bots, no phone calls
  • Integrated video-conferencing with Element Call
  • Programmed with ReactXP
  • React Native apps for Android and iOS
  • Electron apps for Windows, MacOS, and Linux (amd64, arm64, armhf)
  • Web app (unstable, for testing only, but works in desktop and mobile browsers) at app.quadrix.chat
  • Push notifications on mobile devices with Firebase Cloud Messaging
  • Unique top-down messaging feed

Use cases

  • Private homeserver owners looking to get their non-tech friends & family to chat on Matrix
  • Matrix users participating in unencrypted public rooms only
  • Small organizations looking for a simple, self-hosted, open-source instant messaging solution

One code base, several platforms

Download on the App Store Get it on Google Play

Download on the Mac App Store Get it from Microsoft Get it from the Snap Store Download On FLATHUB

Note for Mobile Linux Users

  • The arm64 flatpak build was tested on a PinePhone running Mobian/Phosh, which uses the Wayland display server protocol. Unfortunately, Quadrix and most Electron applications running in Wayland mode are not really usable in that environment, since Electron has a basic compatibility problem with the Wayland text input protocol: The on-screen keyboard doesn't automatically launch when editing text input fields, and some letters and many symbols are simply ignored by the keyboard (squeekboard package in Phosh). This issue is being worked on at the Chromium level, but no target date is yet known. (The current flatpak build has the Ozone/Wayland switch disabled for Phosh: The app looks blurry on the PinePhone, but at least the on-screen keyboard works)

Matrix Protocol Implementation

  • Room directory (Linux version only)
  • Room tag showing
  • Room tag editing
  • Search joined rooms
  • Room user list
  • Display room description (public rooms only)
  • Edit room description
  • Highlights
  • Pushrules (new messages in private rooms only)
  • Send read markers
  • Display read markers (private rooms only)
  • Sending invites (private rooms only)
  • Accepting invites (private rooms only)
  • Typing notification
  • E2EE
  • Replies
  • Threads
  • Message search
  • Attachment uploading
  • Attachment downloading
  • Send stickers
  • Send formatted messages markdown
  • Rich Text editor for formatted messages
  • Display formatted messages
  • Redacting
  • Multiple Matrix accounts
  • New user registration (support for ReCaptcha, email address)
  • VoIP (Element Call)
  • Reactions
  • Message editing (displaying only)
  • Room upgrades
  • Localizations (English, German, French, Spanish)
  • SSO Support

Installation

For all platforms:

  • npm install

Additionally for iOS:

  • cd ios
  • pod install

Main Commands

  • npm run start:web - starts Webpack and serves the web app on http://localhost:9999
  • npm run start:rndev - starts the React Native development server
  • npm run start:android - starts the Android version of the app and opens it in an emulator or connected device
  • npm run start:ios - starts the iOS version of the app and opens it in a simulator or connected device

Issues & Bugs

Please report issues, problems, crashes, bugs, etc. in the Issues section of this repository.

Terms / Privacy / License

Quadrix is provided without warranty of any kind. In no event shall the copyright holder be liable for any claim, damages or other liability arising from the use of this software.

When using Quadrix, you are required to abide by any applicable laws. You can not use Quadrix for unlawful, illegal, defamatory, harmful, abusive, hateful, or ethnically offensive purposes.

The Quadrix apps do not collect any information whatsover: No user ID's, no IP addresses, no messaging statistics, no usage data, no crash analytics, no nothing. However, the homeserver provider chosen by the user, the push notification service for mobile devices (Firebase Cloud Messaging) and the video-conferencing service (Element Call) might collect usage data and other information for their own purposes. Please refer to their respective privacy policies for additional information.

Quadrix is released under the GNU General Public License, requiring everyone to share their modifications when they also share the software in public. That aspect is commonly referred to as Copyleft.

Copyright (c) 2023 Jean-François Alarie

Contact