An experiment in building a better XMPP client. This time using Flutter.
Go to file
Alexander "PapaTutuWawa 7e0d6194ce meta: Replace mutex with synchronized
It turnes out that [Mutex.protect] would sometimes just never
release the Mutex and thus deadlock the entire connection.
2022-04-20 20:52:07 +02:00
android ui: Update the foreground notification icon 2022-03-09 13:41:32 +01:00
assets meta: Implement user blocking 2022-03-14 20:58:32 +01:00
ios ui: Fix icon again 2021-12-25 21:18:14 +01:00
lib meta: Replace mutex with synchronized 2022-04-20 20:52:07 +02:00
test xmpp: Fix Issue with stream management (And null-operator on null) 2022-04-20 18:33:12 +02:00
thirdparty build: Improve even more 2021-12-27 14:27:18 +01:00
tools ui: Add back the profile page 2022-03-26 13:24:22 +01:00
.gitignore ui: Remove flow_builder 2022-03-20 12:55:25 +01:00
.gitlint style: Update gitlint 2022-04-19 16:03:01 +02:00
.gitmodules build: Improve even more 2021-12-27 14:27:18 +01:00
.metadata Initial commit 2021-12-21 16:15:45 +01:00
analysis_options.yaml service: Improve the service state management 2022-02-21 19:50:28 +01:00
data_classes.yaml ui,service: Fix app stalling in debug mode 2022-04-19 16:12:54 +02:00
flake.lock meta: Fix pubspec sdk version constraints 2022-04-15 17:05:31 +02:00
flake.nix meta: Fix pubspec sdk version constraints 2022-04-15 17:05:31 +02:00
LICENSE Initial commit 2021-12-21 16:15:45 +01:00
Makefile meta: Load conversations after PreStart 2022-03-23 15:50:54 +01:00
moxxy.doap meta: Add missing xmlns declarations 2022-04-17 11:53:00 +02:00
pubspec.lock meta: Replace mutex with synchronized 2022-04-20 20:52:07 +02:00
pubspec.yaml meta: Replace mutex with synchronized 2022-04-20 20:52:07 +02:00
README.md docs: Update README 2022-04-18 00:06:05 +02:00

Moxxy

An experimental XMPP client that tries to be as easy, modern and beautiful as possible.

The code is also available on codeberg.

Screenshots

screenshots

Developing and Building

Clone using git clone --recursive https://github.com/Polynomdivision/moxxyv2.git.

In order to build Moxxy, you need to have Flutter set up. Due to not yet merged code in Flutter, you are required to use a version of 2.13.0-0.1.pre or greater. If you are running NixOS or using Nix, you can also use the Flake at the root of the repository by running nix develop to get a development shell including everything that is needed.

Before building Moxxy, you need to generate all needed data classes. To do this, run flutter pub get to install all dependencies. Then run flutter pub run build_runner run to generate state data classes and the database schemata. After that, run make data to generate the library list, the xmpp-providers list and the command and event classes. After that is done, you can either build the app with flutter build or just run the app in development mode with flutter run

After implementing a change or a feature, please ensure that nothing is broken by the change by running flutter test afterwards. Also make sure that the code passes the linter by running flutter analyze. This project also uses gitlint to ensure uniform formatting of commit messages.

A Bit of History

This project is the successor of moxxyv1, which was written in React Native and abandoned due to various technical issues.

License

See ./LICENSE.

Special Thanks

  • New logo designed by Synoh