Commit Graph
40 Commits
Author SHA1 Message Date
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