From 4c1a2d24d374d00c656c4489db7d28f80d64f9dc Mon Sep 17 00:00:00 2001 From: shtrophic Date: Mon, 20 Jan 2025 22:59:30 +0100 Subject: add port parsing for sandboxing --- snac.h | 1 + 1 file changed, 1 insertion(+) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 65ece5d..3db7b63 100644 --- a/snac.h +++ b/snac.h @@ -417,6 +417,7 @@ void import_blocked_accounts_csv(snac *user, const char *fn); void import_following_accounts_csv(snac *user, const char *fn); void import_list_csv(snac *user, const char *fn); void import_csv(snac *user); +int parse_port(const char *url, const char **errstr); typedef enum { #define HTTP_STATUS(code, name, text) HTTP_STATUS_ ## name = code, -- cgit v1.2.3 From 2ca7735779e79dbe6fe62f0111a12c145f428d8f Mon Sep 17 00:00:00 2001 From: shtrophic Date: Wed, 19 Feb 2025 08:56:14 +0100 Subject: fix ownership-problem of mailinfo --- snac.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 92ffb3f..545df74 100644 --- a/snac.h +++ b/snac.h @@ -274,7 +274,7 @@ void enqueue_output(snac *snac, const xs_dict *msg, const xs_str *inbox, int retries, int p_status); void enqueue_output_by_actor(snac *snac, const xs_dict *msg, const xs_str *actor, int retries); -void enqueue_email(const xs_str *msg, int retries); +void enqueue_email(xs_dict *msg, int retries); void enqueue_telegram(const xs_str *msg, const char *bot, const char *chat_id); void enqueue_ntfy(const xs_str *msg, const char *ntfy_server, const char *ntfy_token); void enqueue_message(snac *snac, const xs_dict *msg); -- cgit v1.2.3 From 59a34a9646e28cc9a63194ff55547de0005d0110 Mon Sep 17 00:00:00 2001 From: shtrophic Date: Thu, 20 Feb 2025 17:13:12 +0100 Subject: Revert "fix ownership-problem of mailinfo" This reverts commit 2ca7735779e79dbe6fe62f0111a12c145f428d8f. --- snac.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 545df74..92ffb3f 100644 --- a/snac.h +++ b/snac.h @@ -274,7 +274,7 @@ void enqueue_output(snac *snac, const xs_dict *msg, const xs_str *inbox, int retries, int p_status); void enqueue_output_by_actor(snac *snac, const xs_dict *msg, const xs_str *actor, int retries); -void enqueue_email(xs_dict *msg, int retries); +void enqueue_email(const xs_str *msg, int retries); void enqueue_telegram(const xs_str *msg, const char *bot, const char *chat_id); void enqueue_ntfy(const xs_str *msg, const char *ntfy_server, const char *ntfy_token); void enqueue_message(snac *snac, const xs_dict *msg); -- cgit v1.2.3 From 5090e4e77489d7e4e2d358c417c83be8f76307cb Mon Sep 17 00:00:00 2001 From: default Date: Tue, 1 Apr 2025 06:14:46 +0200 Subject: Added more scheduling code. --- snac.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 142ebc1..7e44039 100644 --- a/snac.h +++ b/snac.h @@ -205,6 +205,11 @@ void draft_del(snac *user, const char *id); void draft_add(snac *user, const char *id, const xs_dict *msg); xs_list *draft_list(snac *user); +int is_scheduled(snac *user, const char *id); +void schedule_del(snac *user, const char *id); +void schedule_add(snac *user, const char *id, const xs_dict *msg); +xs_list *scheduled_list(snac *user); + int limited(snac *user, const char *id, int cmd); #define is_limited(user, id) limited((user), (id), 0) #define limit(user, id) limited((user), (id), 1) -- cgit v1.2.3 From 9b2d0381ba734102c20d2111f0a2b64a3c438ef7 Mon Sep 17 00:00:00 2001 From: default Date: Tue, 1 Apr 2025 06:32:53 +0200 Subject: More scheduled post code. --- snac.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 7e44039..0d2aafe 100644 --- a/snac.h +++ b/snac.h @@ -1,7 +1,7 @@ /* snac - A simple, minimalistic ActivityPub instance */ /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ -#define VERSION "2.74" +#define VERSION "2.75-dev" #define USER_AGENT "snac/" VERSION @@ -209,6 +209,7 @@ int is_scheduled(snac *user, const char *id); void schedule_del(snac *user, const char *id); void schedule_add(snac *user, const char *id, const xs_dict *msg); xs_list *scheduled_list(snac *user); +void scheduled_process(snac *user); int limited(snac *user, const char *id, int cmd); #define is_limited(user, id) limited((user), (id), 0) -- cgit v1.2.3 From 848bd3e865fb2daf75d76cbb75a4a39f9b82b516 Mon Sep 17 00:00:00 2001 From: default Date: Sun, 13 Apr 2025 14:30:50 +0200 Subject: Cache the timezone inside the snac struct. --- snac.h | 1 + 1 file changed, 1 insertion(+) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 0d2aafe..5a19467 100644 --- a/snac.h +++ b/snac.h @@ -61,6 +61,7 @@ typedef struct { xs_str *actor; /* actor url */ xs_str *md5; /* actor url md5 */ const xs_dict *lang;/* string translation dict */ + const char *tz; /* configured timezone */ } snac; typedef struct { -- cgit v1.2.3 From 21a99e55081a58f1396d49fb70824f91a8e7c2ab Mon Sep 17 00:00:00 2001 From: green Date: Wed, 9 Apr 2025 03:09:53 +0200 Subject: emoji: refactor + emoji in display names on front page --- snac.h | 1 + 1 file changed, 1 insertion(+) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 0d2aafe..90f8bd8 100644 --- a/snac.h +++ b/snac.h @@ -373,6 +373,7 @@ int activitypub_post_handler(const xs_dict *req, const char *q_path, char **body, int *b_size, char **ctype); xs_dict *emojis(void); +xs_str *format_text_with_emoji(snac *user, const char *text, int ems, const char *proxy); xs_str *not_really_markdown(const char *content, xs_list **attach, xs_list **tag); xs_str *sanitize(const char *content); xs_str *encode_html(const char *str); -- cgit v1.2.3 From 8fbc8a3e14da59b9aa0640e5cc70d7556cf27c8d Mon Sep 17 00:00:00 2001 From: default Date: Wed, 16 Apr 2025 09:40:13 +0200 Subject: Version 2.75 RELEASED. --- snac.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 5a19467..9626c8b 100644 --- a/snac.h +++ b/snac.h @@ -1,7 +1,7 @@ /* snac - A simple, minimalistic ActivityPub instance */ /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ -#define VERSION "2.75-dev" +#define VERSION "2.75" #define USER_AGENT "snac/" VERSION -- cgit v1.2.3 From d8e640a4dac0dd83c15ba4bb4e314f8fd5e17357 Mon Sep 17 00:00:00 2001 From: grunfink Date: Mon, 28 Apr 2025 05:16:35 +0200 Subject: Bumped version. --- snac.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'snac.h') diff --git a/snac.h b/snac.h index c2e1507..06f9568 100644 --- a/snac.h +++ b/snac.h @@ -1,7 +1,7 @@ /* snac - A simple, minimalistic ActivityPub instance */ /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ -#define VERSION "2.75" +#define VERSION "2.76-dev" #define USER_AGENT "snac/" VERSION -- cgit v1.2.3 From 605b60c06ea882cd61df7f2d834c02cce6dd254d Mon Sep 17 00:00:00 2001 From: grunfink Date: Sat, 3 May 2025 19:16:21 +0200 Subject: New function enqueue_webmention(). The q_msg is queued, but nothing is done yet. --- snac.h | 1 + 1 file changed, 1 insertion(+) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 06f9568..d9d0cfd 100644 --- a/snac.h +++ b/snac.h @@ -289,6 +289,7 @@ void enqueue_close_question(snac *user, const char *id, int end_secs); void enqueue_object_request(snac *user, const char *id, int forward_secs); void enqueue_verify_links(snac *user); void enqueue_actor_refresh(snac *user, const char *actor, int forward_secs); +void enqueue_webmention(const xs_dict *msg); int was_question_voted(snac *user, const char *id); xs_list *user_queue(snac *snac); -- cgit v1.2.3 From 33647d2cb75077b7152a9727659b452a7727d42b Mon Sep 17 00:00:00 2001 From: grunfink Date: Fri, 9 May 2025 10:48:29 +0200 Subject: Version 2.76 RELEASED. --- snac.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'snac.h') diff --git a/snac.h b/snac.h index be5af07..e51fc18 100644 --- a/snac.h +++ b/snac.h @@ -1,7 +1,7 @@ /* snac - A simple, minimalistic ActivityPub instance */ /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ -#define VERSION "2.76-dev" +#define VERSION "2.76" #define USER_AGENT "snac/" VERSION -- cgit v1.2.3 From f321905d4bcdd4ae5b344f9b743ecdac35e3672f Mon Sep 17 00:00:00 2001 From: grunfink Date: Mon, 12 May 2025 09:43:11 +0200 Subject: Version 2.77 RELEASED. --- snac.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'snac.h') diff --git a/snac.h b/snac.h index e51fc18..64bc2bf 100644 --- a/snac.h +++ b/snac.h @@ -1,7 +1,7 @@ /* snac - A simple, minimalistic ActivityPub instance */ /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ -#define VERSION "2.76" +#define VERSION "2.77" #define USER_AGENT "snac/" VERSION -- cgit v1.2.3 From ee84140ecceb07dad8ea36cc5aa29b91bbb48a56 Mon Sep 17 00:00:00 2001 From: grunfink Date: Sun, 18 May 2025 08:23:48 +0200 Subject: Added a pending follow request count next to the "people" link. --- snac.h | 1 + 1 file changed, 1 insertion(+) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 64bc2bf..2ab9a67 100644 --- a/snac.h +++ b/snac.h @@ -159,6 +159,7 @@ int pending_check(snac *user, const char *actor); xs_dict *pending_get(snac *user, const char *actor); void pending_del(snac *user, const char *actor); xs_list *pending_list(snac *user); +int pending_count(snac *user); double timeline_mtime(snac *snac); int timeline_touch(snac *snac); -- cgit v1.2.3 From 00fd1a1c3eb99c9e441276a7ce8697a1582152b7 Mon Sep 17 00:00:00 2001 From: green Date: Sat, 29 Mar 2025 01:27:46 +0100 Subject: performance: functions to get the number of followers --- snac.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'snac.h') diff --git a/snac.h b/snac.h index 2ab9a67..256731f 100644 --- a/snac.h +++ b/snac.h @@ -153,6 +153,7 @@ int follower_add(snac *snac, const char *actor); int follower_del(snac *snac, const char *actor); int follower_check(snac *snac, const char *actor); xs_list *follower_list(snac *snac); +int follower_list_len(snac *snac); int pending_add(snac *user, const char *actor, const xs_dict *msg); int pending_check(snac *user, const char *actor); @@ -184,6 +185,7 @@ int following_del(snac *snac, const char *actor); int following_check(snac *snac, const char *actor); int following_get(snac *snac, const char *actor, xs_dict **data); xs_list *following_list(snac *snac); +int following_list_len(snac *snac); void mute(snac *snac, const char *actor); void unmute(snac *snac, const char *actor); -- cgit v1.2.3