telepathy-gabble-plus
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:
Stream Management
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.
A new
patch by ruff also allows reconnection, but has status issues with Telepathy-Qt. Due to these, status reporting during reconnection is has been disabled in my binaries.
Message Carbons
The
carbons patch
by Michael Kuhn keeps your connected devices synchronized. A carbon-enabled client will receive a copy of your sent and received messages (
merged). 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
Chat Markers
Chat marker 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 (
merged).
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.
To force HTTP upload, even if normal filetransfer seems available, use:
mc-tool update gabble/jabber/jabber_1 bool:force-httpupload=true
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.
User Avatar
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. (
merged)
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 or
Gajim.
Files
References