call_end

    • Mo chevron_right

      Here comes the new Movim release, Encke 0.30.1 SPARKLES

      Timothée Jaussoin • pubsub.movim.eu / Movim • 23 April • 1 minute

    Following last month's 0.30 Encke important upgrade here is the first bug-fix release!

    What's new?

    Animated pictures support in the image proxy

    Movim is proxying all the pictures to recompress and cache them along the way (the cache needs to be configured in your web server, see the dedicated documentation for that).

    For animated GIFs, it used to only take the first frame and compress it in WebP, like for all the other pictures. Now Movim tries to turn it into an animated WebP!

    The Picture Proxy was also refactored to handle some cases with some buggy picture URLs.

    New Avatar and Banner Configuration Panel

    The new panel

    The avatar and banner configuration panel was redesigned to give you a nice overview of your final profile page.

    XEP-0392: Consistent Color Generation support! 🎨

    The internal color palette handling was refactored and slightly adjusted to integrate better with the Accent Color feature introduced in 0.30. A few new colors were added along the way.

    More colors to customize your Movim UI!

    Movim is now implementing XEP-0392: Consistent Color Generation. This means that the same user or content will have the same colors on all your different XMPP clients. ✨

    Slight adjustment of the ChatroomPings service

    Movim is implementing XEP-0410: MUC Self-Ping (Schrödinger's Chat) to ensure that you are still connected to your chatrooms even if there is no activity in them. The ping-pong system was a bit too sensitive and could declare a disconnection in some cases; the timeout was adjusted to prevent most of those unfortunate disconnections from happening.

    Dropping MySQL support

    Movim had "MySQL" and PostgreSQL support for a while already. The original MySQL database was forked as MariaDB and both started to evolve very differently the past few years. MariaDB finally became the "default" database in most of the Linux distributions.

    The two databases were always considered as "flavors" until now, but only MariaDB was extensively tested with PostgreSQL during development.

    It seems that the now MySQL DB is not compatible with Movim anymore and will require very specific support to fix all the migrations and some queries that are not working anymore on it.

    It was therefore decided to only keep the PostgreSQL and MariaDB support, PostgreSQL still being the (strongly) recommended one.

    What's next?

    Going back to the multi-participant calls project, lots of exciting things to do! Stay tuned. ☺️

    That's all folks!

    #movim #release #xmpp #features #database #colors #mysql

    • Mo chevron_right

      Good news everyone, Movim 0.30 Encke is there SPARKLES

      Timothée Jaussoin • pubsub.movim.eu / Movim • 4 April • 4 minutes

    Only a few months after the previous version here comes Movim 0.30, codename Encke ☄️

    This release is actually way bigger than you might think! Indeed, during half a year a lot of work was poured into the part II of the Movim Live project that has been the biggest evolution in Movim for many years. This side project was finally merged and stabilized in the main branch and we are proud to unveil it to you 🤩.

    Movim Live, Part II

    Funded by NLNet, the Movim Live project's aim is to bring a modern and complete stack of video-call features to Movim and to create a strong alternative to the other proprietary and centralized platforms.

    NLNet Logo

    The Part I goal was to modernize the existing one-to-call call stack. Part II was to bring multi-participant calls, and we did it!

    How was it done?

    Movim is now implementing XEP-0272: Multiparty Jingle (Muji) combined with XEP-0482: Call Invites. The first XMPP extension, called Muji, allows a user to join a temporary chatroom and initiate an audio or video call with any of the participants inside it. The second one allows this user to be invited or invite contacts to join this "Muji Chatroom".

    Another client is already implementing those two XEPs, Dino, and it's actually the first time that we have two clients on totally different stacks (one is a desktop client, the other one a web application) that can do multi-participant calls on a standard protocol.

    How can I create a group call in Movim?

    The flow is quite close to a one-to-one call, except that you start the call in one of your group chats.

    The Muji Lobby

    The group call will then appear in your chatroom list, similar to what you can find on Discord. The other participants will then get an invitation and will be able to join the group call once their camera and microphone are set up correctly.

    The group-call status

    What can I do in a group call?

    Once you're in, Movim offers a couple of nice features to enjoy the call.

    A group call on mobile with the grid view

    You can toggle between the grid view and the "active-speaker" view (where the actively speaking person is put in front). When using the grid view, the speaking person's microphone is slightly bigger and blinking in green.

    The existing screen-sharing feature has also been ported to group calls, allowing you to share your screen with the others. More work will be done on the part to allow you to stream your screen and webcam simultaneously and use Movim as a nice stream-gaming platform or live-conference tool in the future ✨.

    A lot of work was also spent on ensuring a proper integration of the call in the user interface and the user flows. When you're in the chatroom, the group call is integrated into the chat view, and when you leave the discussion, it moves automatically in the corner. You can also put the group call in full screen at any time.

    And as always, you can toggle your webcam and microphone off any time.

    Movim Live, Part III

    So what's next? In the upcoming and last part Movim is actively working with the ProcessOne team on a new set of XMPP extensions to bring massively scalable group calls in XMPP.

    The current Muji flow is to initiate a one-to-one call with each of the Muji call participants, as you can see it doesn't scale that much. An SFU, or Selective Forwarding Unit allows you to call a specialized server, send your video and audio streams and receive the other participants streams in return.

    This should require standardizing two new XEPs:

    • One to allow declaring an SFU server in a Muji Call
    • One to allow chatrooms to have permanent call rooms to join

    The current flow is an "invite-based" one; this means that once everyone leaves the group call, it is automatically destroyed. We would like to allow chatroom admins to create one or several "call rooms," name them, and allow their users to join and leave the calls at their convenience. This will bring a more modern experience and bring many new ways of interacting with audio and video calls in XMPP.

    Hopefully this Part III should be delivered in the upcoming months; stay tuned!

    What else?

    The 0.30 is also bringing some other exciting features 🤩.

    The reactions are now displayed in the detailed message view.

    The detailed message view

    Some parts of the UI were modernized and simplified, such as the emoji picker view or the navigation bars.

    Movim is now supporting Unicode 15.1 with plenty of new emojis to use 🥳.

    When one of your contacts is publishing a new Story his avatar will change, allowing you to easily open it.

    The avatar story status

    The Movim UI, and especially color management, was also deeply refactorized and simplified. The Light and Dark modes are better looking and an exciting Accent Color feature is now allowing you to customize your Movim even more 🎨.

    Light mode in purple

    Dark mode in green

    See you soon!

    So that's all folks ✨.

    We hope that you'll really enjoy all those new features. If you're a server admin we invite you to add your server to join.movim.eu and join the federation.

    We would also be really pleased if you share Movim around, invite your friends to join, and talk about it. Movim can be a really nice open-source, federated and standard alternative now. Let's grow the community ☺️!

    Thanks again to all the contributors, translators, and other bug finders that allowed this exciting version to be launched 💕.

    See you next time 😘.

    #movim #release #xmpp #nlnet #videoconference #groupcall

    • Mo chevron_right

      Timothée Jaussoin • pubsub.movim.eu / Movim • 27 March edit

      Today Movim just reached 10K commits PARTY POPPER, and this year we will celebrate the 15th anniversary of the project BIRTHDAY CAKE FACE WITH PARTY HORN AND PARTY HAT

      The upcoming 0.30 will also be a huge milestone with plenty of exciting features, stay tuned SPARKLES #milestone #release #birthday #anniversary #xmpp #movim

    https://upload.movim.eu/files/9d94237298995552fa13436420195fbca436dce7/44ZmcXgsRiTt/post_image.png
    • Mo chevron_right

      Movim 0.29.2 is here PUBLIC ADDRESS LOUDSPEAKER

      Timothée Jaussoin • pubsub.movim.eu / Movim • 17 February edit • 1 minute

    In this #release you'll find some important fixes and improvements; let's have a look. 😉

    Set minimum PHP version to PHP 8.2

    This change was initially planned for the next major version but some dependency issues forced me to raise the minimum PHP version required by #Movim to 8.2. PHP 8.1 was already in EOL anyway.

    Fixes and improvements in file upload

    The file upload code was slightly refactored. It fixes a crash when the filename was too long (the filename is then shortened and a hash is added at the end).

    When uploading a file from Movim their name is also prefixed with post_, chat_ and story_ regarding from which part of the UI they are sent. This feature was requested many times by the admins to allow them to organize and expire them properly (for example after 24h for Stories files, unlimited for Post files).

    Fixes Pubsub ordering

    ejabberd and Prosody don't return the requested #Pubsub items the same way, most recent first for ejabberd and earliest first for Prosody. The XMPP protocol doesn't specify any default order so Movim is now automatically checking the order based on the articles publication time.

    Reconcile the nullable state in some tables

    It seems that a small change in the internal Movim database library (Eloquent) changed the behavior of some migrations along the way, this version reconcile those differences (some SQL columns were not nullable as they should).

    Update fabiang/sasl to fix Update of the SASL SCRAM Downgrade protection XEP #17

    Movim is now integrating the upgrade of the XEP-0474: SASL SCRAM Downgrade Protection XEP and the proper integration of the RFC 5802. This solved the connection issue on some #XMPP servers and fixed a risk of attack in the #SASL stack.

    What's next?

    Hopefully the next version will be a 0.30 and will integrate some pretty big changes, especially on the video-conferencing part. Stay tuned!

    That's all folks ✨

    • Mo chevron_right

      Movim 0.29.1 is out, time to upgrade! SPARKLES

      Timothée Jaussoin • pubsub.movim.eu / Movim • 26 January • 1 minute

    Here comes the first bugfix release of the year 🎉

    The 0.29.1 comes with a more polished and improved Stories feature, database fixes as well as some preparatory work for the PHP 8.4 version.

    This release will be the last one to support PHP 8.1. PHP 8.2 and above will then be required for Movim 0.30.

    Polishing the Stories feature

    In the 0.29 Movim introduced the Stories feature, it is even now showcased on the main website.

    This release fixes a few quirks introduced in the last version:

    • When viewing Stories between different browsers on the same connected account the "viewed" synchronization is now working properly.
    • It is now possible to publish Stories without having a camera enabled (or no camera at all), you'll then be able to just pick an image file from your device gallery.
    • The play/pause buggy feature was fixed with a new timer (which was also used in the Chat dictaphone fixing some recording timer problems).
    • Close the Stories viewer using the previous button or Esc key.

    Preliminary work on PHP 8.4

    The brand new PHP 8.4 release introduces a lot of interesting new features... but also deprecates some old syntaxes and enforces strong typing for some extensions.

    Most of the errors were fixed in the Movim code but the dependencies need to be updated to ensure proper compatibility with this version, this update will drop the PHP 8.1 version (that is now in end of life). So we are suggesting to start to update to at least PHP 8.2 to prepare for the upcoming release.

    Database fixes

    The most important fixes of this release are related to the database. A serious issue with chatroom presences that was preventing Movim to handle some of them was fixed (issue #1386). This fix leads to discover a more serious issue that was there for more than two years (!) and that causes some presences to be deleted from the cache unexpectedly (issue #1357).

    Those changes come with some database migrations, don't forget to migrate when updating Movim!

    The translations were also updated, a big thanks to all the translators 🫶

    That's all folks! ✨

    #movim #release #xmpp #stories #database #sql

    • Mo chevron_right

      Movim 0.29 Rankin, time to share your Story! SPARKLES

      Timothée Jaussoin • pubsub.movim.eu / Movim • 1 January edit • 2 minutes

    New year, new #release ! This time with plenty of new exciting features, let's have a look at them. 😊

    Stories

    The past few years several chat platforms tried to blur the line between their chat and social features.

    Stories are a very nice way to share content with your contacts and allow them to react easily by chat.

    Stories screenshot

    Movim 0.29 is the first XMPP client that implements Stories. A specific XMPP extension, XEP-0501: Pubsub Stories, was created to standardize and allow perfect compatibility with other clients on the network. XMPP is once more showing its capability to be a perfect protocol to build this kind of feature and deploy it easily across a large network of compatible clients.

    While writing this article some other XMPP clients are already planning to implement the feature.

    You'll be able to create a new Story by taking a picture directly with your camera or select one from your gallery, edit it, add a small text and publish it to your contacts. Your story will then be available for 24 hours, and your contacts will be able to comment on it by sending you a chat message.

    In the upcoming versions more features will be progressively added to complete those ones. If you are looking for a feature in particular feel free to drop a comment or a message in the support room. 😌

    Briefs

    This version is also introducing Briefs, a simpler way to publish content on your profile or in your Communities.

    Until now you were invited to write posts having a title and a content. Briefs allows you to directly publish a short text to your contacts like on Mastodon, Twitter or Bluesky. If you feel the need to express yourself in a more "bloggy" way you can always switch back to the complete experience.

    A Brief

    Some refactoring was done in the database and user interface to better integrate Briefs in the feeds.

    But also...

    An important refactoring was done regarding how the internal dates and times were handled. Now each connected user is sending its own timezone on login and all the times are generated dynamically using those timezones; this solves some weird calculated hours during the switch between daylight saving times.

    Lots of fixes were done in how the chat discussions are handled and cached. This is fixing a few erratic behaviors in how chat discussions were ordered and their related notifications displayed.

    And as always some database, user interface and JavaScript fixes.

    Some news from the Movim Live project

    The Phase 2 of the Movim Live project is finally getting in shape. Movim is now able to start and join a multiparticipant call and get their cameras and microphones. This required some important refactorings in how the calls and media streams were handled internaly, you can follow the dedicated branch there Pull Request: Multiparty Jingle.

    This second important phase should be finished in a few months and a dedicated version (maybe a 0.30 ?) will be published then.

    In the meantime lets enjoy all the new exciting features.

    Happy New Year to all the #Movim and #XMPP users 🎉

    That's all folks!

    #stories #briefs #story #brief

    • Mo chevron_right

      Movim 0.28 Tempel and the Movim Live plan

      Timothée Jaussoin • pubsub.movim.eu / Movim • 24 September, 2024 • 3 minutes

    We're getting close to one #release per month! Indeed, a lot of things are going on in the project at the moment. Let's have a look at all the important new features and fixes before giving some details about the #Movim Live project.

    Freshly redesigned Search panel

    To bring some coherence and uniformity to the UI the Universal #Search tool has been reorganized and redesigned; it now gives you more interesting results in a more compact way.

    The redesigned search panel

    Using one keyword you will be able to search into your contacts, communities, article tags as well as recent articles and public contacts. Some optimizations were also made to speed-up the results.

    Improved account gateways and administration features

    Movim has been handling XMPP gateways for many years already; they allow you to connect and chat with people on many different platforms directly from your main XMPP account. Lots of work and tests were also done to improve those gateways integration, especially with Slidge which has become a reference in the #XMPP ecosystem the past few years.

    In the configuration panel you will now be able to easily subscribe, manage and unsubscribe with those gateways thanks to a redesigned and improved Gateways section.

    The new gateway panel

    As a Movim administrator the dedicated Admin panel was also redesigned and reorganized to be easier to handle.

    Databases fixes

    Two important database issues were fixed. One was preventing some migrations to run properly on MySQL (PostgreSQL is still the recommended database for a Movim setup), another one was limiting the length of the URLs that were shared in the messages.

    Movim Live, end of Part I

    Thanks to a wonderful funding from NLNet a lot of work regarding videoconferencing is on the way in the project.

    The NLNet logo

    This release is finally pushing the last pieces of Part I that was focused on refreshing and modernizing the existing stack. In the upcoming week we will start to work on multi-participants calls with the focus to integrate with Dino and bring fully standard and decentralized video-calls on the XMPP network, and across several clients and servers ✨

    Multi-participants videocalls in Dino

    But first lets have a look at all the cool stuff introduced with this release ☺️

    Introducing the new call flow and conference lobby

    Until now you were only allowed to configure your microphone and #camera once the call started. This version is introducing a brand new Lobby widget that takes care of preparing all you need to start or reply to a call serenely.

    It fully replaces the old Reply and Call Configuration widgets by merging their features into one unique place. A lot of related code was cleaned up, modernized and refactored during the process.

    The new lobby view

    This new panel also prepares the upcoming multi-participants flow allowing you to be fully setup and ready before joining a conference.

    Other improvements and fixes

    Movim is now able to detect network connection issues and send an end call message to your contact if it cannot recover the call.

    The screen sharing and camera switch buttons were also fixed to work properly on all devices, including Android ones.

    If you find issues or have nice ideas to improve all those new features do not hesitate to drop a message on our support channel or open a ticket on the bugtracker.

    What's next?

    Movim Live Part II, multi-participants video-conferencing! Even if a lot is already planned it is a totally new paradigm for Movim, so a lot of explorations, trials and errors will be made. Hopefully all those new exciting features will land in an upcoming release 😌

    In the meantime enjoy the 0.28 release, upgrade your server and share the good news! And thanks to all the people in the community for their support, you rock!

    That's all folks!

    • Mo chevron_right

      Movim 0.27 Lovas

      Timothée Jaussoin • pubsub.movim.eu / Movim • 22 August, 2024 edit • 3 minutes

    What was planned to be a minor #release after last month one turned out to be a major release regarding the number of changes, new features and fixes that were made in the meantime. Let's have a look!

    Edit: a small fix was made just after the release, it is available in a v0.27.1 release.

    Important security fix: remote code execution through unsafe unserialize

    An important security issue was discovered just before this release, and it was decided to directly fix and release it. We are strongly encouraging you to upgrade your instance to this version.

    Context

    For more than ten years now Movim has saved its user configuration in a dedicated PubSub node on the user XMPP profile. This allows the user to keep its Movim instances synchronized and get their configuration back if they choose to migrate to a new instance.

    Back then, it was decided to simply save the PHP configuration as a serialized string in a PubSub node item.

    A malicious person could then inject in its own XMPP profile a malicious serialized string that Movim will try to parse when connecting making Movim vulnerable to a remote code execution attack. This related blog post explains it quite well.

    Security fix

    The serialize and unserialize related code has been completely replaced and rewritten. Movim is now publishing its configuration as a standard XEP-0004: Data Forms now which is also cleaner and easier to handle.

    What's new?

    First steps of the Movim Live video-conferencing project

    Last month we announced that NLNet was funding a large set of features around video-conferencing in Movim.

    The NLNet logo

    This release brings the first important changes live 🎉

    Moving the pop-up back to the main tab

    When video-conferencing was first added to Movim the platform was not yet a full Progressive Web App and the pages were reloading the Javascript environment completely each time the user clicked on a new link. The video-conferences were then moved to a dedicated pop-up to ensure that the connection was not accidentally reloaded during the call.

    A lot of work has been done over the past few releases to keep the Javascript session alive and load the content dynamically when navigating on the platform.

    This release not only brings back the video-conference window in the main tab but also integrates it dynamically into the discussions.

    Introducing the floating, chat-integrated, and full-screen modes

    When making a call you will now be able to switch dynamically between the different modes.

    The chat and floating mode

    When chatting with the person the video and audio call are integrated directly on top of the discussion. It automatically switches to floating mode on the other pages. Some more work regarding those modes and their integrations will be planned in the future.

    It is also possible to quickly switch to full-screen mode anytime if you want to really focus on the call with your friend.

    Current call status

    With the reintegration of the popup a lot of work was also done in the backend to keep track of all the events of the call. A specific CurrentCall object was created allowing the interface to be aware in real time of the call status.

    The call status

    The chats list and header now display a blinking "In call" status.

    Modernization of the XMPP Jingle stack

    The related pull request also brings a huge refactoring of the video-conferencing Javascript code and a modernization of the Jingle stack, fixing a few bugs along the way.

    This is just the beginning

    Those are just the first few steps. In the upcoming months we are planning to integrate multi-participant calls as well as server-side handled video-calls. Stay tuned, the Movim Live project will really bring a lots of awesome surprises!

    Database refactorings, cleanups and UI fixes

    Movim was storing a few pieces of data as serialized objects in the Cache table, including the status of incoming invitations and notifications, open chats and the last article read. The related caches table was completely removed and the related data is now stored properly in dedicated tables.

    Along the way, some broken migrations were also fixed and the related database libraries were updated.

    A lot of small UI bugs were also fixed in this version.

    What's next?

    The Movim Live project will be the main priority in the upcoming months.

    We are expecting some surprises and difficulties along the way, so no promise can be made regarding the deadlines and the features to come in the upcoming release.

    Don't forget to share this release around and support us if you like what we're doing 😊

    That's all folks!

    #nlnet #security #videoconference #database

    • Mo chevron_right

      Movim 0.25.1

      Timothée Jaussoin • pubsub.movim.eu / Movim • 24 June, 2024 edit • 3 visibility

    A few days after Movim 0.25 Nagata here is a small bugfix release.

    In this release you'll find a fix that prevented Firefox to Firefox audio-video calls to happen, a fix for a route parsing issue that was preventing articles to be attached properly in a new publication and a related one that was preventing articles to be shared to chat users.

    One small improvement, the one-to-one chat list now includes preview of sent and received images and links.

    Image and link preview in the chats list

    That's all folks!

    #movim #xmpp #bugfix #release