louiz’
7d0df9b6dd
Disable the throttle limit if negative
...
Also, invalid values result in -1 being set
2018-08-23 22:18:49 +02:00
louiz’
6c431b64d0
Fix one more warning
2018-08-23 22:16:42 +02:00
louiz’
89e038bc3a
Fix the real_type of ThrottleLimit
2018-08-04 15:11:59 +02:00
louiz’
09b10cc801
Throttle all commands sent to IRC servers
...
fix #3354
2018-06-25 22:54:32 +02:00
louiz’
b0168fd45b
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
2018-04-29 22:18:26 +02:00
louiz’
7592d966e6
Missing fields in a data-form response are now interpreted as an empty value
2018-04-29 01:40:46 +02:00
louiz’
61de6b1dac
Revert "Use a different Date data type"
...
This reverts commit 857c7d3972 .
2018-04-24 20:25:40 +02:00
louiz’
a90f196a1c
Revert "Use the Date to find a next page in RSM, not the id"
...
This reverts commit 5ef7ba0802 .
2018-04-24 20:25:39 +02:00
louiz’
5ef7ba0802
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
2018-04-14 19:48:45 +02:00
louiz’
857c7d3972
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
2018-04-11 00:25:18 +02:00
louiz’
619c991a69
Add a nick field in the IRC server configuration form
...
fix #3317
2018-03-19 20:15:44 +01:00
louiz’
5af0a8040c
Use a transaction around the DELETE + INSERT of the after_connection_commands
...
Otherwise we can imagine that two clients changing this value at the same
time would mix things up.
ref #3275
2018-03-18 02:54:34 +01:00
louiz’
577984faf2
Allow the execution of multiple commands after the IRC connection
...
fix #3275
2018-03-18 02:31:18 +01:00
louiz’
03714c6ceb
Revert "Use std::optional<bool> instead of OptionalBool"
...
This reverts commit ba879a882e .
2018-03-17 17:28:47 +01:00
louiz’
ba879a882e
Use std::optional<bool> instead of OptionalBool
2018-03-16 01:13:50 +01:00
louiz’
b3b90139db
Rename a few “hostname” into “address”, regarding last commit
...
ref #3273
2018-03-12 01:06:15 +01:00
louiz’
bb476f4a0d
Allow to override the addresses used to connect to an IRC network
...
fix #3273
2018-03-12 01:00:17 +01:00
louiz’
4a2a280d76
Support the <before/> element in MAM requests
2018-02-13 03:51:03 +01:00
louiz’
fd7c365288
Use the same function for both history orders
2018-02-13 03:10:00 +01:00
louiz’
d705541435
Send a item-not-found error when the “after” value is not in the archive
2018-02-11 23:29:58 +01:00
louiz’
0280343ced
Handle the “after” RSM value to page through results
2018-02-10 19:51:59 +01:00
louiz’
99389eefba
Always return the oldest matching messages from MAM, even if no date is set
2018-02-10 17:47:42 +01:00
louiz’
0168b96b79
Add postgresql support
2017-12-02 20:08:47 +01:00
louiz’
bfcf294517
Add the persistent_by_default configuration option
...
fix #3293
2017-09-09 17:09:17 +02:00
louiz’
655151d88a
Cache the encoding_in database value, to avoid doing a query for each message
2017-08-26 13:51:15 +02:00
louiz’
84034ed3dc
Use a db roster to manage biboumi’s presence with the contacts
2017-07-16 00:16:43 +02:00
louiz’
cf56b60fd3
Remove all the empty “options” members in Column classes
...
By using SFINAE to use that member only when it exists.
2017-07-08 12:36:08 +02:00
louiz’
9f7782bb0c
Add a global “persistent” option
2017-07-06 22:24:42 +02:00
louiz’
40db183e37
Using OptionalBool, add RecordHistoryOptional col into IrcChannelOptions table
...
ref #3269
2017-06-16 09:54:36 +02:00
louiz’
2677ac42e8
Fix compilation (many warnings, and a linkage error) with clang++
2017-06-14 10:46:44 +02:00
louiz’
dac19da4c7
Fix an inversion of tlsPorts_ and ports_
2017-06-14 10:46:44 +02:00
louiz’
369ccb0376
Add default values for the database columns
2017-06-14 00:19:15 +02:00
louiz’
50cadf3dac
Implement our own database ORM, and update the whole code to use it
...
Entirely replace LiteSQL
fix #3271
2017-06-14 00:19:15 +02:00
louiz’
7f2127a7ea
Add the archive ID to messages when they are sent to users
...
This makes us compatible with mam 6.0
fix #3249
2017-03-30 18:16:44 +02:00
louiz’
1a09c965eb
Remove two sneaky log_debug
2017-03-29 23:32:43 +02:00
louiz’
3047bd41b2
MAM results can be filtered by start and end dates
2016-09-04 22:58:38 +02:00
louiz’
88499d0379
If the maxHistoryLength is negative, make it 0
...
Instead of doing a broken SQL request that returns weird lines
2016-08-23 01:28:12 +02:00
louiz’
d1626c929f
When joining a channel, send the most recent history found in the database
2016-08-22 00:44:17 +02:00
louiz’
6776b827d2
Add a global configure ad-hoc command, with max history length
2016-08-22 00:38:44 +02:00
louiz’
8ec823be4f
Save received and sent messages into the database
2016-08-12 16:39:19 +02:00
louiz’
4c1b9abe7e
Properly catch and handle database errors
...
Do not use a singleton for the database.
fix #3203
2016-07-12 00:31:57 +02:00
louiz’
81f8f45b37
Replace all include guards by #pragma once
...
It’s $CURRENT_YEAR
2016-07-04 17:53:53 +02:00
louiz’
af42073830
Style fix
...
Move all constructors at the top of classes
2016-05-04 14:16:40 +02:00
Florent Le Coz
421c960df5
Add a ChannelOptions table in the DB
...
And a way to retrieve its values, defaulting on the ServerOptions for unset
values.
2016-01-04 13:47:26 +01:00
Florent Le Coz
88ae2599f6
Introduce an optional Database module
...
Uses litesql
2015-09-18 22:09:26 +02:00