moxxy

An experiment in building a better XMPP client. This time using Flutter (mirror)

GPL-3.0 License

Stars
59
Committers
8

Bot releases are hidden (Show)

moxxy - v0.5.0 Latest Release

Published by PapaTutuWawa about 1 year ago

294 commits already? THE 2000TH COMMIT? I cannot believe it.

This release brings brings many new things to the table, but also
a breaking change: I switched from Flutter's debug signing key to a key
stored on my YubiKey. So you will have to uninstall and reinstall Moxxy. You will lose
your data, however.

Highlights are:

  • Translations! Thank you very much to everyone who provided
    translations in their own languages! We currently have English,
    German, Dutch, French Galician, Japanese, Polish and Russian.
  • Read markers are sent, if configured.
  • Some notification changes: Moxxy now uses Android's messaging style
    for notifications. The app should also not show a badge anymore.
  • Thumbnails for videos are now generated after download.
  • You can now share directly to conversations inside Moxxy.
  • Moxxy now uses Android 13's new photo picker if possible.

Also, the Google Summer of Code 2023 concluded. This means that Moxxy
technically has the ability to join groupchats. However, since the
experience is not close to what I want, it is currently only "available"
inside debug builds.

moxxy - v0.4.3

Published by PapaTutuWawa over 1 year ago

This is a hotfix release.

Sending a message with no attached file results in a gray
box being displayed over the entire message list. This release
contains a fix for that.

(I also dropped my fork of the Flutter SDK)

moxxy - v0.4.2

Published by PapaTutuWawa over 1 year ago

After more than 200 commits, it is time for a new release.

Many changes in this release are under the hood, but there are many changes nonetheless:

  • Messages that are sent while offline are now queued up until we're online again
  • Moxxy now makes use of SFS's caching possibilities. Receiving files sent via SFS are thus only downloaded if the file is not already locally available
  • Messages and shared media files are now shown in paged lists
  • Reworked various pages, like the Conversation page and the profile page
  • Rework the reactions UI
  • Add a "note to self" feature. This was a teaser task in the context of this year's GSoC
  • Chat states are no longer sent if a chat is no longer focused
  • Sending a sticker when a message is selected for quoting, the sticker is sent as a reply to that message
  • The database design was massively overhauled
  • The emoji/sticker picker should no longer jump around when switching from the keyboard
  • Fix the conversation data being cleared to early, fixing a graphical artifact

The database/SFS rework has the consequence that received media files are now stored in the app's internal
storage. Sharing, exporting, and managing the storage will be implemented sometime later.

OMEMO is still broken and not tested against another implementation, but that is something I am going to do
for the next release.

Moxxy has been accepted as a project for the XSF in this year's Google Summer of Code. The contributor will be working
on simple groupchat implementation over the course of the GSoC.

EDIT: Not sure what happened, but the APKs are built from 32b2e35d427beb9e77c88fdff221bdfa97e9bce9, instead of what the tag points to.

moxxy - v0.4.1

Published by PapaTutuWawa almost 2 years ago

  • Expose the debug menu by tapping the Moxxy icon on the about page 10 times
  • Maybe fix a connection race condition
  • Allow sharing media with the app when it is closed
  • Make quotes prettier
  • Make the bottom part of the conversation page prettier
  • Fix roster fetching
  • Fix OMEMO key generation
moxxy - v0.4.0

Published by PapaTutuWawa almost 2 years ago

New year, new release: 0.4.0

This release includes:

  • Stickers using XEP-0449: See here for documentation on creating sticker packs
  • Reactions using XEP-0444
  • A huge OMEMO refactor
  • Long-press messages for various actions
  • Improve the message quoting UI
  • Fix logins for servers with SCRAM-SHA-256 and SCRAM-SHA-512
  • Fix bug causing avatars to become empty
  • Reduce memory usage when up- and downloading files
  • Implement recording voice messages
  • Implement audio messages
  • Show messages in chat when the OMEMO devices change
  • Show a preview of the last message's media in the overview
  • Support for Last Message Correction

Note that this update may cause you to get logged out of your account. Data SHOULD not get lost, but I haven't tested that aspect that extensively.

moxxy - v0.3.0

Published by PapaTutuWawa almost 2 years ago

240 commits later and we have a new version! There are quite some changes in this version:

  • [BREAKING] Migrate from isar to sqlite. This means that all data is lost on this upgrade since I did not deem it necessary to include a migration path here
  • If your server includes a SRV record pointing to something like xmpp.your.domain, while your JID is [email protected], then Moxxy will now connect as long as the certificate is valid
  • The app's primary color is now used more
  • Blurhash calculations for File Upload Notifications are now much much faster
  • Messages can only be swiped in one direction for quoting
  • Implement OMEMO 0.8.3. Note that this feature is highly experimental! The UI is also somewhat clunky at places, but it should (in theory) work. The cryptographic implementation is provided by omemo_dart.
  • Message quotes' fallback body for media files are now more descriptive

Also something to note: The entire XMPP code for Moxxy is now contained in the standalone library moxxmpp.

moxxy - v0.2.3

Published by PapaTutuWawa about 2 years ago

This is another rather small release.

The changes include:

  • Allow sharing text and files with chats. The implementation is pretty early and needs more love but works.
  • Make links clickable in the chat
  • Implement privacy redirects for Youtube and Twitter links. You can enable them in the privacy settings. They are off by default.
  • (Hopefully) fix a bug that caused the armeabi APK to not run on arm64 devices.
  • Fix all messages being left aligned after login.
  • Change the Android AppID from "me.polynom.moxxyv2" to "org.moxxy.moxxyv2"
  • Make images that are being sent appear earlier in the chat my moving the blurhash calculation further back

With this, Moxxy should now be available from IzzyOnDroid's F-Droid repository. Thank you for having me 😄

moxxy - v0.2.2

Published by PapaTutuWawa about 2 years ago

Another release. This time, a few more bug fixes and features!

  • Fix a bug where the connection would get stuck while reconnecting
  • Add an emoji picker. Due to how Flutter currently works, it may be a bit wonky in combination with the soft keyboard
  • Implement File Upload Notifications
  • The shared media display is now split by date. The way it is done is not optimal, though
  • Fix login with Disroot. This means enabling login using PLAIN
  • Fix getting stuck after login
  • Fix not showing certain negotiation errors on the login page
  • Make copying images and videos for sending much smarter so that it should take less time before the message appears in the message list
  • Add shadows to certain back button icons that may have a bright background
moxxy - v0.2.1

Published by PapaTutuWawa about 2 years ago

This release is just a very minor release that, hopefully, includes the fix to a bug causing the connection to get stuck whenever we try to reconnect.

moxxy - 0.2.0

Published by PapaTutuWawa about 2 years ago

After almost 300 commits since the last release, I am proud to announce the 0.2.0 alpha release of Moxxy. The most notable
things in this release are:

  • (Hopefully) fixed connection issues
  • Fixed a bug that would crash the entire app including service
  • Fixed a bug causing avatars to crash the roster retrieval
  • Added support for HTTP File Uploading, though it is not reliable at the moment
  • Added support for chat backgrounds

While Moxxy definitely has taken steps forward, please keep in mind that this is barely alpha quality software. There are bugs and weird issues left and right. If you, however, want to try Moxxy out, feel free to use the attached release builds. The only real hard requirements for testing are a server that advertises a SASL SCRAM variant - either SHA1, SHA256 or SHA512 non-plus - and a Android device that does not kill foreground services. If that happens, disable any powersaving measures for Moxxy . For more information about that, see here.

Also, feel free to join the development chat at [email protected].

moxxy - v.0.1.0

Published by PapaTutuWawa over 2 years ago

Already a new release? Wow.

I still wouldn't call Moxxy ready for usage as there are still a ton of problems, but it looks kinda nice.

This time a lot of new features have been added that are probably not quite ready yet, but here is a list:

  • Added inline media previews for images, videos and files if they are specified using either Out of Band Data, SIMS or SFS
  • Added a write-only implementation of XEP-0461 message replies
  • Fixed a nasty Stream Management bug and also improved the code to prevent excessive retransmissions of stanzas
  • Fixed a lot of bugs in the roster code
  • The background service icon is finally the Moxxy icon
  • You can finally connect to servers even if they don't support direct TLS as specified in XEP-0368. The code will, however, refuse to connect if it cannot enable StartTLS before authenticating. But that is a feature!
  • You can set an image to act as a chat background. However, currently you can only select or remove it.
  • If your server advertises a prefered stream resumption location, Moxxy should in theory honour it and fallback to the regular connection algorithm if that one fails
moxxy - v0.0.2

Published by PapaTutuWawa over 2 years ago

This pre-alpha release of Moxxy is still unusable as a general instant messenger, though if you don't need anything
like images, quotes, profile pictures, etc., it might barely work.

I mainly worked on the XMPP implementation and fixed a few quite nasty bugs. Mainly:

  • Stream Management SHOULD work but there might be a bug that prevents the app from reconnecting after some idle time
  • The Stream Management implementation should be much more spec compliant, though we don't honor the prefered resumption location yet (but that issue is tracked)
  • We now discover what a JID supports automatically if we receive a presence
  • Debugging is now better als works almost the same as with Monal
moxxy - v0.0.1-alpha

Published by PapaTutuWawa over 2 years ago

This is the first ever pre-alpha release of Moxxy!

Currently, nothing is supported besided Stream Management, simple text messaging and removing contacts from the roster.
This is definetely not production ready. But I have done everything I have in my roadmap for a first release.

Currently the login only works if your server allows connections following XEP-0368
and presents either SCRAM-SHA-1, SCRAM-SHA-256 or SCRAM-SHA-512.

The apk files are signed with this key.

Badges
Extracted from project README
Translation status
Related Projects