This project is about extending gabble, the Telepathy XMPP connection manager. While mainline gabble is quite conservative in its XMPP features, some features are essential for use within mobile environments, e.g. notebooks or smartphones with unstable network. Some work has been done for:
The stream management patch enables stream management
for the basic acking scenario. Depending on your servers configuration, it will resend failed messages on your next connection or just send error reports to the sender. So it's still possible to lose messages, but some clients (e.g. empathy, jolla-messages and N9) will at show up an error.
patch by Michael Kuhn
keeps your connected devices synchronized. A carbon-enabled client will receive a copy of your sent and received messages. Again, server support is needed.
Carbon support is disabled by default and can be enabled with mc-tool:
mc-tool update gabble/jabber/jabber_1 bool:message-carbons=true
is an more general replacement for XEP-0184: Message Receipts
. It supports received, displayed and acknowledged markers. Furthermore, it is designed to be used in conjunction with carbons. Using this, your clients have the chance to sync their notifications.
Sending of markers is disabled by default and can be enabled with mc-tool:
mc-tool update gabble/jabber/jabber_1 bool:send-chat-markers=true
To force sending of chat-marker and receipt requests dispite missing client or buddy client support enable the following options:
mc-tool update gabble/jabber/jabber_2 bool:force-chat-markers=true
mc-tool update gabble/jabber/jabber_2 bool:force-receipts=true
This may help to synchronise your own reading status between your devices.
HTTP File Upload
The HTTP File Upload
extension provides a file sharing method utilizing a http server, provided by an XMPP service or server component. The receipient will receive a text message with a corresponding link. The current patch implementation caches the complete data and uploads withing one chunk. Therefore the senders transfer status won't work properly.
Both carbons and http upload will report sent messages to your clients. Some won't expect this and show your carbon- or link-message like its received by your opponent or some other contact with your id. You may need to patch this software to get the desired behaviour.
The User Avatar
extension describes avatar storing and fetching based on PEP. This is used by the Conversations
Android client. The implemeted patch allows gabble to fetch these avatars.
Message Archive Management
Server side message storage based on Message Archive Management
give a solution to synchronize clients which may - or may not - be online simultaneously. This implementation will request all messages that have been received (by the server) after the last session. Enable the option like this:
mc-tool update gabble/jabber/jabber_2 bool:fetch-mam=true
Not that you'll may need to enable the archiving on the server separately, using a capable client like Conversations