call_end

    • 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!

    • 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

    • chevron_right

      Movim 0.26 Borrelly

      Timothée Jaussoin • pubsub.movim.eu / Movim • 29 July, 2024 edit • 2 minutes

    Another month, another release! We are happy to introduce Movim 0.26, codename Borrelly.

    What's new?

    Custom Emojis (yay 🎉)!

    Movim implemented the Stickers feature a while ago already but always lacked the ability for users to send some custom #emojis to their friends.

    This is now implemented thanks to the complete integration of the #XMPP extension XEP-0231: Bits of Binary which was already used partially by the Stickers.

    The available emojis packs are imported by the administrator using a new console command that is compatible with the Mastodon or Plemora emojis pack

    For example you can import the neofox pack by Volpeon using the following command:

    web-user$ php daemon.php importEmojisPack https://volpeon.ink/emojis/neofox/manifest.json
    

    You'll need to run this command using your webserver user, the script will take care of downloading the ZIP file, copy the pictures and seed the database to make them available to all the #Movim instance users.

    Each user will then be able to pick their favorites in the Configuration panel and insert them while chating.

    Picking your favority emojis

    When adding a new favorite emoji the user will be able to add a custom :trigger-word: to insert the emoji in its message.

    This feature is compatible with a few other XMPP clients sur as Pidgin (!) and Cheogram.

    Codeblock support in messages

    By using the codeblock syntax it is now possible to insert sourcecode extracts in your messages.

    A codeblock example

    Better handling of spam messages

    Some users were experiencing unsolicited and #spam messages issues. This new release doesn't send desktop and push notifications if the messages is not from a contact.

    The 1-to-1 discussions can also be filtered to only display the ones you had with your contacts.

    Filtering 1-to-1 discussions

    Updated message moderation and retraction

    Movim now supports the latest version of Message Retraction and Message Moderation and therefore better integrate with the newest clients and servers implementations.

    ... but also some fixes

    As always some issues were also fixed in this release.

    The internal code was refactored to comply with the PSR-4 PHP standard. This should remove a lot of warnings when installing and upgrading.

    Some shared image URLs were not handled properly in the chat and the preview was broken, this was fixed in the ticket #1314. The sharing of URLs and some embedding features were also greatly improved when writing a new article.

    What's next?

    We are happy to announce that Movim was selected by NLNet to fund a large set of exciting features around video-conferencing on the platform 🥳, including one-to-many audio and video calls. This will be the biggest project done until now and should keep us busy until next year.

    The NLNet logo

    Some more specifics and technical blogs posts will be published soon to explain more in details what all those changes will be about and which exciting features you will see in the upcoming releases.

    Thanks a lot to them and don't forget to follow us to get all the latest details about this.

    That's all folks!

    #nlnet #funding #videoconferencing