phone

    • chevron_right

      Gajim: Development News August 2020

      Gajim • news.movim.eu / PlanetJabber • 30 August, 2020 • 1 minute

    This month was all about configuration. Gajim offers a ton of configuration options, making it customizable to fit almost every users needs. The settings backend received an upgrade and a lot of code has been cleaned up, which should make it easier for you to handle all of Gajim’s configuration possiblities.

    Changes in Gajim

    A huge amount of code has been cleaned up around Gajim’s configuration backend. This was necessary in order to move from a configuration based on text files to a new settings backend powered by SQLite. Everything involving configuration (preferences, account settings, states) is now completely migrated to SQLite. Gajim is now able to store settings efficiently, and some quirks around default values have been solved. When you browse Gajim’s configuration via Advanced Configuration Editor, you’ll now only see settings which are not available in the Preferences or Accounts window. States (e.g. window size) have also been removed from ACE, which results in less clutter.

    After all these changes under the hood, it is finally the time to rework the Preferences window. The Accounts window already features ‘ListBox’ settings, enabling Gajim to display settings in a tidy and clear fashion. We plan to fully migrate the Preferences window as well, which should make it easier for you to handle all of Gajim’s configuration possiblities.

    A preview of the new Preferences window

    A preview of the new Preferences window

    What else happened

    • Linux: Gajim will now use GTK’s native Emoji chooser (with categories and recently used emojis)
    • Removed ‘Auto copy’ workaround for Ctrl+C usage in the chat window
    • Fixed a bug where dropping selected text on a chat window would fail
    • Fixed ‘Show status changes’ setting being ignored for group chats
    • Fixed a bug where removing a plugin would fail

    Plugin updates

    It is now possible to install the ‘Ayatana Appindicator integration’ plugin via Flatpak.

    Changes in python-nbxmpp

    Support for JID Escaping ( XEP-0106 ) has been added, enabling users to join group chats containing special characters (e.g. ‘&’ in IRC channels). Furthermore, bookmarks parsing has been improved (nickname validation, password element for XEP-0402 ).

    As always, feel free to join gajim@conference.gajim.org to discuss with us.

    Gajim

    • wifi_tethering open_in_new

      This post is public

      gajim.org /post/2020-08-30-development-news-august/

    • chevron_right

      Ignite Realtime Blog: Spark 2.9.1 Released

      wroot • news.movim.eu / PlanetJabber • 25 August, 2020

    The Ignite Realtime community is happy to announce the availability of Spark version 2.9.1.

    This is a small bugfix release for the recently released 2.9.0 version . A few minor issues fixed in this version can be found in the changelog .

    We are thankful to all the contributors and encourage developers to get involved with Spark project by providing feedback in the forums or submitting pull requests on our GitHub page.

    You can download Spark from the Downloads page. Below are the sha1 checksums:

    7574a4ffee89aec037ed788046975d4fd32b62f7  spark_2_9_1.deb86ee3a78e6bdfe21c18559abce70e4c7ed334f66  spark_2_9_1.dmg3196d7b5be4c24de44c9931cb099d3e073501496  spark_2_9_1.exe5e7fa73aa1fefef8e67ba81acc61be2786fce819  spark-2.9.1.rpm55e344832b37595e4fb2fc9d8749519d06f2a7c8  spark_2_9_1.tar.gzca2a4fb154601c860e959eb3c614bc760cec6334  spark_2_9_1-with-jre.dmg0906c896303cf60a07ae4208b83f9de6359e2935  spark_2_9_1-with-jre.exe

    For other release announcements and news follow us on Twitter

    1 post - 1 participant

    Read full topic

    • chevron_right

      Erlang Solutions: Applying Scrum to a system of fluid teams working on an open-source product

      Erlang Solutions • news.movim.eu / PlanetJabber • 20 August, 2020 • 17 minutes

    The modern IT workplace is weird.

    You get a desk that sometimes has a chair, but often also wheels or a button that makes it go up and down. There are often bean bags involved, bosses that say they are not really bosses, complimentary fruit and candy, engagement programs, and people constantly pushing you to “self-actualise” and grow.

    Your projects often come with a lot of trust and freedom, but that also means that project structures are fluid, and there is a lot of responsibility for individuals to set up the direction. On the spectrum of freedom and security, everything serves the most important goal - adapting to change.

    A lot has been said about how Agile and Scrum differ from other approaches to organising work. They are born out of experiencing first hand how detrimental it can be to follow ill-fitting methods that work well in other industries. At their core, they are about creating effective communication channels - between team members, teams and the market, different stakeholders and the various people responsible for orchestrating the process. A culture and environment that promotes sharing, listening and taking ownership for your work is required for this approach to shine and foster dynamic progress and satisfaction of all involved.

    It would be tempting to say that following the Scrum guide verbatim is a silver bullet for running all IT projects, and many would argue it is.

    In this short article, I would like to tell you the story of how we took the spirit of Agile, measured it against our needs and then iteratively made it our own. Did we manage to reach the shore of a procedure that works for us? For now - yes. Will we stick with it? I have no idea - come back and check in with us in a few months. One thing is for sure, if we are not, it will be born out of a test and learn approach which has led us to something that fits our way working better.

    Mongoose wrangling - you have to be agile!

    MongooseIM is an open source product developed by a commercial company. 100% of the code is available to the public; everyone can use it, customise it, contribute, point out bugs, raise feature requests. At the same time, the core development team works not only on developing the product but also on assisting companies that want to create custom extensions, optimise their installations, scale or adjust their setup.This means we have two groups contributing to MongooseIM - the open source community and Erlang Solutions developers. The second group can’t really be considered a monolith, since some of them only work with the open source product while others assist the company’s customers with different projects.

    In short, what we have on our hands is a system of fluid teams . By definition a fluid team consists of “experts from disparate functions and geographies who must get a temporary project or task up and running, sometimes with completely different priorities, beliefs and values”. As challenging as it may sound, this form of organisation is typical for modern IT, it has been widely accepted that nowadays “this is how we roll”. What we have at MongooseIM goes a step further - it is not just a fluid team, it’s a system of fluid teams. We all work on MongooseIM in one way or another, but our goals, priorities and procedures are often very different, since what is important for a single client is not always a must for the entire product (and vice versa). Different projects follow different procedures; they follow different guidelines and assumptions and sometimes they even look for solutions to contradicting problems. We slip in and out of different roles and teams, and the direction of the entire system is forged somewhere in between these parallel interests.

    This also means implementing Scrum is tricky.
    You have to remember that Scrum is not only valuable, it’s also costly. You spend a lot of time and effort on inspection - meetings, analysis, discussions and syncing. It’s all an investment you make to empower your team, allow them to learn, minimize certain risks and make sure you generate value, but in order to have a return on that investment, you have to be consistent in your actions.

    For a team to be considered totally “scrummy” it has to meet a few criteria. It has to be cross-functional, self-organising, it can’t have any hierarchies, and it has to be small. Ideally it should have between 3 and 9 team members.Many of these assumptions make little sense when talking about an open source project like MongooseIM. For example - who do we consider to be a part of the team? Everyone who contributes to the project? If so, there is no way of determining how many people that is or to coordinate their efforts. So do we define it as all Erlang Solutions employees working on MongooseIM? Some of them are embedded in customer teams, making it near impossible to have them conform to Scrum ceremonies and requirements. The cost of abiding by the client’s procedure and our Scrum would make them unable to do any actual work. Perhaps we should narrow down our focus to just the core development team? Very few members will be with the team for more than 2 consecutive sprints, there will be sprints with just 2 or 3 members, followed by sprints with 9 or more, we will constantly pay the cost of onboarding new people and relearning and restructuring day-to-day work. In short - it will be very hard to let the team members do their work, learn from each other, form long term plans, and benefit from what Scrum offers.Taking all of that and more into consideration, for us, there was little sense in going “full Scrum”. To be able to progress and not lose our minds, we had to remain Agile, but also, we had to make it our own.

    Building a frame

    Let’s skip the part where we start with an eager team, an inexperienced Scrum master and a willingness to do everything just as the Scrum guide says. That was our starting point, but it is not exactly the basis of what we do now. For me that elusive basis was best expressed by Tomasz Włodarek at one of his amazing workshops. To paraphrase the thought, he encourages management to steer away from creating a workflow as a set of rules, or set pipelines with different steps and stages. You do need those to create predictability and thus stability, but at the heart of how you operate, there should be something else. Your work culture should be built on two sets of objects later filled by your self-organising teams. Those two are the frames and attractors. You build these by answering two simple questions - “what are the things we want to discourage?” and “what are the things we want to encourage?”. The answers will never be complete and might change over time, but they need to be communicated to the team.

    For our team, there were a few things we did not want. We did not like it when we were swamped with ad hoc requests. We did not like it when people started a lot of tasks and never finished any. We did not like external factors interfering with our goals. We did however, and still do, love our product.

    Working with Erlang, XMPP and MongooseIM is something the team is genuinely excited about. We love to learn, explore, come up with new ideas, we love the open source culture and commercial projects we get to work with. It is exciting to get to work with customers who have massive, running installations and then assist a hobbyist writing his own MongooseIM module for fun. It is great seeing in action how people use and build upon our work.

    Luckily this state of mind aligned perfectly with what our management wanted - a highly professional, efficient team always growing their capabilities, ready to tackle any task.

    The initial attractors and frames we’ve set reflected that:
    We wanted to encourage knowledge sharing - so we created channels to share the lessons we’ve learnt and award people who actively engage in assisting others.
    We wanted the team to have agency - so we made sure that both our backlog and pipeline of commercial projects is transparent (everyone can volunteer, contribute or comment) and that everyone is encouraged to submit their ideas on what to do next. This also eliminated many of the bottlenecks we have run into in the past.
    We wanted the team to have the comfort of working on their goals without interruptions - so we’ve introduced work iterations and separated the development team from other teams.

    The process that crystallized around those assumptions gets more and more refined over time, but these add up to an agreed-upon basis of all the changes we introduce.

    What does that mean in practice?

    Let’s perhaps start with what we have in common with Scrum. We have sprints with all the prescribed Scrum ceremonies that produce potentially shippable increments. We do Daily Scrum, Sprint Planning, and Sprint Retrospectives. Our backlog is always growing, and the Release Owner orders it based on their best judgement and value calls.Have you noticed that? The first difference?

    We do not have a Product Owner. We tried and we are very grateful to our past Product Owners for all their contributions, passion and the great ideas they brought to inspire the team. What became apparent after working with these talented individuals is that if your product is an open source project with an elaborate business model built around it, traditional POs do not get enough space to shine. What has worked for us is actually an expression of the self-organising principle of Scrum - we put things up for a vote.

    Every release ends with a small “political” campaign where members of the development team present their ideas about what the focus of the next release should be. We have a few meetings discussing the ideas, some people contribute to the existing proposals, others form their own. We’ve had elections with multiple candidates and elections where one candidate asked us to vote on release themes and priorities to create guiding principles for the upcoming months. The result is a vision everyone understands and an uncanny level of transparency and insight into the plan.

    And, since everyone has contributed to it, we all feel responsible, engaged and encouraged to take ownership of the work that needs to be done.The Release Owner has extra powers (they decide on priorities and can overrule a tied vote) but also extra responsibilities (managing external stakeholders including the marketing team, gathering extra information, attending many meetings that the other team members can skip). As they say - with great power comes little time to do some actual coding yourself.The Backlog Grooming is of course an ongoing process. Everyone can add stuff to the backlog at any point, but it is the Release Owner who decides the order. We do hold backlog grooming meetings to which the team should bring their ideas, preferably in the form of PBIs we can all see, discuss and ask questions about. Top priority, groomed items get placed on the top of the list and are likely to be included in the next sprint’s backlog.

    So far we are not that far from a traditional Scrum with a PO who is part of the team. Where is the key difference?

    Let’s switch the perspective and ask - if you happen to be an Erlang solutions employee and part of the MongooseIM core team: does this mean you are on the sprint? Not always. Does it mean that you are a part of the sprint work? Most yes, no, maybe, kinda, can you clarify what you mean?

    We have people who join the sprint. At Sprint Planning they state their availability and we populate the sprint backlog based on their estimates and capacity. There are people who know they will have some availability but have no idea how much. For them, we have a neat Kanban board with community support items, research, occasional marketing requests, side projects that can bear fruit in the form of estimable PBIs for the Scrum team. There are people on commercial projects who are invaluable to us and the way we plan. They have hands-on experience with live implementations of MongooseIM, they have battle stories, insights, ideas, they know the pain points and have a unique perspective on the work. It is critical for them to know what is happening on the open source product and it is critical for the Scrum team to know what’s up with them. The two latter groups are not included in the sprint capacity and we make sure we do not depend on them to complete the sprint work, but their feedback is welcome and assistance is invaluable.

    Another important thing is that the division between the groups is strict only from the single sprint perspective and in no way permanent. There are commercial projects that last months and others that are completed within days. People who technically are not on the sprint are still invited to join our meetings, listen in and join slack conversations - they are much more than external stakeholders.

    The result of all this?
    We are still “scrummy” (all the roles, rules, ceremonies and artifacts are there and we get to benefit from them).
    We are inclusive and responsive to specific needs of team members, external stakeholders and projects.
    We are highly communicative and flexible.
    We have a structure that gives us predictability but also the capacity to change.

    Cool tricks

    There are many supplementary techniques we use in our work to make sure the attractor/frame setup is something we actually live and breath and not just sometimes brag about. Here are some examples that can inspire you to come up with ideas to introduce to your own project/team/organization.

    Feedback.

    Creating a culture of feedback is not just a way to inspect and adapt but also to provide people with a sense of agency. We’ve introduced many tools team members can use to share their thoughts with different levels of formality. Let’s, for example, explore Pigeon Post - a form where you can send a short note and a cookie (or not) to people who did something notable. The person not only gets to enjoy the cookie but can also include these notes in their appraisal process as evidence of what a great teammate they are. It’s a fun way to express appreciation to your colleagues and point out specific behaviours we value (or not - it’s not just for praise and positive feedback). Other systems we have, allow people to explicitly raise points and introduce ideas that are then included in the office-wide processes and day-to-day work. Most of the mechanisms we use in the project pipeline or for knowledge sharing purposes, stem from suggestions from the team. One important rule to keep in mind, is that when you ask for feedback or ideas, it’s on you to act on the response. Whether it’s a suggestion box, a retrospective action point, informal conversation or an official request, you have to have a timely reply. If nothing else, make a short presentation listing what you’ve done to address the ideas, preferably no later than 3 months after they have landed on your desk. If you don’t, you are not really encouraging your team to engage, rather just proving that what they say does not matter.

    Knowledge sharing.

    That is the number one reason for most of the Pigeon post cookies. “I loved your report on Helm - you get a cookie”, “I really enjoyed your Lessons Learned - here’s a cookie”, “Your workshop was awesome - One cookie coming right up!”. Developers love learning, love exploring new ideas, sharing the knowledge, discussing stuff. If your team members are afraid to speak up, unwilling to share or reluctant to talk, something has gone terribly wrong and needs to be addressed right now. Perhaps they are afraid of ridicule? Work on how safe they feel. Perhaps they feel they don’t have enough time to “waste” on knowledge sharing? There’s something wrong with the workflow. Perhaps they do not see how, where or when to let people know they have something to share? Create a Lessons Learned series! The format that worked for us is a company-wide library of presentations from different people and teams sharing stuff they find interesting. It ranges from project post-mortems, lessons learned from different projects, panel discussions to presenting a pet project or favourite technology. Whatever it is, it is welcomed, encouraged and rewarded. Not by a “knowledge-sharing bonus” or an official letter of praise but by attention and appreciation from the rest of the team. This is not only how we build expertise, but also ourselves as teachers and experts.

    Candy.

    How do you make people actually follow up on all these values and ideas? A lot has been said about what drives us , how to build or destroy motivation. My favourite tool is humour, empathy and showing people you actually like them (the prerequisite here is that you actually do).
    Let’s explore an example. MongooseIM Scrum Team has daily standups, but other teams and standalone consultants have separate, internal meetings to worry about. We would like them to write short standup notes every morning to let us in on what they’re doing, but we do not want to enforce it or annoy them with the request (they are very busy people!).
    The solution? Candy. Everyone who shares what they are doing on a given day, gets a personal visit from the Scrum Master carrying a bag of candy. They get to pick one. Ridiculous, right? No one would change their behaviour for such a small bribe. “If you want me to write standups, just make it part of my job description, we are all adults here, do not insult my intellect!” But it’s not a bribe. It’s a nice gesture, an occasion to talk for a minute without big disruptions, to quickly see how the other person is doing. It’s small and it’s fun. After a while everyone sees the benefit of the standups and they write it regardless of the reward, but the candy stays. You get to learn everyone’s favourite flavour, you get people requesting different types of chocolate, finally you get a petition asking for a “Healthy jar” with nuts as an alternative to candy. Some people choose either the candy or nuts depending on how their day went - what a great conversation starter you just earned! Your team gets closer, gets friendlier, gets engaged. Of course this technique will not work for every team, and I am not advocating for getting everyone off their healthy and balanced diet. The tool you choose for this type of exercises can be whatever you see fit, but it should:

    1. Not be too valuable or attached to salary/bonuses/promotions (or it will provoke people to try to cheat the system, see if they can break it - they are developers afterall)
    2. Be easily accessible and of similar value (we use candy for all kinds of exercises and mini-procedures)
    3. Not cause too much formality or fuss (it should be a nice gesture, a conversation starter not a potential black market currency).

    Want some other great ideas on how to engage people and make them enjoy their work more? Ask your team!

    The takeaway?

    The modern IT workplace is weird. It makes you think of things, observe the nature and craziness that is life. All of a sudden you see how complex systems emerge from simple rules and how trying to design or foresee something can sometimes only make things worse.

    Before working in IT, you might think that being proactive is better than being reactive, that defending against failure, planning for all possible cases is the smart way to go. The more you observe nature, Erlang or self-organizing teams, the more certain you will be that that’s wrong. Evolution is smarter than revolution or any sort of planning, it’s more mature, natural, it allows order to emerge painlessly. Embracing your team’s potential, allowing mistakes and experimentation helps expose their strength, building an environment that fosters creativity where traditionally it was limited and curbed. No one person can design a perfect system or process for a diverse team facing challenges that are hard to foresee. What you can do is listen, encourage and adapt.
    It’s more fun that way.

    • wifi_tethering open_in_new

      This post is public

      erlang-solutions.com /blog/applying-scrum-to-a-system-of-fluid-teams-working-on-an-open-source-product.html

    • chevron_right

      Monal IM: Mac 4.8 beta is out

      Anu • news.movim.eu / PlanetJabber • 20 August, 2020

    iOS 4.8 beta is in review for testflight but the mac one is available now.

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/mac-4-8-beta-is-out/

    • chevron_right

      Monal IM: Monal 4.8 coming with improved notifications and translations

      Anu • news.movim.eu / PlanetJabber • 19 August, 2020

    Monal 4.8 will be another huge update and the iOS beta should be available soon. Monal is actively being translated a variety of different languages. You can contribute too. In addition thanks to Thilo, the notifications have been improved to show the previews again in iOS 13 like they did in iOS 12. There are a massive number of changes in 4.8 that will need testing. Please provide feedback if you encounter issues especially with notifications.

    We need as many testers as we can get for this, if you want to test Monal iOS beta anyone can use testflight to access the new builds before they go to the app store.

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/monal-4-8-coming-with-improved-notifications-and-translations/

    • chevron_right

      Tigase Blog: xmpp.cloud just got even better and we are the only XMPP provider with future of XMPP group chat (MIX)

      Tigase Blog • news.movim.eu / PlanetJabber • 18 August, 2020 • 7 minutes

    Our free , public XMPP installation: xmpp.cloud is packed with features: domain hosting, file uploads, TURN/STUN server for your audio/video calls, high availability due to running as a cluster with automatic recovery and all of this while scoring 100% XMPP compliance and perfect A grade in a popular test tools. And now it got even better !

    Group chat - the problem

    For a very, very long time MUC (defined in XEP-0045: Multi-User Chat ) was the only option available in XMPP realm that allowed people to exchange messages in a group. At the beginning, when it was typical to have constant connection to the server, everything was working just fine, but over the course of time new challenges arose. People started to use more and more their mobile devices and connections to the server became anything but permanent (be that because of spotty internet connection or limitations imposed by mobile device manufacturer). In that environment MUC started to show it’s architectural problems: if you are not connected you are not an occupant of the MUC room and therefore you don’t receive any messages. This was a problem!

    Previous attempts to improve the situation

    There a couple of attempts to mitigate this situation: XEP-0410: MUC Self-Ping (Schrödinger’s Chat) for the situations where federation link would get broken and user would be unaware that it’s not in a room anymore, Multi-User Chat Light , which would allow to permanently register to the room without presence or vendor specific non XSF variations of “MUC subscription”. There were also workarounds with with long-lived user sessions (terminating underlying network connection without closing XML stream) that were quite inefficient.

    What is XMPP MIX

    MIX stands for Mediated Information eXchange (MIX) and it’s basics are defined in XEP-0369: Mediated Information eXchange (MIX) :

    “an XMPP protocol extension for the exchange of information among multiple users through a mediating service. The protocol can be used to provide human group communication and communication between non-human entities using channels, although with greater flexibility and extensibility than existing groupchat technologies such as Multi-User Chat (MUC). MIX uses Publish-Subscribe to provide flexible access and publication, and uses Message Archive Management (MAM) to provide storage and archiving.”

    Specification outlines several requirements of which those seems to be the most interesting:

    • “A user’s participation in a channel persists and is not modified by the user’s client going online and offline.”
    • “Multiple devices associated with the same account can share the same nick in the channel, with well-defined rules making each client individually addressable.”
    • “A reconnecting client can quickly resync with respect to messages and presence.”

    MIX itself serves as an umbrella for set of MIX-related XMPP extensions that specify the exact protocol. Two of them are required for the implementation to be considered as MIX compliant:

    In addition to the above extensions, there are several other that are optional:

    How does it work?

    The most stark difference to MUC is that MIX requires support from both server that hosts the channel and user’s server. This is done to facilitate the notion that the user (and not particular connection or client application) joined the group and allows for greater flexibility in terms of message delivery (which can be send to one or many connections, or even generates notification over PUSH). Another important difference is the flexibility to choose which notifications from the channel user wants to receive (that can be messages, presence, participators or node information).In the most basic approach, when user decides to join a channel, it sends an IQ stanza to it’s own local server indicating address of the desired channel and list of MIX nodes to which it wants to subscribe. User’s server then forward’s subscription request to the destination, MIX server. As a result user receives subscription confirmation and from this point onwards will receive notifications from the channel, independently of it’s current network connection.Another essential bit of MIX is the reliance on XEP-0313: Message Archive Management to control message history and the complementary interaction between MIX server and user’s server. Main channel history is handled by the MIX server, but user’s that joined the channel will retrieve and synchronise message history querying their local server, which will maintain complete history of the channels that user has joined (based on the received notifications). This also means that even if the channel is removed, user is still able to access it’s history through local MAM archive (limited to time when user was member of the channel).As a result, chatter between client, client’s server and mix server is also reduced and unnecessary traffic is eliminated.

    Benefits for mobile-first applications relying on push

    All of this helps especially with clients that relay on constrained environment - be that unreliable network connection or operating system that limits time that application can be running. Because there is no dependency on the dynamic state of user presence/connection the issue with occupant leaving and (re)joining the room is eliminated - user gets the notification always. What’s more, thanks to shared responsibilities between MIX and user’s server, and the latter getting all notifications from MIX channel, it’s possible to generate notifications without relaying on workarounds (that most of the time are not reliable or impact resource usage).

    In case of Tigase XMPP server it gets better thanks to our experimental filtering groupchat notifications feature, which allows user controll when to receive PUSH notifications from group chats (always, only when mentioned or never)

    Is MUC obsolete?

    We think that MIX is the way forward, but we also know that this won’t happen overnight. Because of that MUC is still supported in all our applications and Tigase XMPP Server implements XEP-0408: Mediated Information eXchange (MIX): Co-existence with MUC to allow all non-MIX client to participate in MIX channel discussions using MUC protocol.

    Tigase xmpp.cloud service with MIX support

    Our xmpp.cloud installation offers MIX today! It supports MIX-CORE, MIX-PAM (with MAM), MIX-ADMIN, MIX-MUC, MUX-MISC (message retraction)

    For now, neither MIX-PRESENCE (we only inform about channel participants without explicit publication their presence) nor MIX-ANON (there is only support for ‘private messages’) are available.

    open channel

    How to use it

    First of all - you need an XMPP client that supports MIX, for now this is limited to BeagleIM for macOS and SiskinIM for iOS. Creating and joining channel is not different to joining MUC room:

    1. select open channel :

    open channel

    1. fill out the form:

    channel join form

    1. start chatting!

    chat

    Other benefits of xmpp.cloud

    As mentioned at the beginning of this article, in addition to MIX, xmpp.cloud offers a lot:

    • never worry about server downtime - it’s a clustered installation, which means that at every point in time there will always be at least one server to connect to
    • host your own domain for free - it’s enough to point your domain’s DNS SRV records to tigase.me and add it in xmpp.cloud system (as described in the documentation )
    • better PUSH for your mobile devices - more granular configuration and encrypted notifications
    • anti-SPAM mechanism to squash unwanted messages
    • free audio/video server (STUN/TURN) for you calling needs
    • perfect A security grade: xmpp.net security score
    • 100% XMPP compliance 100% XMPP compliance
    • wifi_tethering open_in_new

      This post is public

      tigase.net /tigase-im-mix/

    • chevron_right

      Ignite Realtime Blog: Spark 2.9.0 Released

      wroot • news.movim.eu / PlanetJabber • 17 August, 2020 • 1 minute

    The Ignite Realtime community is happy to announce the availability of Spark version 2.9.0!

    Note that this version has a lot of changes, especially in certificates management area. We suggest to first test it on a small batch of test machines before deploying it to all users.

    2.9.0 was long time in the making, so the list of changes is rather long. To mention a few: a new certificate management system that was long overdue, migration to Maven (instead of Ant), HTTP File Upload plugin support, new Smack library version and many other bug fixes and improvements.

    A few plugins are currently not working because they use old libraries not available for Maven: Spellchecker, OTR. During the poll on this website most users told us that they are not using these plugins.

    We are thankful to all the contributors and Google Summer of Code students who provided their patches to help us release this version. And we encourage developers to get involved with Spark project by providing feedback in the forums or submitting pull requests on our GitHub page.

    Here is the list of contributors to this release:
    @guus
    @Alameyo
    Michael Klein
    @speedy
    @flow
    @Dele_Olajide
    Alexander198961
    Manassé Ngudia
    @wroot
    Grigorii
    Vipin Raj

    You can download Spark from the Downloads page. Below are the sha1 checksums:

    73d30728b216440667e6741373def5aba0088f84  spark-2.9.0.rpmf1b997a401fa71f06b77633ce0161c46ac4e8eab  spark_2_9_0-with-jre.dmg4097a34d255556c5f8b60f77cd83bfda7bbe3c8a  spark_2_9_0-with-jre.exe6230c8f3fc3042448028a7186c8c277dda45d81b  spark_2_9_0.deb117ba72f48132afbfa20b1adf7cd5193879456c7  spark_2_9_0.dmg640d1fe1682830adb3ff6a9a8eede20f3ce2ba8a  spark_2_9_0.exe4f0bc7abb0f0131dd325cb3363255f668bd7fe0f  spark_2_9_0.tar.gz

    For other release announcements and news follow us on Twitter

    3 posts - 3 participants

    Read full topic

    • chevron_right

      Ignite Realtime Blog: Client Control plugin 2.1.5 released

      wroot • news.movim.eu / PlanetJabber • 17 August, 2020

    The Ignite Realtime community is happy to announce the immediate release of version 2.1.5 of the Client Control plugin for Openfire!

    This update adds a new setting for a newly released 2.9.0 version of Spark, changes one setting’s behavior, adds a Russian translation and fixes a few issues.

    Your instance of Openfire should automatically display the availability of the update in the next few hours. Alternatively, you can download the new release of the plugin at the Client Control plugin archive page

    For other release announcements and news follow us on Twitter

    1 post - 1 participant

    Read full topic

    • chevron_right

      Ignite Realtime Blog: Openfire 4.5.3 is Released

      akrherz • news.movim.eu / PlanetJabber • 17 August, 2020 • 1 minute

    The Ignite Realtime Community is pleased to announce the release of Openfire version 4.5.3. We wanted to make one final bug fix release of the 4.5.x series of Openfire before a final 4.6.0 is made soon. You can find a listing of bug fixed within our changelog .

    Download artifacts are available here and have the following sha1sum values:

    82b41141c5f9c5139606c1de879c9e5f546060b7  openfire-4.5.3-1.i686.rpm178d6fb4c8c65a6e1dc88daf75f1599634cd14cf  openfire-4.5.3-1.noarch.rpme2342b8aabfa28ba927ac7bbc24d2a19bb095574  openfire-4.5.3-1.x86_64.rpm0b79b5fdc92c73ec0b016b20cf8ea5a14fc2d771  openfire_4.5.3_all.debe869f49dd5c28587406ee5233c68fe75271c2855  openfire_4_5_3_bundledJRE.execb95afc6b8e1738d085124b95765e0bcdc26117c  openfire_4_5_3_bundledJRE_x64.exec9c728013f9fbd59e6d353542f5c1dcc685fcf93  openfire_4_5_3.dmg92848fe42acfe515e22a9b13861bded7dd65b568  openfire_4_5_3.exe7e873e0a3f78d8025cbebb117fbd259837429bf5  openfire_4_5_3.tar.gz82c2a432102ab457f2943b1ca55b25ad0797e9ff  openfire_4_5_3_x64.exe638fecb2b9c423275ad0ca79b6d6084836df0d82  openfire_4_5_3.zip44bc28c159a039aa054c559390a47e6d0345f105  openfire_src_4_5_3.tar.gzf617a5001874475c7edea3cb90be64fffefbdbe5  openfire_src_4_5_3.zip

    Thanks for your interest in Openfire.

    1 post - 1 participant

    Read full topic