We have moved to a new Sailfish OS Forum. Please start new discussions there.

Support for synchronizing IM messages with other clients

asked 2015-01-26 22:44:10 +0300

Andy Branson gravatar image

updated 2015-01-27 10:05:05 +0300

This feature would help Sailfish behave like and support messaging systems like Google Hangouts and Facebook, showing messages that were sent and received on other devices, or while disconnected.

The messaging framework on Sailfish is an implementation of the traditional model of IM from the days of AOL, ICQ, MSN and Jabber: when the client signs into a service, it receives any new messages sent through that service until it is disconnected. Messages sent while the client is offline may be delivered when it comes back online, but this is dependent on the service pushing them through at login. Messages delivered to other clients signed into the same account are never received.

Modern messaging services, such as Google Hangouts, Facebook Messenger, Telegram and Whatsapp keep a full conversation history on their servers, and the clients synchronize messages and their unread status when they connect. This model is quickly becoming the standard for IM, as people increasingly use more devices to access the same accounts. The old model, while still partially supported by Google and Facebook, is becoming obsolete.

Both Hangouts and Telegram have unofficial alpha implementations as Telepathy plugins, but as things currently stand it isn't possible to synchronize the messages stored online in these services with those received through Telepathy. The other feature missing is Group Chats, but support for those would be a different question.

Could message synchronization be added, if not through Telepathy then as a separate supplemental service? If not, the whole framework risks becoming obsolete.

edit retag flag offensive close delete


No, that's a specific extension for Jabber that prevents messages being lost when you lose your connection, so that messages thought to be delivered can be resent if failed. Jabber supports offline messages already, but does not synchronize messages nor their unread status between clients. There are extensions proposed that will implement message synchronization (XEP-0280 to propagate own messages between your clients, XEP-0313: Message Archive Management to sync your logs on the server) but these will require the feature I am requesting here before they can be implemented in the current Sailfish IM framework.

Andy Branson ( 2015-01-26 23:23:25 +0300 )edit

Oh, sorry, I completely mixed up stream management with MAM and carbons.

I think all that stuff should be possible to implement through Telepathy, though, no extra layers needed.

nthn ( 2015-01-27 00:04:01 +0300 )edit

I'm not sure Telepathy supports accessing message archives, and surely there would have to be additions to the Sailfish Messaging app to support synchronization?

Andy Branson ( 2015-01-27 00:19:18 +0300 )edit

3 Answers

Sort by » oldest newest most voted

answered 2015-01-27 11:31:28 +0300

spaetz gravatar image

updated 2015-01-27 12:01:45 +0300

As you state in the comment to your own question, XMPPs XEP 280 (Carbon Copy) is one way to go here. This enables different instances of chat clients to all request to be copied into communication.

As for XEP 280, this seems to be the relevant upstream bug for the telepathy framework used by Sailfish.

The second part is either XEP 136 (Message Archiving) or better XEP 313 (Message Archive Management) which you are also aware off. Is your request that Sailfish is not currently supporting these features when it should? This seems to be the relevant upstream bug.

XMPP servers support both features already, although not all servers have all features enabled. E.g. jabber.de supports XEP 280, but not XEP 313. The popular prosody XMPP server can support both features.

Is your request to implement those features into the underlying telepathy infrastructure? I don't think that the Jabber/XMPP protocol is old and unsufficient in general, it "just" needs the relevant features implemented in the client libraries. I would very much like to see support for these two XEPs in the telepathy framework too!

UPDATE: I have just looked at the last commits to the various telepathy components, and it does not feel ... vibrant... to put it politely. So thinking about the underlying framework (support, ditch, or stagnate,...) does make sense.

edit flag offensive delete publish link more


Part of it, but not all. I would love it if Jabber would support this functionality, and this would require enhancements to Telepathy as you say. That's what the old Google would have done, before they turned into the new Microsoft by inventing their own proprietary protocol and not publishing the spec :)

I think that it would need message synchronization functionality added to the Messages app though, similar to the way the Email client works, so notifications would be removed if you read the messages elsewhere.

Once these are in place, then this and this could use it. Hangouts would be fully supported and more integrated than on any other platform.

Andy Branson ( 2015-01-27 12:24:26 +0300 )edit

Seems like the Collabora guys started concentrating on Android stuff just after the Elopcalypse. Telepathy spec bug 23844 is the one though - and someone pinged it in December. Might have to go and join in.

Andy Branson ( 2015-01-27 15:40:55 +0300 )edit

answered 2015-01-30 13:40:03 +0300

Thaodan gravatar image

I think they should promote Telepathy more this would reduce memory usage more and reduce the need of background services. I mean it's one of the core features of Sailfish, I dont want other message apps when I can have one app for everything

edit flag offensive delete publish link more

answered 2016-01-12 22:03:45 +0300

nthn gravatar image

updated 2016-01-12 22:06:39 +0300

A glimmer of hope:


(Granted it's only half of what's needed, and nothing is going on just yet, but we can hope.)

edit flag offensive delete publish link more
Login/Signup to Answer

Question tools



Asked: 2015-01-26 22:44:10 +0300

Seen: 1,473 times

Last updated: Jan 12 '16