Now that it seems we have active development for Spark and Openfire simultaneously, would it be possible to get Message Carbons working for both client and server? (or has it already been implemented?)
For those who aren’t aware, Message Carbons means that all messages to a particular user are delivered to all instances of that user (all resources) reliably without regard to state (online, away, DND, etc). In other words, the same way GTalk (Hangouts) works: if you are logged in to your gmail on a PC, and hangouts on your phone, you will reliably get all messages on both devices no matter what.
Well, Spark is still not a very active project. Recent releases were mostly a few simpler fixes or improvements. And currently it is in a bit of a stall for a few months. Openfire is in a bit better position, but it still takes months to do even a minor release with a few fixes.
Speaking of that, Openfire has support for Carbons since 3.9.2. One can use Carbons with a supporting client with Openfire (e.g. Yaxim on Android). Smack has support for Carbons since 3.4.0. Current stable Spark version is still on 3.3.1 of Smack. Recently there was a push to update Spark to the latest Smack version. That’s a reason for a stall, as it has broken some things and we are waiting for someone to step up and fix it. That’s the current changelog for 2.8.0 https://issues.igniterealtime.org/projects/SPARK/versions/13632
Btw, you probably didn’t mean that, but as you were comparing Carbons to Hangouts, i have to clarify. Carbons only sync messages for connected clients. As for Hangouts, you will get all history synced no matter if you were offline on one client at the moment of message exchange.
People mostly. But finding and bringing a good java developer on board translates into money. One of team members here tried to find someone on the online job markets, but they either asked too much or couldn’t guarantee they will do everything we were asking for.
Btw, as since 2.8.0 Spark is using the latest Smack library, which has support for Carbons, it should be a bit easier to achieve now.
Not with the Carbons (it won’t sync messages when the client was offline during the conversations). You will need Message Archiving and Message Archive Management for that, which are mentioned here Explanation: message synchronization between clients and it is not yet fully supported in Openfire\Smack\Spark.
I’m sure that there are enough people interested in these features that we could pool all our monies together to establish a sufficient bounty for these capabilities. What do we need to do to get this done
The demand amongst the users exists, the money needed to get it done exists, the developers with the skills exist; we just need to bring all those disparate elements together with the power of community.
This sounds easy on the paper @speedy have tried to find a developer on various sites where you can hire a developer online, but it was hard to find one experienced in the ancient and obsolete Swing technology that Spark uses and not asking for unrealistic pay as i remember. If you can find one, we are open to receive patches. But i don’t really want to deal with the money aspect (other than donating some sum, but not managing finances).
I’m not sure what skills will this feature require. Maybe it would be minimal on the GUI (Swing) side and more with the core java part. But Spark has a lot of old code, lots of badly structured code and one has to know xmpp a bit i think.