Difference between revisions of "Pidgin"

From Jon's Wiki
Line 9: Line 9:
 
* [https://developer.pidgin.im/ticket/16801 OMEMO chat encryption] - Whisper Systems Axolotl over XEP-0163: Personal Eventing Protocol, see [http://conversations.im/xeps/multi-end.html proposed XEP]
 
* [https://developer.pidgin.im/ticket/16801 OMEMO chat encryption] - Whisper Systems Axolotl over XEP-0163: Personal Eventing Protocol, see [http://conversations.im/xeps/multi-end.html proposed XEP]
  
== XEP-0280: Message Carbons ==
+
Here are instructions on how to fix them.
 +
 
 +
=== XEP-0280: Message Carbons ===
  
 
This is the bit that lets XMPP clients track message history like Hangouts does, when you are using multiple clients in a conversation (e.g. phone, tablet, gaming PC, work laptop). The perfectly working patch by "xnyhps" has been lurking on [https://developer.pidgin.im/ticket/15508 Ticket #15508] since January 2014 but everyone's busy with the [https://developer.pidgin.im/query?group=status&component=XMPP&milestone=3.0.0 3.0 milestone], and things like realtime text and message receipts seem to have been deemed more important. Luckily, these instructions will build you a modified version you can install yourself:
 
This is the bit that lets XMPP clients track message history like Hangouts does, when you are using multiple clients in a conversation (e.g. phone, tablet, gaming PC, work laptop). The perfectly working patch by "xnyhps" has been lurking on [https://developer.pidgin.im/ticket/15508 Ticket #15508] since January 2014 but everyone's busy with the [https://developer.pidgin.im/query?group=status&component=XMPP&milestone=3.0.0 3.0 milestone], and things like realtime text and message receipts seem to have been deemed more important. Luckily, these instructions will build you a modified version you can install yourself:
Line 23: Line 25:
 
  sudo dpkg -i ../pidgin*.deb ../libpurple*.deb
 
  sudo dpkg -i ../pidgin*.deb ../libpurple*.deb
  
== XEP-0313: Message Archive Management ==
+
=== XEP-0313: Message Archive Management ===
  
 
This is the bit that lets the server stash messages sent to you while you're offline, and the client to sync the history when next online, also like Hangouts. Especially useful for multiuser chatrooms. A [https://github.com/CkNoSFeRaTU/pidgin/commits/master patch] potentially exists in the meantime.
 
This is the bit that lets the server stash messages sent to you while you're offline, and the client to sync the history when next online, also like Hangouts. Especially useful for multiuser chatrooms. A [https://github.com/CkNoSFeRaTU/pidgin/commits/master patch] potentially exists in the meantime.
 +
 +
== Facebook, Hangouts, and Steam ==
 +
 +
These protocols used to be XMPP-based, but because nobody seems to understand how to implement it properly, and the XEP standards body can't be bothered progressing draft standards that have been in use for years, they have been replaced by proprietary protocols, and there are now [https://developer.pidgin.im/wiki/ThirdPartyPlugins plugins] for them for libpurple:
 +
 +
* [https://github.com/jgeboski/purple-facebook/wiki Facebook Messenger] protocol, based on a 2015 Google Summer of Code project.
 +
* [https://bitbucket.org/EionRobb/purple-hangouts/ Google Hangouts], protocol, also based on 2015 GSoC.
 +
* [https://github.com/EionRobb/pidgin-opensteamworks Steam], based on Valve's Open Steamworks API.
 +
 +
These just involve running <tt>make</tt> and lobbing the .so into your <tt>~/.purple/plugins</tt> directory; see their respective README files for installation instructions.
  
 
== See also ==
 
== See also ==

Revision as of 00:54, 7 March 2016

Pidgin is a multi-protocol IM client for Windows and *nix desktops (see Adium for Mac). Pidgin 2.x series is woefully crap in many technical ways, but mostly does what it says on the tin. Development on 2.x has been in maintenance mode since about 2011, and most dev effort is focused on the 3.0 which is pretty much a ground-up rewrite.

Missing XMPP XEPs

XMPP support in Pidgin has been slow to adopt new shiny XMPP extensions (XEP). Tickets exist for them:

Here are instructions on how to fix them.

XEP-0280: Message Carbons

This is the bit that lets XMPP clients track message history like Hangouts does, when you are using multiple clients in a conversation (e.g. phone, tablet, gaming PC, work laptop). The perfectly working patch by "xnyhps" has been lurking on Ticket #15508 since January 2014 but everyone's busy with the 3.0 milestone, and things like realtime text and message receipts seem to have been deemed more important. Luckily, these instructions will build you a modified version you can install yourself:

apt-get source pidgin
sudo apt-get build-dep pidgin
cd pidgin-2.10.9
wget https://developer.pidgin.im/raw-attachment/ticket/15508/carbons.5.patch
patch -p1 < carbons.5.patch
dpkg-source --commit
vi debian/changelog  # bump to +nmu1
dpkg-buildpackage  # -us -uc if you can't be arsed with a PGP key
sudo dpkg -i ../pidgin*.deb ../libpurple*.deb

XEP-0313: Message Archive Management

This is the bit that lets the server stash messages sent to you while you're offline, and the client to sync the history when next online, also like Hangouts. Especially useful for multiuser chatrooms. A patch potentially exists in the meantime.

Facebook, Hangouts, and Steam

These protocols used to be XMPP-based, but because nobody seems to understand how to implement it properly, and the XEP standards body can't be bothered progressing draft standards that have been in use for years, they have been replaced by proprietary protocols, and there are now plugins for them for libpurple:

These just involve running make and lobbing the .so into your ~/.purple/plugins directory; see their respective README files for installation instructions.

See also

  • Use Prosody to run your own XMPP (jabber) server, it's easy.
  • Use Conversations on your Android gadget.