Movim 0.23, codename Kojima is finally out.
This version brings a lot of fixes, refactoring and a few new exciting features, lets have a look!
A big refactoring of the chat message bubbles internal structure and display was done. This fixes a few old issues regarding the dates separation and their status (received, read, encrypted..).
The messages statuses are now also displayed for the non-textual messages (pictures and audio) and the message menu can be triggered when previewing its attached picture.
Movim had its own internal system to allow its users to block specific accounts. While keeping exactly the same flows and behaviors the blocked list is now relying on the XEP-0191 that allows to synchronize on the XMPP account level. The incoming messages are also now directly blocked on the XMPP server and not in Movim anymore.
Message Archive Management, or MAM is one of the core XMPP XEP that allows clients to retrieve and manage messages from the XMPP server archives.
Movim had a quite basic implementation of MAM until now, the 0.23 allows users to scroll-back any discussions (one to one and chatrooms) and progressively retrieve the complete chat history. The messages are then cached in the Movim database to ensure good performances.
Kojima is bringing a complete new pack of icons and a few related UI changes to integrate them properly during the navigation and in some specific user flows.
The Tenor integration was fixed and upgraded to the v2.0 of their API allow you to send and receive again funny GIFs while chatting!
On the other hand the Twitter integration was completely dropped regarding their recent political changes and API limitation. Bye bye Elon!
As you may have noticed, Movim is a Progressive Web App! This means that you don't need a specific store to get it, you can can directly install it from you prefered browser (Chrome, Firefox, Safari..) and your operating system will take care of building a "native" application out of it.
A few small improvement were added in the 0.23 allowing an even better integration. Movim is now aware of your system network connectivity and automatically disconnect and reconnect/refresh when you get back online, very practical when you're using it on your phone is an area where the network is not that great.
This version is a stepping stone before jumping into the big project that will occupy me the whole rest of the year.
The next version(s) will bring a complete refactoring and redesign of the audio-video calls as well as the suport of multi-participants calls. I will work closely with a few other XMPP clients and server teams to ensure that the integration is properly standardized and fully compatible.
I'll give you some more information about that soon.
In the meantime, enjoy the new release!
That's all folks :)
Hi everyone!
I'm happy to announce that #Movim 0.22.3 has been released. In this small #release, among some bug fixes you will find:
Movim is now supporting message moderation in chatrooms. This will allow admins to moderate bad messages in a few clicks.
Movim is also now handling moderated and removed messages coming from bridged accounts. Deleted messages on Telegram bridged using Slidge will be properly handled and removed in Movim accordingly.
Some small cleanup were done regarding avatar display. Newly uploaded avatars are now 512x512px !
A dumb mistake, that was preventing likes and comments to be published under articles has been fixed as well as a Docker related issue that was preventing to serve some files properly.
Enjoy!
Hi everyone!
Another small bugfix #release. Lets have a look!
This version introduce a new design for the navigation bars, both on desktop and mobile. Nothing big but it should gives some more feedback when navigating between the different Movim zones.
Several bugs around the avatars refresh were also fixed. #Movim now properly check if the #avatar is not already in cache before trying to refresh it again.
The avatar refresh queries are also now spread in time using a super simple scheduler. This helps lowering the network (and I/O) load when logging in.
Some avatars placeholders were also not displayed in some chatrooms, this version fix this small issue.
The previous version introduced a refactor that broke the #chatroom administration panel access. Its now fixed ☺️
Not directly related with this release, but join.movim.eu was also updated to support the newest Movim versions. If you are a server admin, do not hesitate to register your instance there ☺️
That's all folks!
A small #release but with a couple of performances improvements and bug fixes.
The configuration page was reorganized and all the confidentiality setting are now grouped in one unique section.
Linked to that, if you choose to keep your profile private, Movim is now completely disabling your public page, blog and links to your profile.
Movim is relying on Ratchet to manage its Websockets. We moved to the fork maintained by Plesk that upgrated and is now maintaining the project. See the related ticket. This upgrade fixes the related code Warnings under PHP 8.2 as well.
0.22 brought a refactor of the internal XMPP Pubsub related code. This change broke the #Bookmarks management. This version fixes it.
Movim has now some basic support of MSID in SDP (what does it means ?). This basically fixes video-conferencing between #Movim and Conversations.
Maybe one of the most noticeable changes of this release are the two database related fixes that are bringing important #performances boosts (under certain conditions):
And finally, some pictures, avatars and icons are now loaded lazily. This means that your phone or browser will not load them before they are actively displayed on your screen. This greatly reduce the server load and page display time.
Enjoy
Only a few months after Movim 0.21 - Whipple we are releasing Movim 0.22, codename Kowal.
This version was more focused on stabilization, cleanup and refactoring but also introduces a couple of new exciting features. It requires PHP8.1+ to work properly.
Let's dive in!
Already introduced in a previous blog post this new feature allow you to change your blog privacy level between "public" and "subscribers only".
After some feedback from the community a global #OMEMO toggle was introduced in the settings. OMEMO is therefore disabled by default from this version.
This decision is especially linked with the current encryption implementation that relies on libsignal-protocol-javascript that is deprecated by their authors. The performances of this library are not that great, especially on mobile devices, which caused lots of accessibility issues for some Movim newcomers.
For now, no serious alternative are available, if you know one do not hesitate to tell us about it.
Several small tickets (#1212, #1213, #1214) linked to the the audio-video call integration and compatibility with other clients were fixed.
Missed and refused call events are also now tracked properly and displayed in your contacts conversations.
The ?
was (finally) removed in front of all the URLs! While being way cleaner it also fixes some issues when #Movim URLs were shared around, especially on some other social-networks. Don't worry about retro-compatibility, existing URLs are redirected to the new format.
Movim is supporting XEP-0077 for close than 10 years now and this code was never really refactored since then. All the #XMPP code, and related user flow, were cleaned and upgraded to the latest Movim standard, fixing a few issues in the meantime!
Kowal introduce a totally new way of interacting with the chat bubbles.
While keeping the small actions icons on desktop it is now possible to simply click (or tap) on the bubbles to open a sub-menu which presents all the actions available.
This menu allows you to react, retract, reply and copy the message content in one click/tap. Easy!
An important refactoring was done to simplify and factorize redundant items in the UI. This brought some big code cleanup, both on the front part (what is taking care of what you see) of Movim but also in the core and XMPP layers. The code was modernized and ported to PHP8.1+ in many places as well.
Several Pubsub related issues were fixed improving the compatibility with existing XMPP servers such as Prosody or ejabberd (see the related ticket). Movim now detect Pubsub nodes misconfiguration and reconfigure them properly to respect the privacy and settings specified in all the Pubsub related implemented XEPs that it supports.
This refactoring also brought some small UI improvements such as a new design for the contact status bubbles and a totally new way to handle Contacts and Communities avatars. We are strongly advising you to configure the Picture Proxy Cache on your Web Server when upgrading to greatly improve the page load time.
CVE-2023-2848 fixes a security issues that allows under certain circumstances to open a #Websocket to Movim from a different domain. It was fixed in this commit.
CVE-2023-2849 is not directly linked with Movim itself but the related server configuration.
When the domain that host upload files is the same as where Movim is hosted it is possible to upload a malicious Javascript file and execute it in the Movim sandbox. The attack surface is really minimal but we advise you to ensure that such case cannot happen on your instance. To do so you can use different domains between the two services or force the browser to handle all the uploaded files as attachments and not inline elements using a simple HTTP header:
add_header Content-Disposition attachment;
The multi-part audio and video-conference feature that was planned for the 0.22 is pushed back to the 0.23. The amount of work planned for that is quite big, therefore it was more relevant to move all the code cleanup and refactoring plans in Kowal and have this milestone before jumping into this new exciting feature set !
As always, if you find issues or want to share some feedback you have on the project, you can find how to contact us on our official website and our Github.
That's all folks!
Thanks to the awesome work of two Movim contributors kawaii and kskarthik there is a new Github action that automatically build the image and publish it on Docker Hub allowing you to deploy the latest Movim release on your server 😎
Checkout our DockerHub page to get your image!
#docker #dockerhub #movim #container
It is now possible to change your #Movim #blog privacy level using a new setting in the Configuration page.
All the Movim blogs used to be restricted to the users following them, now you can give access to your content to everyone visiting it 🥳
You can also know if a blog is restricted or not by visiting it.
Enjoy this new #feature !
A few days after the official 0.21, we are releasing a 0.21.1 containing a few small fixes.
This version fixes an Opcache related issue that was creating trouble with PHP 8.1, see #1183 for more information.
Movim only load the only required PDO database driver configured in the .env
configuration file (see #1193).
And finally a few elements were added in the ?infos
page to complete the #integration with join.movim.eu. To add your instance on the website you will need to have, at least, this version of #Movim.
That's all folks !
We are happy to introduce Join Movim 🥳
Discover and explore all the existing public Movim servers and add yours to expand even more the federated network 🌍 !
An up-to-date Movim instance is required if you want to add yours to the list. The registration process is quite straightforward. The servers list is refreshed each hour.
#Movim #XMPP #federation #join
Movim 0.21, codename Whipple, is finally out!
Let's have a look of all the new and improved things that you can find in this big #release 🥳
You can now reply to messages thanks to the implementation of the XEP-0461: Message Replies.
More and more clients in the XMPP ecosystem supports this feature, including Slidge, new XMPP gateways project that is allowing you to bridge Movim with Telegram, Discord and many others chat platforms.
Movim now integrates WebPush. Never miss a message, even when Movim is closed. This feature is also working when you install Movim as a Progressive Web App on your Android or iOS device.
The configuration panel has been redesigned to be more accessible.
You can now block contacts directly from your Movim instance and manage your block-list from the panel.
Microphones and webcams can also be configured and tested from the Audio & Video configuration tab.
This version brings the support of Unicode 14 and many new emojis that you can use in your messages, posts, replies and reactions.
Movim is following the #Material Design guidelines since 2014. This release is bringing a fresh redesign of the components and animations based on Material 3.
The main menu was reorganized to clarify the navigation and hide the second-level pages in a sub-menu that appears when hovering the account item.
Following this redesign Movim accounts can now set a banner next to their avatars.
The Send To feature, that allows you to send articles to contacts was completed by a Share feature allowing you to share the article in a new publication on your personnal blog on in a Community that you're in. Useful to share things around !
Movim can now play and record #audio messages.
When creating or configuring your Communities you can now set a Community type. The Gallery Community forces the publications to contain at least one image and display them as a grid.
This feature is the result of a long clarification and standardization work made on XMPP Pubsub with the pubsub#type
attribute, the introduction of a new XEP based on that change called XEP-0472: Pubsub Social Feed and the support of pubsub#type
in ejabberd (related ticket).
A very important work was done to limit the Movim processes memory consumption.
The daemon and subprocesses are now using PHP Opcache to load and share only once lots of files that were previously loaded multiple time during the Movim runtime. PHP modules are also loaded using a predefined whitelist to limit the usage of useless modules in memory.
The old configuration system has been moved to the DotEnv standard. This change merges all the previous configuration (database, daemon and paths) into an unique .env
file.
They can also be set using environment variable directly in your Docker Compose, or Web Server (using SetEnv
in Apache for example).
The official Movim Docker image was also updated to fit those changes.
If you are planning to upgrade your current Movim instance please follow those few steps:
.env.example
file in .env
and complete the few configuration variables in it. They should be the same as the one you set in the previous db.inc.php
file and your daemon parameters.db.inc.php
filedaemon.php
parameters from your init.d
, systemd
services or other scripts. The daemon launch command should look this way: $ php daemon.php start
....and as always, don't forget to run the migrations (php composer.phar movim:migrate
) and restart your daemon.
Movim 0.21 is not trusting anymore posts, likes and comments that are not containing the explicit identifier (Jabber ID) of the publisher and therefore now rely on this part of the XEP-0060: Pubblish-Subscribe - 12.16 Associating Events and Payloads with the Generating Entity.
All the existing likes and comments might be not counted anymore or seen as "Non trusted" ones. All the new published ones will be configured properly.
You can update all the existing stored node configuration to force the new default configuration using the following SQL request. You might do a backup of your database before doing such changes:
update pubsub_node_option set val = `publisher` where name = `itemreply` and val = `none`
...and load those changes without restarting ejabberd:
$ ejabberdctl clear-cache
Ensure that you have the expose_publisher = true
set in your configuration, see the related documentation.
Movim 0.22 should include two big projects.
The cleanup, rewrite and refactoring of the OMEMO support that is quite buggy and not opmized. We are not promising anything on this side, OMEMO is always a complex beast to handle.
The audio and video conferencing features were already introduced a few years ago in Movim. Some preparation work has been done in this 0.21 release to be able merge back the pop-up video-conference window inside the main window for the upcoming release.
The multi-part audio and video-conference feature is also one of the main feature that miss in Movim and is requested quite often by our users. Let's see if Movim 0.22 finally include this long awaited #feature.
Regarding the amount of work that need to be done regarding those features it might be possible that specific funding will be requested for it to free up enough time to work properly on their integration.
A big thanks to the #Movim community that is growing more than ever. You can find us on our main support chatroom movim@conference.movim.eu.
If you find issues or if you want to contribute to the project you can find everything on our Github page.
And if you want to support us, fund the development of new features and help us pay our servers, domains and communication we are actively looking for supporters and sponsors on our Patreon.
That's all folks!
Movim is joining the Mastodon network you can follow us on @movim@piaille.fr to stay informed of our latest news or you can continue to follow our official blog as well 😋
We also totally refreshed our Patreon page and introduced two new membership levels, Supporter and Sponsor. If you want to help Movim and fund our development do not hesitate to support us there.
We would really like to first cover our monthly expenses (servers, domains…) and if we get enough support be able to fund some new features such as group-videoconferencing 🥰
#Patreon #Mastodon #Sponsor #Support #Movim
Bye bye Facebook, bye bye Twitter, the federated platforms are ready to take over!
The whole Fediverse is booming, Mastodon looks like a really promising replacement for the little blue bird and Peertube to replace Youtube. Many other platforms are currently being developed around the ActivityPub ecosystem like explained in this article The Fediverse is so much bigger than Mastodon.
We think that Movim also fit perfectly in there by being a perfect blogging and chatting platform. Fully built on the widely used Internet standard XMPP it is packed with plenty of exciting features in a nice and friendly user interface.
The Libervia project is actually working on a bridge between ActivityPub (the Fediverse core protocol) and XMPP which would allow us to connect all those exciting platforms with Movim!
Feel free to share the word to help us!
We are just at the beginning of this exciting journey :)
edhelas
#movim #xmpp #activitypub #fediverse #mastodon #libervia #twitter #facebook
I was used to #release a new version of #Movim twice a year. Skiff is an exception. One year of work was required to release the 20th major version of the project.
The main reason is mostly based on the amount of work and adjustments required to integrate the main feature of this release: the support of end-to-end #encryption through the implementation of OMEMO.
So let's dive in all the new exciting features that you will discover in this major release.
The technical part was already extensively covered by the dedicated article End to end encryption in Movim - OMEMO is (finally) there!.
The user experience and flow is not very different than on other XMPP clients, if Movim detects that you can start an encrypted conversation with a contact a small lock icon will be displayed next to the chatbox. You can always choose to toggle it back to have a non-encrypted discussion.
It is also possible to see all the encryption fingerprints in the Contact drawer under the dedicated "Fingerprints" tab. You can also enable and disable encryption to each fingerprint manually there. Movim is displaying the last message sent or received and the client linked to the fingerprint to help you with your configuration. But rest assured, those settings are only for those that wants to configure in detail their encryption levels.
End-to-end encryption is also available for group chats, the flow is exactly the same as for single contacts.
There is some chances that you encounter encryption issues in some cases, even after a lot of debug and refactoring end-to-end encryption is a really complex beast that is difficult to handle. Feel free to open a ticket with all the details to reproduce the issue if you encounter one.
I'd like to thank again NLNet for their help on this project ! With the funding I was able to free-up time to finally integrate end-to-end encryption in Movim.
A few changes were made regarding the posts and their integration within Movim.
The post publication form was slightly redesigned and now allows several images, files or links to be attached. Linked to that change, post cards were also redesigned with a more compact design.
The public Communities and Blog pages now have the same 2-columns design as their private version. The displayed Communities and Contacts information are also now more compact.
The tags were redesigned and are now more clearly visible and navigable.
The contacts and chatrooms drawers were redesigned and now include some really useful information. Pictures and links sent in conversations are now quickly available in dedicated tabs.
Chat bubbles are now properly displaying quotes and support message styling.
A big refactoring was also done regarding how the edited messages are handled in Movim. This refactoring allowed messages to be edited in Group Chats and the support of several edits on a single message (which caused some weird message duplication bug).
Chatrooms administrators can now manage affiliations and ban/unban users.
You can now prioritize your most important chatrooms on top of the list with the pin feature.
The old Movim API code was fully removed. It had been left untouched for years and not really used nor up-to-date anymore.
When you are in a chat conversation, the other chats counter is displayed on the back button.
The internal picture library was rewritten and simplified, it now supports transparent avatars. All pictures are now compressed in WebP by default.
Admins can now fully disable the registration feature. It is quite useful if you have a dedicated Movim setup and a specific separated flow to register your users (using an internal LDAP in a company or school for example).
Plenty of new emojis were integrated with the support of Unicode 13.0.
Movim used to have some "native" apps, on desktop and Android. All those app are now deprecated and replaced by work that was done to make Movim a full Progressive Web App. From any browsers you can now install Movim as an app on your phone or desktop in a single click.
Lots of other small improvements and features were integrated in this release but not listed there, it's time for you to discover them. Enjoy this new version!
That's all folks!
Once in a while I download and synchronize the #Movim #translations from the Transiflex platform.
Thanks to the awesome community, Movim is now translated in 57 different languages.
I was really surprised that the project was fully translated in Basque. A language spoken in the beautiful #Basque Country that sits between France and Spain. I personnally lived there for a few years (in Bayonna) and really loved those beautiful lands!
I'd like to thank again all the people that are working hard on the Movim translations!
Mila esker (Thank you in Basque) !
A few days ago I finally closed the OMEMO encryption ticket on Github. Opened in 2015 it had many twists and turns along the years but I finally found a proper way of integrating it in Movim.
In this article I'll explain why adding #E2EE (End to End Encryption) was not as easy as with the other #XMPP clients (and more generaly all the chat clients that are using a similar encryption protocol) and how I addressed the issue.
But before going in the details I'd like to thanks the NLNet Fundation for its financial support in this project. With their help I was able to free-up some time to work on the problem and propose a proper architecture (detailled bellow) for it.
The result of this work will be released with the upcoming 0.20 version of #Movim. There is still some quirks and whims about it but the base is there and works pretty well.
The introduction of Signal in 2015 brought a small revolution into the encryption protocols in the IM ecosystem. The Double Ratchet Algorythm (see the dedicated technical documentation on the Signal website) allowed users to exchange messages between different clients in an “end to end encrypted” way (only user devices themselves know how to encrypt and decrypt messages) with some technical improvements (not detailed here) that made the new protocol a “must have” for all the others IM solutions.
Today the Double Ratchet Algorithm is used in applications such as WhatsApp or Matrix.
In the XMPP ecosystem it was primarily pushed by Daniel Gultsch in the Conversations.im client and standardized along the way in the OMEMO XMPP Extension XEP-0384: OMEMO Encryption. Throughout the years many XMPP clients implemented OMEMO, their status can be tracked on the following website Are we OMEMO yet?.
Without going too deep into the technical details the general idea about OMEMO is to generate some keys on each of the user's devices and publish the public ones on their account server.
Using the keys published on the XMPP user's servers, anyone can then start an encrypted session at any time (the servers are always available) and start to send messages to the desired contact without having to wait.
If one of the user's contacts wants to start an encrypted discussion they will first start to get those keys, then build sessions with their secret one and encrypt a message using the freshly built sessions.
If a user receives a new encrypted message and doesn't have an encryption session to that device, their device will then retrieve the contact keys, build the encryption sessions and start decrypting messages.
This can be done automatically if the contact trusts blindly the key used or in a more “trusted” way by accepting manually each keys to build the encryption sessions on.
All the existing XMPP clients are using this simple architecture. XMPP servers are storing their users' #OMEMO public keys and the users are connecting directly using their different devices to build their encrypted sessions.
But Movim is kind of special. The XMPP connection is actually not maintained on user devices but by the Movim server (built in PHP and running behind a web server such as Apache or nginx, see Movim General architecture on the Wiki). Movim is then processing everything server side, saving the information (articles, contacts and messages) in a SQL Database (PostgreSQL or MySQL) and then showing the result to the Movim users through a lightweight website.
If a user is connecting on the same Movim instance through several browsers using the same XMPP account all the browsers are then “merged” into one unique XMPP session (called "resource") and all the browsers are synchronized in real time by the Movim server. This is pretty useful to save memory and to prevent Movim to maintain several XMPP connections at the same time for a unique user. This also allows quick disconnection/reconnections, the users can close and reopen their tabs without having to reload the whole XMPP state when they come back after a while (Movim is closing the XMPP session after a day of inactivity).
End to end encryption actually requires to encrypt and decrypt messages on the user device, this brings several issues:
This unique architecture requires a very unique way of adressing the E2EE situation. Hopefully OMEMO offers all the tools needed to handle those cases.
The OMEMO extension is actually talking about devices, for a large majority of the XMPP clients a device is connected through a unique XMPP session (one device equal one current XMPP resource in those cases).
The fact that Movim is sharing a unique session (resource) with several devices (browsers) is actually not an issue in the end. Each browser will then be considered as a unique device on its own, with its own key and its own OMEMO encrypted sessions.
This brings some interesing results. When a user is connected using the same XMPP account using two different browsers on the same Movim server (also called instance, or pod), an encrypted message sent by the browser Firefox will then directly be decrypted by the browser Chrome without even having to travel through the XMPP network.
The term “browser” is also defining more than actual browsers (like Firefox, Chrome or Opera). Since we can have private navigation or containers (in Firefox) each time it is seen as a different “browser” on the Movim side (because each context is separated, with a different cookie and different local data).
So the global idea is to continue to handle the messages server side, push the encrypted message object to the browser, and then implement only the key handling and message encryption-decryption flow browser side. When doing this implementation I actually looked at the Converse.js and JSXC OMEMO implementations, the Movim implementation is really close to the one done on those two clients (I am also re-using the libsignal JavaScript implementation).
This architecture actually works for the current version of OMEMO (0.3.0) where only the body is encrypted. The upcoming versions are looking to encrypt a larger part of the XML stanza. This will be way more difficult to handle for Movim, as it will require to decrypt messages browser side and then implement a second parser, this time in JavaScript (everything is parsed in PHP using libxml at the moment).
if (textarea.dataset.encryptedstate == 'yes') {
// Try to encrypt the message
let omemo = ChatOmemo.encrypt(jid, text, Boolean(textarea.dataset.muc));
if (omemo) {
omemo.then(omemoheader => {
...
xhr = Chat_ajaxHttpDaemonSendMessage(jid, tempId, muc, null, replyMid, mucReceipts, omemoheader);
...
});
}
} else {
xhr = Chat_ajaxHttpDaemonSendMessage(jid, text, muc, null, replyMid, mucReceipts);
...
}
This little JavaScript Movim code extract presents the differences in handling encrypted and unencrypted messages. The text
variable is containing the clear text version of the message. When the body is encrypted it is then calling the same method as for a clear text message.
This method is actually a wrapper generated by the RPC (Remote Procedure Call) Movim server core. Once this function is called an Ajax called is made and the rest of the flow is handled server side. The encrypted body, and generated OMEMO headers passed will be injected in a freshly generated XMPP XML <message>
.
With the separation of the logic it was then required to keep a copy of the decrypted messages browser side.
To do that an IndexedDB database is used. This database is quite simple and only contains a key-value store, where the key is the message id (the same as the one in the Movim server SQL server databse) and the value the plaintext message.
false
value. This prevents Movim to try to decrypt several times a message, knowing that the decryption will fail each time in the end.Using this database, when a chat is loaded, all the messages are then sent chronologically from the server, passed trough a little bit of code that will lookup the state of all messages and then decrypt the ones that are not decrypted yet, the already decrypted messages are then shown, or an error is displayed for those that cannot be decrypted.
In this article I tried to present you what limitations I faced when trying to implement end to end encryption within Movim and what architectural and technical solutions were used to address them.
The current solution seems to fit and bring all the desired features to Movim without too much downsides. The feature can now be considered as done and will be released soon. And as always, lots of small fixes and adjustments will be integrated to polish it afterward.
That's all folks!
edhelas
It's been a while since I have told you about Movim. I was quite busy the past few months with many other things in my personal life, but this doesn't mean that I haven't worked on Movim!
So in short, here is a few things that have been changed recently:
api.movim.eu has been upgraded and refreshed with a new Laravel backend, Google ReCAPTCHA has been replaced with hCaptcha
The Legals page will be soon upgraded. A specific ticket has been opened to allow you to report and bring ideas on how to improve it.
Following our previous blog post about the state of the Android application I decided to officially archive the Android app and remove it from F-Droid.
Some work has been done to integrate Movim better as a #PWA (Progressive Web App) to still allow you to enjoy it from your mobile phone.
We had an extensive #SecurityAudit by Radically Open Security that did an amazing job.
The audit covered Movim itself but also api.movim.eu and all the related projects, including movim/movim_docker. The result of the audit is currently restricted but we are actively using the finding to improve the general project security:
That's all folks!
edhelas
A nice #comparison between #Movim (XMPP) and Element (Matrix) from similar features. Thanks !
Hi,
I am writing this little post today to ask for (a bit) of help on the official Movim #Android application that is currently available there.
I am maintaining #Movim for more than 10 years now, mostly without asking for any help from the hundreds of daily users that we have now (on the servers we're aware of, at least). I am also maintaining and updating the infrastructure hosting the website, the official pod and the #XMPP server and related services.
However Movim is a little more than that, there is also an Android app, and a desktop app (currently abandoned).
I am maintaining the Android app with the really thin knowledge that I have on this platform. Most of the code of the application is basically copy/pasted from StackOverflow and a bit hacky. Fixing and developing this app is always really time consuming as the environment, and the way of dealing with it, is really different than the knowledge that I have on the web development side.
So basically today I'm asking from some help for the official Movim Android application. If you have a little bit of experience in Android development (or if you want to learn !) and if you're willing to help me to improve the application do not hesitate to contact me through our official chatroom, directly on Github or as a comment of this post.
The app is quite simple. It is basically a WebView that shows one of the configured pods. And… that's mostly it.
What would be really helpful would be to have (non exhaustive list):
There is no pressure or deadline, any pull requests that could help improving or fixing things in the application would be really appreciated.
I am currently dealing with Google to re-enable the application on the Play Store as well, I will keep you updated about that.
Regards,
edhelas