• chevron_right

      Movim 0.22.3 is out

      pubsub.movim.eu / Movim · Thursday, 3 August, 2023 - 21:15 edit

    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:

    XEP-0425: Message Moderation

    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.

    Improved avatars

    Some small cleanup were done regarding avatar display. Newly uploaded avatars are now 512x512px !

    Fixes fixes fixes

    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.


    • wifi_tethering open_in_new

      This post is public

      mov.im /node/pubsub.movim.eu/Movim/36451474-203b-40e7-a201-345b6c03dc42

    • Pictures 1 image

    • visibility
    • chevron_right

      Movim 0.22.2 is out PARTY POPPER

      Timothée Jaussoin · pubsub.movim.eu / Movim · Thursday, 20 July, 2023 - 19:14

    Hi everyone!

    Another small bugfix #release. Lets have a look!

    New design for the navigation bars

    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.

    Avatars refresh fixes

    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.

    Chatroom administration panel

    The previous version introduced a refactor that broke the #chatroom administration panel access. Its now fixed ☺️

    join.movim.eu fixes

    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!

    • chevron_right

      Movim 0.22.1 is out! FACE WITH PARTY HORN AND PARTY HAT

      Timothée Jaussoin · pubsub.movim.eu / Movim · Sunday, 9 July, 2023 - 13:08 edit · 1 minute

    A small #release but with a couple of performances improvements and bug fixes.

    Confidentiality settings 🔒

    The configuration page was reorganized and all the confidentiality setting are now grouped in one unique section.

    The new Confidentiality 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.

    Bookmarks 2 🔖

    0.22 brought a refactor of the internal XMPP Pubsub related code. This change broke the #Bookmarks management. This version fixes it.

    Video-conferencing fixes 📹

    Movim has now some basic support of MSID in SDP (what does it means ?). This basically fixes video-conferencing between #Movim and Conversations.

    Performances improvements 🚀

    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):

    • Some large chatrooms, with plenty of messages, were taking many seconds to load. This was caused by Movim trying to find the current room subject in the #database before displaying the room panel. The related query was rewritten to reduce considerably its execution time.
    • The unread messages counter database query, that was known to be one of the slowest part of Movim, was also rewritten to divide by 2 its execution time. On top of that a new index was added to boost even more its performances. This should greatly improve the chat conversations and page load time on large accounts.

    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.


    • chevron_right

      Movim 0.22 - Kowal

      Timothée Jaussoin · pubsub.movim.eu / Movim · Sunday, 25 June, 2023 - 16:02 edit · 3 minutes

    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!

    Blog privacy toggle

    Already introduced in a previous blog post this new feature allow you to change your blog privacy level between "public" and "subscribers only".

    Global OMEMO toggle

    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.

    Fixes and improvement around audio-video calls

    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.

    Cleaner URLs

    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.

    Rewrite of the XEP-0077: In-Band Registration related code

    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!

    New Chat bubble design and interaction

    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!

    The new chat message menu

    Under the hood... or not

    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.

    Two important security fixes

    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;

    What's next?

    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!

    • chevron_right

      Movim is now on DockerHub PARTY POPPER

      Timothée Jaussoin · pubsub.movim.eu / Movim · Monday, 22 May, 2023 - 22:17 edit


    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

    • chevron_right

      Turn your blog fully public with this new Movim feature!

      Timothée Jaussoin · pubsub.movim.eu / Movim · Sunday, 30 April, 2023 - 12:54 edit

    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 🥳

    Blog privacy setting

    You can also know if a blog is restricted or not by visiting it.

    Blog visibility

    Enjoy this new #feature !

    • chevron_right

      Movim 0.21.1 - Whipple

      Timothée Jaussoin · pubsub.movim.eu / Movim · Thursday, 13 April, 2023 - 21:20

    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 !

    • chevron_right

      Working on launching the Movim Network ROCKET

      Timothée Jaussoin · Sunday, 9 April, 2023 - 12:04 edit


    I'm currently working on rebuilding the #Movim API #tools to prepare the launch of what will be the upcoming Movim Network.

    First step will be to have a page where Movim admins will be able to #register their server to help with discoverability, the same way as joinmastodon.

    Let's see where this goes 😁

    • chevron_right

      Timothée Jaussoin · Thursday, 30 March, 2023 - 17:29

      Contact publication

    • reply chevron_right

      Movim 0.21 - Whipple

      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 🥳 Message replies 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. Push Notifications 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. Improved account configuration 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. New emojis This version brings the support of Unicode 14 and many new emojis that you can use in your messages, posts, replies and reactions. Redesign 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. Share and Send To 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 ! Audio messages Movim can now play and record #audio messages. Gallery Communities 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). Performances, memory consumption and stability 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. DotEnv configuration 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. Migration from Movim 0.20 If you are planning to upgrade your current Movim instance please follow those few steps: Copy and rename the .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. Remove the db.inc.php file Remove all the daemon.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. XMPP Pubsub node security and restrictions 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. Migration from Movim 0.20 On ejabberd 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 On Prosody Ensure that you have the expose_publisher = true set in your configuration, see the related documentation. What's next? Movim 0.22 should include two big projects. OMEMO rewrite ? 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. Multi-part audio and video-conference feature 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. Enjoy! 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!

      group_work Movim 29 March, 2023