My god, it's full of segfaults

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.

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. 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.
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.

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.

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