From 8156e4f03fd730facdee8c5910b8ec810dc5835c Mon Sep 17 00:00:00 2001 From: default Date: Tue, 28 Jan 2025 08:18:11 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 23a2a17..b9f953d 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,13 @@ # Release Notes +## UNRELEASED + +Notifications are now shown in a more compact way (i.e. all reactions are shown just above your post, instead of repeating the post *ad nauseam* for every reaction). + +New command-line option `unmute` to, well, no-longer-mute an actor. + +The private timeline now includes a mark between new posts and "already seen" ones. + ## 2.69 "Yin/Yang of Love" Added support for subscribing to LitePub (Pleroma-style) Fediverse Relays like e.g. https://fedi-relay.gyptazy.com to improve federation. See `snac(8)` (the Administrator Manual) for more information on how to use this feature. -- cgit From e5d1fe433cdeaf4d65e13d660a7a7db696c763a9 Mon Sep 17 00:00:00 2001 From: default Date: Thu, 30 Jan 2025 16:15:22 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b9f953d..b895801 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -6,7 +6,9 @@ Notifications are now shown in a more compact way (i.e. all reactions are shown New command-line option `unmute` to, well, no-longer-mute an actor. -The private timeline now includes a mark between new posts and "already seen" ones. +The private timeline now includes an approximate mark between new posts and "already seen" ones. + +Fixed a spurious 404 error in the instance root URL for some configurations. ## 2.69 "Yin/Yang of Love" -- cgit From d0c81d35cefd5ce9ba6b2c6fd0bf3091011959b5 Mon Sep 17 00:00:00 2001 From: default Date: Fri, 31 Jan 2025 09:10:16 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b895801..337a29a 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,6 +1,6 @@ # Release Notes -## UNRELEASED +## 2.70 Notifications are now shown in a more compact way (i.e. all reactions are shown just above your post, instead of repeating the post *ad nauseam* for every reaction). -- cgit From e1e4c0ca1ade524eb6d2585215c0b028ffaf5a8b Mon Sep 17 00:00:00 2001 From: default Date: Tue, 4 Feb 2025 13:56:08 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 337a29a..0623f23 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,11 @@ # Release Notes +## UNRELEASED + +Fixed memory leak (contributed by inz). + +Fixed crash. + ## 2.70 Notifications are now shown in a more compact way (i.e. all reactions are shown just above your post, instead of repeating the post *ad nauseam* for every reaction). -- cgit From d80985746719d54ef0a63bc51c05adedb537b394 Mon Sep 17 00:00:00 2001 From: default Date: Tue, 4 Feb 2025 15:09:13 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 0623f23..f39a912 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,6 +1,6 @@ # Release Notes -## UNRELEASED +## 2.71 Fixed memory leak (contributed by inz). -- cgit From 2c10e230a290113c665a31a013812d9bf721f215 Mon Sep 17 00:00:00 2001 From: default Date: Tue, 4 Feb 2025 18:32:55 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index f39a912..d196dac 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,9 @@ # Release Notes +## UNRELEASED + +Fixed more crashes (thank you very much to inz for helping me debugging this). + ## 2.71 Fixed memory leak (contributed by inz). -- cgit From 8f76c4d8f6ac9d4fa81ab9fd13d8f5e8e65ea8b8 Mon Sep 17 00:00:00 2001 From: default Date: Wed, 5 Feb 2025 09:48:04 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index d196dac..719c89a 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -2,6 +2,8 @@ ## UNRELEASED +Fixed a search bug. + Fixed more crashes (thank you very much to inz for helping me debugging this). ## 2.71 -- cgit From 4842abbfc679495efb5984bfc712ce9d812ed1b5 Mon Sep 17 00:00:00 2001 From: default Date: Wed, 5 Feb 2025 10:25:45 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 719c89a..7a23b8b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,8 +4,14 @@ Fixed a search bug. +Each notification includes a link labelled `Context`, that leads to a page with the full conversation tree the post is a part of. + Fixed more crashes (thank you very much to inz for helping me debugging this). +Fixed link detection in posts (contributed by inz). + +Allow multiple editors for command-line posts (contributed by inz). + ## 2.71 Fixed memory leak (contributed by inz). -- cgit From 2b28fe814271eaa0b4a29457b364abd446d728c2 Mon Sep 17 00:00:00 2001 From: default Date: Thu, 6 Feb 2025 08:53:52 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7a23b8b..78f5694 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -6,12 +6,14 @@ Fixed a search bug. Each notification includes a link labelled `Context`, that leads to a page with the full conversation tree the post is a part of. -Fixed more crashes (thank you very much to inz for helping me debugging this). +Fixed more crashes (contributed by inz). Fixed link detection in posts (contributed by inz). Allow multiple editors for command-line posts (contributed by inz). +Special thanks to fellow developer inz for bringing my attention to code places where I should have been more careful. + ## 2.71 Fixed memory leak (contributed by inz). -- cgit From 8e1a2c5ff92d01789e02980f2e36c8808c8ea033 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 6 Feb 2025 09:04:36 +0100 Subject: Merged 53ad5cdf0371fc068fa03bf287fc94be. --- RELEASE_NOTES.md | 2 ++ doc/snac.8 | 2 ++ html.c | 2 +- httpd.c | 2 +- utils.c | 1 + 5 files changed, 7 insertions(+), 2 deletions(-) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 78f5694..8e95766 100644 --- 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 index e9b33dd..aac9f70 100644 --- 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 index 5f1cd6c..82d2e55 100644 --- 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 index e0a36b6..b856b7d 100644 --- 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 index ae1c1b6..b799813 100644 --- 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," -- cgit From f9796044c6c1fda786bd608987c1f41d5244e528 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 6 Feb 2025 09:24:27 +0100 Subject: Merged 383bf2e2eeadcacfa519be7a56c9a301. --- RELEASE_NOTES.md | 2 ++ html.c | 37 ++++++++++++++++++++++++++++--------- 2 files changed, 30 insertions(+), 9 deletions(-) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 8e95766..c6d439d 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -14,6 +14,8 @@ 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). +Turned message date into a link to the local post, so that it can be loaded into a separate tab for interacting with (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/html.c b/html.c index 82d2e55..8ad79de 100644 --- a/html.c +++ b/html.c @@ -13,6 +13,7 @@ #include "xs_html.h" #include "xs_curl.h" #include "xs_unicode.h" +#include "xs_url.h" #include "snac.h" @@ -115,7 +116,8 @@ xs_str *actor_name(xs_dict *actor, const char *proxy) xs_html *html_actor_icon(snac *user, xs_dict *actor, const char *date, const char *udate, const char *url, int priv, - int in_people, const char *proxy, const char *lang) + int in_people, const char *proxy, const char *lang, + const char *md5) { xs_html *actor_icon = xs_html_tag("p", NULL); @@ -224,12 +226,29 @@ xs_html *html_actor_icon(snac *user, xs_dict *actor, const char *date, if (xs_is_string(lang)) date_title = xs_str_cat(date_title, " (", lang, ")"); + xs_html *date_text = xs_html_text(date_label); + + if (user && md5) { + xs *lpost_url = xs_fmt("%s/admin/p/%s", + user->actor, md5); + date_text = xs_html_tag("a", + xs_html_attr("href", lpost_url), + date_text); + } + else if (user && url) { + xs *lpost_url = xs_fmt("%s/admin?q=%s", + user->actor, xs_url_enc(url)); + date_text = xs_html_tag("a", + xs_html_attr("href", lpost_url), + date_text); + } + xs_html_add(actor_icon, xs_html_text(" "), xs_html_tag("time", xs_html_attr("class", "dt-published snac-pubdate"), xs_html_attr("title", date_title), - xs_html_text(date_label))); + date_text)); } { @@ -261,7 +280,7 @@ xs_html *html_actor_icon(snac *user, xs_dict *actor, const char *date, } -xs_html *html_msg_icon(snac *user, const char *actor_id, const xs_dict *msg, const char *proxy) +xs_html *html_msg_icon(snac *user, const char *actor_id, const xs_dict *msg, const char *proxy, const char *md5) { xs *actor = NULL; xs_html *actor_icon = NULL; @@ -292,7 +311,7 @@ xs_html *html_msg_icon(snac *user, const char *actor_id, const xs_dict *msg, con else lang = NULL; - actor_icon = html_actor_icon(user, actor, date, udate, url, priv, 0, proxy, lang); + actor_icon = html_actor_icon(user, actor, date, udate, url, priv, 0, proxy, lang, md5); } return actor_icon; @@ -1706,7 +1725,7 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, xs_html_tag("div", xs_html_attr("class", "snac-origin"), xs_html_text(L("follows you"))), - html_msg_icon(read_only ? NULL : user, xs_dict_get(msg, "actor"), msg, proxy))); + html_msg_icon(read_only ? NULL : user, xs_dict_get(msg, "actor"), msg, proxy, NULL))); } else if (!xs_match(type, POSTLIKE_OBJECT_TYPE)) { @@ -1887,7 +1906,7 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only, } xs_html_add(post_header, - html_msg_icon(read_only ? NULL : user, actor, msg, proxy)); + html_msg_icon(read_only ? NULL : user, actor, msg, proxy, md5)); /** post content **/ @@ -2820,7 +2839,7 @@ xs_html *html_people_list(snac *snac, xs_list *list, char *header, char *t, cons xs_html_tag("div", xs_html_attr("class", "snac-post-header"), html_actor_icon(snac, actor, xs_dict_get(actor, "published"), - NULL, NULL, 0, 1, proxy, NULL))); + NULL, NULL, 0, 1, proxy, NULL, NULL))); /* content (user bio) */ const char *c = xs_dict_get(actor, "summary"); @@ -3118,7 +3137,7 @@ xs_str *html_notifications(snac *user, int skip, int show) xs_html_add(entry, xs_html_tag("div", xs_html_attr("class", "snac-post"), - html_actor_icon(user, actor, NULL, NULL, NULL, 0, 0, proxy, NULL))); + html_actor_icon(user, actor, NULL, NULL, NULL, 0, 0, proxy, NULL, NULL))); } else if (strcmp(type, "Move") == 0) { @@ -3132,7 +3151,7 @@ xs_str *html_notifications(snac *user, int skip, int show) xs_html_add(entry, xs_html_tag("div", xs_html_attr("class", "snac-post"), - html_actor_icon(user, old_actor, NULL, NULL, NULL, 0, 0, proxy, NULL))); + html_actor_icon(user, old_actor, NULL, NULL, NULL, 0, 0, proxy, NULL, NULL))); } } } -- cgit From cfe73e119da9783e0dab52860298e5dfe8ff63a6 Mon Sep 17 00:00:00 2001 From: default Date: Fri, 7 Feb 2025 09:31:35 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index c6d439d..b7c1c89 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -2,10 +2,12 @@ ## UNRELEASED -Fixed a search bug. +Each post can have more than one attachment from the web UI. The maximum number can be configured in `server.json` via the `max_attachments` value (default: 4). Each notification includes a link labelled `Context`, that leads to a page with the full conversation tree the post is a part of. +Fixed a search bug (some matches were missed). + Fixed more crashes (contributed by inz). Fixed link detection in posts (contributed by inz). -- cgit From 3c5ccc9cefacab86fbff08feaa10e964f831a383 Mon Sep 17 00:00:00 2001 From: default Date: Sat, 8 Feb 2025 17:05:55 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b7c1c89..b135649 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -6,6 +6,8 @@ Each post can have more than one attachment from the web UI. The maximum number Each notification includes a link labelled `Context`, that leads to a page with the full conversation tree the post is a part of. +Each followed hashtag has now a directly accesible link. + Fixed a search bug (some matches were missed). Fixed more crashes (contributed by inz). -- cgit From fa260625b57cbc6c11627f4b96734ebc4f9128d5 Mon Sep 17 00:00:00 2001 From: default Date: Mon, 10 Feb 2025 09:46:46 +0100 Subject: Updated RELEASE_NOTES. --- RELEASE_NOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'RELEASE_NOTES.md') diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b135649..f8566a2 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,6 +1,6 @@ # Release Notes -## UNRELEASED +## 2.72 Each post can have more than one attachment from the web UI. The maximum number can be configured in `server.json` via the `max_attachments` value (default: 4). -- cgit