mam: Send “fin complete” only when appropriate
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
Use jid.bare() instead of manual concatenation
Use the Date to find a next page in RSM, not the id
This way, it works, whatever the order of insertion in the database was.
fix #3343
Use a different Date data type
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
Send the stanza-id for messages received by other users
fix #3347
Properly handle force-join presences by sending everything in return
fix #3305
Pass an IrcClient* to send_muc_leave instead of doing an other search
Add a nick field in the IRC server configuration form
fix #3317
Don’t reflect an empty id if it was not included
Instead, generate a uuid for that message
Reflect message IDs in channel MUCs
fix #3283
Add a <item/> node in the presence of a leaving participant
fix #3339
Remove the virtual channel feature altogether
Use the same function for both history orders
Always return the oldest matching messages from MAM, even if no date is set
Merge branch 'postgresql' into 'master'
Add postgresql support
Closes #3237
See merge request louiz/biboumi!18
Run some of the ci tests against a postgresql docker container