Git Product home page Git Product logo

quadrix's Introduction

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

quadrix's People

Contributors

alariej avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

quadrix's Issues

Compressed videos fail to play across devices

  • iPhone videos play fine on iPhone, Android, web
  • Samsung (various models) videos play fine on iPhone, Android, web
  • LG (G6) videos play fine on Android, web, but not on iPhone (black screen, time counter runs, playing the file in the native iOS video player shows a black screen, but plays the audio track)
  • Sony Xperia (model?) videos play on iPhone (with audio track), but not on Android or web (fixed image, time counter doesn't run, file plays fine in the native Android player)

Can't save images on device

Whenever I try to save an image, it always shows me an error. Permission regarding write on device is enabled. I'm using Android 12
Screenshot_20220908-084926_Quadrix

Wrong Jitsi Link is sent to non-Quadrix users

Hey, I'm currently testing out this app since I'd like to add it to this app list. While trying out video conferencing, I stumbled upon a strange bug:

  • Between Quadrix users, video conferencing works just fine.
  • However, if trying to call an Element (or Hydrogen) user, a wrong URL will be sent to him/her: e.g. https://jitsi.riot.im?chat.quadrix.kusvpktjsumrrzy instead of https://jitsi.riot.im/chat.quadrix.kusvpktjsumrrzy

Unfortunately, I know nothing about TypeScript or ReactXP and don't know how to debug this. But I figured I'd report it anyway for completion's sake.

Quadrix Version: 1.2.1 (via Flathub)
Operating System: Arch Linux ARM (w/ Phosh)
Element Version: Nightly 2022071901; Hydrogen Version: v0.2.33

Other than that, Quadrix works quite well on those Linux Mobile systems (except of some input issues seemingly related to Electron), thanks for creating such a nice straightforward Matrix Client 👍

SkSurface::getCanvas() Crash on Android 11

Apparently caused by a combination of WebView and animation.

-> Do not show WebView components (for videos) in the chat timeline when no thumbnail is available in the event. Either show a generic placeholder, or generate a thumbnail on the fly.

[unknown error] when trying to log in

I'd like to use Version 1.2.0 on an iPhone 12 mini with iOS 15.6, but when I want to log in, I get a modal [unknown error] message.
I clicked the three dots on the right to use the '@user:server.tld' field/notation.
And I'm using Bitwarden to copy-paste my password so I'm quite sure that there's no typo in the password...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.