Support for synchronizing IM messages with other clients
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.
This seems to be what you're asking for: https://together.jolla.com/question/15958/feature-request-implement-xep-0198-stream-management-for-xmpp/
nthn ( 2015-01-26 22:51:10 +0200 )editNo, 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 +0200 )editOh, 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 +0200 )editI'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 +0200 )edit