aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/message.c
Commit message (Collapse)AuthorAgeLines
* Revert "hipchat: Implement their own variant of self-messages [...]"dequis2016-01-21-12/+0
| | | | | | | This reverts commit d11ccbf6ea94264bde8b0f525c4bbedf50de0174. After thinking about this long enough I've decided this is a bad idea, and better wait for the hipchat server to support carbons.
* hipchat: Implement their own variant of self-messages (not working yet)dequis2015-12-16-0/+12
| | | | | | | | | | | | Reuses part of the carbons code, but it's not like it at all. To be able to receive these messages at all, a different cap node whitelisted by them is required. I could have used one of the official clients, but let's try to get things done the right way. This will start working once they make that change in their servers, right now this is still in their ticket backlog. I'm merging this now because it's harmless and nice to have as part of the upcoming release.
* jabber: Implement carbons (XEP-0280)dequis2015-11-21-6/+48
| | | | | | | | | | | | | | "Message carbons" (XEP-0280) is a server feature to get copies of outgoing messages sent from other clients connected to the same account. It's not widely supported by most public XMPP servers (easier if you host your own), but this will probably change in the next few years. This is enabled by default if the server supports it. It can also be disabled with the "carbons" account setting. Loosely based on a patch by kormat from trac ticket 1021. (Thanks!) I moved stuff around, simplified things, fixed a few bugs, and used the new self-messages feature.
* jabber: Don't reply XEP-0184 receipts sent over MUCsdequis2015-10-30-7/+8
| | | | | XEP-0184 section 5.3 says those shouldn't be sent over MUCs, but some misbehaving clients do anyway, resulting in 'forbidden' errors
* jabber: Fix XEP85 detection (typing) between two bitlbee usersdequis2015-10-21-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes trac ticket 1143: https://bugs.bitlbee.org/bitlbee/ticket/1143 The "correct" way to discover XEP85 support is to send a discovery query. We take a more conservative approach: if the irc client claims to support typing (by sending CTCP TYPING at least once), we send an <active> tag along with next chat message, and set JBFLAG_PROBED_XEP85. The logic for that stuff is in jabber_buddy_msg(). That's all neat and clever and actually works fine. What was broken was the detection side. Whenever a <composing>, <active> or <pause> is received, the buddy is marked as supporting XEP85. However the <active> tag had an additional check: /* No need to send a "stopped typing" signal when there's a message. */ else if (xt_find_node(node->children, "active") && (body == NULL)) { It skipped the tag completely if it had a message too. This was changed to move the body == NULL condition inside, so that the flag is set. Took me longer to write this message than the diff itself. But even longer to actually decide to debug this behavior. I'm the one who submitted that ticket, one year and a half ago. Yep.
* Reindent everything to K&R style with tabsIndent2015-02-20-96/+84
| | | | | | | Used uncrustify, with the configuration file in ./doc/uncrustify.cfg Commit author set to "Indent <please@skip.me>" so that it's easier to skip while doing git blame.
* I'm still bored on a long flight. Wrote a script to automatically updateWilmer van der Gaast2013-02-21-1/+1
| | | | | | | my copyright mentions since some were getting pretty stale. Left files not touched since before 2012 alone so that this change doesn't touch almost EVERY source file.
* Merging XEP-0184 support patch from Michael Stapelberg, #999.Wilmer van der Gaast2012-10-28-0/+22
|\
| * Implement jabber message receipts (XEP-0184)Michael Stapelberg2012-10-17-0/+29
|/ | | | | | | This change will make BitlBee acknowledge messages when requested. It will not request message receipts from other clients, mainly because I am not sure if this feature can be mapped to IRC cleanly.
* Suppress subjects in Jabber conversations after showing them once.Wilmer van der Gaast2010-08-31-1/+12
|
* Process incoming XMPP groupchat invites in a saner way: Create a temporaryWilmer van der Gaast2010-08-23-7/+9
| | | | | channel the user can easily /join.
* OpenSolaris (non-gcc) fixes, patches from Dagobert Michelsen <dam@opencsw.org>Wilmer van der Gaast2010-08-07-2/+3
| | | | | with some changes.
* Fixed a NULL pointer dereference in the Jabber module.Wilmer van der Gaast2010-06-23-1/+1
|
* Suppress empty "Headline:" messages for certain new XMPP broadcast messages.Wilmer van der Gaast2010-03-29-2/+2
|
* resource_select now defaults to activity instead of priority. Also, addingWilmer van der Gaast2009-11-19-1/+1
| | | | | | | | | a activity_timeout setting. Now, messages to someone who hasn't spoken for a while will be sent to his/her bare JID, usually resulting in a broadcast. This should fix issues with messages sometimes arriving on someone's Crackberry/Android/etc instead of some place s/he's paying attention to. Last, the activity timer is only reset on incoming messages.
* Added parsing of Jabber chatroom invitations.Wilmer van der Gaast2008-06-15-0/+17
|
* Not trying to handle typing notifications from unknown buddies anymoreWilmer van der Gaast2007-08-08-1/+5
| | | | | (NULL pointer dereference).
* Better handling of private messages via groupchats.Wilmer van der Gaast2007-07-01-4/+7
|
* You can send messages too now. But it's still very kludgy and doesn't workWilmer van der Gaast2007-04-22-1/+2
| | | | | with anonymous rooms (ie about 95% of all available Jabber chatrooms?).
* Read-only support for Jabber conferences (non-anonymous rooms only).Wilmer van der Gaast2007-04-22-4/+9
| | | | | Just don't use this, you're really not going to like it. :-)
* API cleanup pretty much complete. Fixed pretty much everything except theWilmer van der Gaast2007-04-16-4/+4
| | | | | buddy/groupchat related functions.
* s/gaim_connection/im_connection/ and some other minor API changes. The restWilmer van der Gaast2007-03-30-6/+6
| | | | | | will come tomorrow. It compiles, I'll leave the real testing up to someone else. ;-)
* Improved handling of JIDs: Bare JIDs are allowed (*sigh*) and caseWilmer van der Gaast2006-11-13-5/+5
| | | | | insensitivity. Probably not complete yet...
* Forgot about one possible NULL pointer dereference in jabber_pkt_message().Wilmer van der Gaast2006-10-24-1/+1
|
* Better handling of <message/> packets. (Headlines, JIDs without /resourceWilmer van der Gaast2006-10-23-21/+41
| | | | | part, non-chat messages.)
* Proper cleanup of jabber buddy structures when removing a buddy from theWilmer van der Gaast2006-10-15-9/+22
| | | | | | | list, proper checking (and handling) of events related to buddies that aren't "hashed" yet, limit checks on priorityto setting, renamed JEP85 to XEP85, support for more XEP85 states.
* Added resource selection (based on priority or time of last message) toWilmer van der Gaast2006-10-10-10/+25
| | | | | | | budd_by_jid(), added a full_jid property to easily address that resource without having to rebuild the full JID every time and implemented typing notification shite.
* Added enough to not make it crash on login, and it can properly receiveWilmer van der Gaast2006-09-21-2/+23
| | | | | | messages now. Just try to figure out why it doesn't get typing notifications...
* It can send a valid (pre-XMPP) login packet. Lots of work to do, still...Wilmer van der Gaast2006-09-20-1/+1
|
* Added some pretty empty files.Wilmer van der Gaast2006-09-20-0/+36