commit 8e1a2c5ff92d01789e02980f2e36c8808c8ea033
parent 2b28fe814271eaa0b4a29457b364abd446d728c2
Author: Alexandre Oliva <oliva@gnu.org>
Date: Thu, 6 Feb 2025 09:04:36 +0100
Merged 53ad5cdf0371fc068fa03bf287fc94be.
Diffstat:
5 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
@@ -12,6 +12,8 @@ Fixed link detection in posts (contributed by inz).
Allow multiple editors for command-line posts (contributed by inz).
+Separated maximum and default timeline entry count, allowing larger timelines to be requested without having to increase the default (contributed by lxo).
+
Special thanks to fellow developer inz for bringing my attention to code places where I should have been more careful.
## 2.71
diff --git a/doc/snac.8 b/doc/snac.8
@@ -154,6 +154,8 @@ to those servers that went timeout in the previous retry. If you want to
give slow servers a chance to receive your messages, you can increase this
value (but also take into account that processing the queue will take longer
while waiting for these molasses to respond).
+.It Ic def_timeline_entries
+This is the default timeline entries shown in the web interface.
.It Ic max_timeline_entries
This is the maximum timeline entries shown in the web interface.
.It Ic timeline_purge_days
diff --git a/html.c b/html.c
@@ -3306,7 +3306,7 @@ int html_get_handler(const xs_dict *req, const char *q_path,
cache = 0;
int skip = 0;
- int def_show = xs_number_get(xs_dict_get(srv_config, "max_timeline_entries"));
+ int def_show = xs_number_get(xs_dict_get_def(srv_config, "def_timeline_entries", "50"));
int show = def_show;
if ((v = xs_dict_get(q_vars, "skip")) != NULL)
diff --git a/httpd.c b/httpd.c
@@ -219,7 +219,7 @@ int server_get_handler(xs_dict *req, const char *q_path,
if (xs_type(q_vars) == XSTYPE_DICT && (t = xs_dict_get(q_vars, "t"))) {
/** search by tag **/
int skip = 0;
- int show = xs_number_get(xs_dict_get(srv_config, "max_timeline_entries"));
+ int show = xs_number_get(xs_dict_get_def(srv_config, "def_timeline_entries", "50"));
const char *v;
if ((v = xs_dict_get(q_vars, "skip")) != NULL)
diff --git a/utils.c b/utils.c
@@ -28,6 +28,7 @@ static const char *default_srv_config = "{"
"\"queue_timeout\": 6,"
"\"queue_timeout_2\": 8,"
"\"cssurls\": [\"\"],"
+ "\"def_timeline_entries\": 50,"
"\"max_timeline_entries\": 50,"
"\"timeline_purge_days\": 120,"
"\"local_purge_days\": 0,"