summaryrefslogtreecommitdiff
path: root/src/bridge
AgeCommit message (Collapse)Author
2020-09-23Always send direct messages to the user’s bare JIDJonas Schäfer
This has the following advantages: - Works while all resources are offline (persistent channels) - Helps with combating duplicate messages when sent to different resources, resources going offline, carbon-copying etc. etc. As a side effect, this also makes the MUC PMs not be MUC PMs and always be emitted from the server-wide JID of the sending user. Fixes #3313.
2020-03-11Merge remote-tracking branch 'linkmauve/die-gc1.0-die'louiz’
2020-03-11Make sure we keep the stable-id and origin-id nodes when requiredlouiz’
See https://xmpp.org/extensions/xep-0359.html
2020-03-02Small trivial readability improvementlouiz’
2019-11-13Don’t treat presence updates as MUC joinsEmmanuel Gil Peyrot
If the user sends a directed presence to an unjoined MUC without a <x/> element, send a presence error back instead of attempting to join it again, as this is almost never what the user wants. Fixes #3415.
2019-09-09Actually fix that correctly instead of the oppositelouiz’
2019-09-09Remove trailing / of fulljids if IRC host is missinglouiz’
2019-08-25Properly re-convert \01ACTION into a /me when reflected to the senderlouiz’
fix #3382 It still needs to be fixed properly by cleaning the way we send the messages in all direction etc. And this is ugly because, with just one message, we do a conversion in one direction, and then re-convert in the other direction. But at least it works and users will be happy, even if I’m not entirely satisfied with the code.
2019-08-20XEP-0410: set not-in-the-room error condition to not-acceptableJonas Schäfer
XEP-0410 demands that. This changes the error condition for all pings to the room, even those which aren’t self-pings, if the sender is not joined. The conditions of XEP-0410 were based on observing existing implementations.
2019-08-20XEP-0410: implement server-side optimisation for self-pingsJonas Schäfer
This prevents the ping from round-tripping through IRC and possibly a random other client of the user. Please see XEP-0410 for the rationale. Fixes #3385.
2018-10-04Do not send the IRC host directly as real JID of the userrefactor-resourcesJonas Schäfer
Fixes #3381
2018-10-03Make comment more preciseJonas Schäfer
2018-08-26Remove an unused function (and a useless debug log)louiz’
2018-08-26Trivial little syntax changeslouiz’
2018-08-26Replace a useless shared_ptr by a unique_ptrlouiz’
2018-08-23MaxHistoryLength now has some sensible default value if the user set a ↵louiz’
negative one
2018-08-23Add a missing <string> includelouiz’
2018-08-04Remove a bunch of useless empty lineslouiz’
2018-07-24Reflect messages to XMPP only when they are actually sentlouiz’
2018-06-25Fix a warning (unused variable) in some build configlouiz’
2018-06-25Trivial syntax improvementslouiz’
2018-06-22Archive the Mode messages, except if they are received for an unjoined chanlouiz’
fix #3362
2018-06-19Reject messages from unjoined resources, with an errorlouiz’
fix #3346
2018-04-29mam: Send “fin complete” only when appropriatelouiz’
Also simplify how we did the whole “limit + 1” And fix one bad interpretation of the XEP for the case where the query has no after or before restriction. fix #3349
2018-04-24Revert "Use a different Date data type"louiz’
This reverts commit 857c7d3972a03cbeebf730d99b924d3710dee6a0.
2018-04-24Revert "Use the Date to find a next page in RSM, not the id"louiz’
This reverts commit 5ef7ba08028065b03d51d1dc70bb35aeb41ae19d.
2018-04-16Use jid.bare() instead of manual concatenationEmmanuel Gil Peyrot
2018-04-14Use the Date to find a next page in RSM, not the idlouiz’
This way, it works, whatever the order of insertion in the database was. fix #3343
2018-04-11Use a different Date data typelouiz’
PLEASE backup your database before testing this commit, and report any migration issue. In postgresql, we use timestamp with timezone. In sqlite3 we use REAL (the date is expressed as julianday) This requires a migration of the muclogline_ table: In postgresql it’s pretty simple, we convert all the integer into timestamps With sqlite3, we actually rename the table, create the new one with the correct type, then copy everything to the new table, with a conversion function for the Date_ column, and then we delete the old table. fix #3343
2018-03-31Send the stanza-id for messages received by other userslouiz’
fix #3347
2018-03-23Properly handle force-join presences by sending everything in returnlouiz’
fix #3305
2018-03-22Pass an IrcClient* to send_muc_leave instead of doing an other searchlouiz’
2018-03-19Add a nick field in the IRC server configuration formlouiz’
fix #3317
2018-03-18Don’t reflect an empty id if it was not includedlouiz’
Instead, generate a uuid for that message
2018-03-18Reflect message IDs in channel MUCslouiz’
fix #3283
2018-03-12Add a <item/> node in the presence of a leaving participantlouiz’
fix #3339
2018-03-12Remove the virtual channel feature altogetherlouiz’
2018-02-13Use the same function for both history orderslouiz’
2018-02-10Always return the oldest matching messages from MAM, even if no date is setlouiz’
2017-12-26Add a <x muc#user> node on outgoing private MUC messageslouiz’
See https://xmpp.org/extensions/xep-0045.html#privatemessage fix #3321
2017-12-03Run some of the ci tests against a postgresql docker containerlouiz’
2017-11-07Fix #3304louiz’
2017-11-07Change how we count the number of connected resources to a serverlouiz’
2017-10-04Remove a redundant Body definitionlouiz’
2017-09-09Add the persistent_by_default configuration optionlouiz’
fix #3293
2017-08-30Mark messages from the IRC server as private and no-copylouiz’
fix #3284
2017-08-27Add support for the "history" node on MUC joinlouiz’
Supports the "seconds", "maxstanzas", "since" and "maxchars" (but only =0) attributes. fix #3270
2017-08-27In fixed mode, server messages come from biboumi’s hostname directlylouiz’
Instead of irc.example.com@biboumi, because that’s actually user named “irc.example.com”, in that case. And that fixes the raw messages in fixed mode. fix #3286
2017-08-26Cache the encoding_in database value, to avoid doing a query for each messagelouiz’
2017-07-16Correctly remove the last resource from the channel, in persistent modelouiz’
fix #3277