Commit graph

316 commits

Author SHA1 Message Date
default
2e27a805fc Minor refactor to msg_note(): the tag list is created here, not in process_tags(). 2023-05-12 10:33:59 +02:00
default
3d4bf235f0 Minor function prototype tweak. 2023-05-12 10:15:44 +02:00
poesty
e65760a349 Merge pull request 'master' (#1) from grunfink/snac2:master into master
Reviewed-on: https://codeberg.org/poesty/snac2/pulls/1
2023-05-07 07:27:24 +00:00
poesty
7d3a909598 Fixed webfinger and curl issues 2023-05-07 13:42:47 +08:00
default
d3a36218a6 Implemented 'Ping' and 'Pong' activities.
According to https://humungus.tedunangst.com/r/honk/v/tip/f/docs/ping.txt
2023-05-05 09:54:41 +02:00
default
980a8d524f Fixed more warnings. 2023-05-04 09:34:33 +02:00
default
185aac2387 Added -Wextra to C flags. 2023-05-04 09:28:36 +02:00
default
753eadfd17 Added some const here and there. 2023-05-04 09:25:09 +02:00
default
511f5062b7 Deleted real unused parameters. 2023-05-04 09:19:26 +02:00
default
21fa6c7904 Strip the query string in msg_follow(). 2023-04-23 14:33:53 +02:00
default
291f251ced Added mastoapi follow. 2023-04-23 08:44:26 +02:00
default
5b93e9069e Added mastoapi code for account search. 2023-04-23 05:33:54 +02:00
default
81100cb825 Posts can now be sent (still no images). 2023-04-15 19:05:26 +02:00
default
bd21d144de New function timeline_touch(). 2023-04-14 19:17:16 +02:00
default
a050be9107 Don't show the full tree in notifications. 2023-04-14 13:05:36 +02:00
default
bcde97c2d5 New function notify_add(). 2023-04-13 16:59:17 +02:00
default
2d5d63554c Started working on a notification list. 2023-04-13 15:32:13 +02:00
default
79224ca2b5 New function mastodon_status(). 2023-04-11 09:50:12 +02:00
default
5d26f31a8a Fixed overzealous rejection of Announces. 2023-04-05 23:23:19 +02:00
default
976083bf87 Some log tweaks. 2023-04-02 11:17:51 +02:00
default
c83b601f90 In is_msg_public(), also look at 'Announce' messages. 2023-03-31 19:09:59 +02:00
default
21e562cfbd Inbox collection can be disabled from the config file. 2023-03-08 10:14:40 +01:00
default
985bb474ba Enable back inbox recollection. 2023-03-07 10:29:50 +01:00
default
71394774f4 Disabled inbox recollection temporarily (for global re push). 2023-03-07 10:27:50 +01:00
default
35995d03be Reject messages not for me. 2023-03-07 10:04:13 +01:00
default
23177e9395 is_msg_for_me() also accepts msgs where a followed is cc'ed. 2023-03-07 09:40:55 +01:00
default
946c29773a Some improvements to is_msg_for_me(). 2023-03-06 20:07:44 +01:00
default
b032e3d522 Fixed is_msg_for_me(). 2023-03-06 14:35:11 +01:00
default
e3e45b7c98 New function is_msg_for_me(). 2023-03-06 14:28:53 +01:00
default
60f77b6cad msg_update() sends copies the 'to' and 'cc' fields in notes. 2023-03-06 11:26:43 +01:00
default
751211684f Don't send public admirations of non-public messages. 2023-03-06 11:16:15 +01:00
default
79ea0bf4ab Reject MUTEd actor messages ASAP with a 403 status. 2023-03-04 00:26:50 +01:00
default
45f490286a Send to collected inboxes AFTER sending to explicit recipients. 2023-03-03 06:04:40 +01:00
default
8451d66601 Log the user-agent when serving the actor. 2023-03-02 15:34:04 +01:00
default
1ca94dab67 Added user-agent in non-signed http connections. 2023-03-02 13:30:29 +01:00
default
5036cb5e11 Connection jobs are treated as urgent. 2023-03-02 12:38:02 +01:00
default
e705e5c3ed Show a bigger piece of a connection error. 2023-03-02 12:30:00 +01:00
default
4773d6c64c Output to the shared inboxes only the public messages. 2023-03-02 10:26:52 +01:00
default
d53d9af2be Enqueue messages to the collected inboxes first. 2023-03-02 09:28:19 +01:00
default
29b12498dd Simplified is_msg_public(). 2023-03-02 09:15:40 +01:00
default
e74ae0f589 Renamed inboxes/ to inbox/. 2023-03-02 09:01:08 +01:00
default
5e3c50d6e1 New inbox collection functions. 2023-03-02 08:43:50 +01:00
default
eb0c7eabbb Minor refactoring to actor_request().
Including commented out experimental code for collecting sharedInboxes.
2023-03-01 09:22:32 +01:00
default
d75a22adab New function srv_archive_error(). 2023-03-01 08:25:36 +01:00
default
1d82d13d62 In activitypub_request(), retry failed signed requests as non-signed. 2023-02-24 09:00:03 +01:00
default
2bfebba7be Don't wait for 3 seconds if there were some q_items processed. 2023-02-22 08:39:54 +01:00
default
3a97721c30 Unrolled the recipient-to-inbox process in process_user_queue_item().
Instead of calling inbox_list(), waiting for it to end and then
sending to all the "uniqueized" inboxes, the sending is done everytime
a unique inbox is found.
2023-02-20 13:19:29 +01:00
default
58c01be996 Use actor_request() again in get_actor_inbox().
This was faster, but some actors not already here (i.e. some
mentions) were not posted.
2023-02-20 10:02:21 +01:00
default
5230435b31 New boolean argument 'priv' to msg_note(). 2023-02-20 09:32:44 +01:00
default
9083bef5cb Don't try to send to empty email addresses. 2023-02-20 06:12:23 +01:00
default
f1f3e3b116 Email notifications can be disabled. 2023-02-20 06:00:54 +01:00
default
d3da67eaba Don't request the actor in get_actor_inbox(). 2023-02-15 06:01:47 +01:00
default
1af96788f0 Even more tweaks to connection reply logging. 2023-02-14 08:49:17 +01:00
default
e71c72f037 More tweaks to connection reply logging. 2023-02-14 08:32:07 +01:00
default
f832e6a508 Some tweaks to connection reply logging. 2023-02-14 08:26:39 +01:00
default
7e27ccfde8 Try to show a piece of the error after connecting. 2023-02-14 08:15:43 +01:00
default
f5d3859e07 Added the user to the notification. 2023-02-08 14:47:23 +01:00
default
944bd60e06 Deleted old output message processing in user queue. 2023-02-07 13:34:26 +01:00
default
4cca157641 Output messages are now processed by the pool of threads. 2023-02-07 13:31:48 +01:00
default
8f63c6259a Log unexpected q_item types. 2023-02-07 13:19:27 +01:00
default
7be01b7f34 Output messages are sent with send_to_inbox_raw(). 2023-02-07 10:33:58 +01:00
default
3ddf76c2aa New function send_to_inbox_raw(). 2023-02-07 10:29:06 +01:00
default
2db57c9df9 Added internals for Telegram notifications. 2023-02-07 07:37:23 +01:00
default
f6d51357af process_queue() now posts the q_item to the thread pool.
Instead of calling process_queue_item() itself.
2023-02-06 20:29:18 +01:00
default
b2d186cd0f The pool of threads now process q_items.
Also, the purge is commanded as a q_item.
2023-02-06 20:07:29 +01:00
default
71a7569467 Deleted the type argument from object_get_my_md5() and object_get().
It was never used.
2023-02-05 17:45:00 +01:00
default
d49089898f Elevated debug level to bad user / invalid user messages. 2023-02-03 16:51:59 +01:00
default
928f22fbba Email notifications have been moved to the global queue. 2023-02-02 05:21:16 +01:00
default
c639553836 New function queue() (the global queue). 2023-02-02 05:07:20 +01:00
default
108ed072e2 Renamed process_queue_item() to process_user_queue_item(). 2023-02-02 04:55:58 +01:00
default
8d22c448d4 process_queue() has been renamed to process_user_queue(). 2023-02-02 04:50:51 +01:00
default
106c94ef86 queue() renamed to user_queue(). 2023-02-02 04:47:59 +01:00
default
ee77e45abb dequeue() does not need a snac argument. 2023-02-02 04:44:30 +01:00
default
c2524323a9 New function process_queue_item(). 2023-01-31 22:30:34 +01:00
default
cabbdbe209 Deleted dead code. 2023-01-31 20:26:33 +01:00
default
94c4790bd7 Unified queue message field names. 2023-01-31 20:22:36 +01:00
default
4e86847f72 Image attachments in posts can now have descriptions ('alt text'). 2023-01-28 18:22:42 +01:00
default
756e8cb2a7 More tweaks to the default avatar. 2023-01-27 18:28:55 +01:00
default
aecfcacc32 Some tweaks to the default avatar. 2023-01-27 18:21:54 +01:00
default
a3ed2408fc New function default_avatar_base64(). 2023-01-27 18:17:11 +01:00
default
fd1e281cba Use a shorter timeout for first output connections. 2023-01-24 15:06:58 +01:00
default
2921dbe058 Always make ids unique. 2023-01-22 20:31:16 +01:00
default
7199c00403 In msg_note(), store the original content in the sourceContent field. 2023-01-20 10:09:32 +01:00
default
a38c7aeadc Updated year in copyright notices. 2023-01-17 09:50:16 +01:00
default
b262961c93 Process HTML Unicode entities specially in process_tags(). 2023-01-17 09:37:41 +01:00
Andrew Alderwick
3cb1725225 Added OpenBSD's unveil() and pledge() support. 2023-01-13 13:25:14 +01:00
default
11ba44ff9f Some mention formatting tweaks. 2023-01-13 07:12:19 +01:00
default
1d0ab9c156 Added (partial) support for #HashTags in posts. 2023-01-12 13:49:37 +01:00
default
6b344b8c2e Deleted unused argument in timeline_request(). 2023-01-11 20:51:15 +01:00
default
40b3f739d2 Deleted unused argument in timeline_admire(). 2023-01-11 20:47:36 +01:00
default
75f8554e38 Deleted unused arguments in timeline_add(). 2023-01-11 20:40:13 +01:00
default
1aac24ca75 More keyId/signature tweaks. 2023-01-11 09:38:19 +01:00
default
1438d046a5 Log tweaks. 2023-01-10 20:37:53 +01:00
default
23eb05ee99 Use the already loaded actor in check_signature(). 2023-01-10 18:21:00 +01:00
default
292d7c3e95 Fixed log level for 'serving actor'. 2022-12-24 07:05:01 +01:00
default
850259b269 Added a working space to timeline_request(). 2022-12-23 21:41:52 +01:00
default
e762d942de Don't rewrite the id unless it's different. 2022-12-23 21:30:18 +01:00
default
f9f6d96579 Corrected a debug level. 2022-12-23 12:32:59 +01:00
default
f83ff46b6b Fixed crash on some webfinger errors. 2022-12-23 12:20:54 +01:00
default
0bba515cf0 timeline_request() fixes the canonical id for the object. 2022-12-23 10:01:10 +01:00
default
a24b27bf29 Don't generate inReplyTo as an empty string. 2022-12-23 08:05:00 +01:00
default
8461fbfbcc Log the actor request. 2022-12-16 08:35:52 +01:00
default
e6c48cc96a In msg_note(), delete all cc recipients also in the to. 2022-12-16 07:51:10 +01:00
default
25acaf178c Replaced all calls to post() with enqueue_message(). 2022-12-16 07:16:00 +01:00
default
427f7341fa New function enqueue_message(). 2022-12-16 07:09:25 +01:00
default
286eb291c7 Lower debug level to repeated follows. 2022-12-15 16:43:01 +01:00
default
df612873d6 Log repeated Follow messages. 2022-12-15 16:37:34 +01:00
default
6a7007e381 Added support for Update + Note on input. 2022-12-15 11:06:31 +01:00
default
645e7ec43e Some code reordering to placate scan-build's wrath. 2022-12-14 04:55:47 +01:00
default
79270abd09 Log the response date in send_to_inbox() errors. 2022-12-11 09:08:12 +01:00
default
6fd5d14428 In process_queue(), do not retry for 404 or 410 status. 2022-12-10 10:36:31 +01:00
default
cef10f5678 Added level of debug for 'Delete' messages. 2022-12-08 08:19:24 +01:00
Alex Schroeder
a221237637 Pagination of the public and private page
Use the query parameters skip and show to control what you can see,
e.g. /alex/admin?skip=0&show=4

Don't use or save the timeline cache if either is set.

The following functions were changed from accepting a single max
parameter to accepting both skip and show:
timeline_simple_list, timeline_list, index_list_desc.
2022-12-06 18:27:33 +01:00
Alex Schroeder
20f862a651 Use "new" instead of "New" for log messages
The messages for new "Like" and new "Delete" started with an uppercase
n instead of a lowercase n like all the other log messages.
2022-12-04 10:35:01 +01:00
default
af6d31ff83 New function timeline_simple_list(). 2022-12-03 07:27:26 +01:00
default
a133427e8d More old code cleaning. 2022-12-02 20:56:51 +01:00
default
3e2891b100 Renamed timeline_here() to object_here(). 2022-12-02 20:44:51 +01:00
default
c06136a8ac Fixed one post queries. 2022-12-02 19:39:17 +01:00
default
33c8a73c17 Fixed RSS and outbox to use the new data storage. 2022-12-02 19:30:59 +01:00
default
c00e3afcdc Big data storage change. 2022-12-02 19:14:59 +01:00
default
e98dbe4eb5 Added the profile="" argument to Person content-type. 2022-12-01 19:38:11 +01:00
default
8b4dbfd708 Deleted dump of debugging code. 2022-11-28 17:54:32 +01:00
default
f209c3205d Use xs_set in recipient_list() and inbox_list(). 2022-11-28 15:49:56 +01:00
default
07fec71273 Upgraded followers to the new db. 2022-11-28 10:46:42 +01:00
default
832bbfd5eb Dump bad signature headers to /tmp/ (temporary). 2022-11-27 09:18:35 +01:00
default
a9d3e0ca79 I was using fclose() instead of pclose(). What a moron. 2022-11-27 09:09:55 +01:00
default
1243e26a0d New function object_add_ow(). 2022-11-26 05:18:48 +01:00
default
afeec970a3 Also call object_del() on a renewed actor in actor_request(). 2022-11-25 12:50:19 +01:00
default
e2c332c68a On Update + Person, call object_del() before actor_add(). 2022-11-25 12:09:30 +01:00
default
9145cca97a In msg_note(), also add the in_reply_to author as a tag.Mention. 2022-11-22 20:31:22 +01:00
default
f4bebf0323 Logging tweaks. 2022-11-18 18:08:09 +01:00
default
e6bf647b98 Always log process_queue sending. 2022-11-18 08:04:20 +01:00
default
f0e17d6753 Queue messages to inboxes instead of actors. 2022-11-17 18:33:54 +01:00
default
a12da31bdf Move send to actor logging to process_queue(). 2022-11-17 10:16:54 +01:00
default
35ad83e9ec Also log the inbox in send_to_actor(). 2022-11-17 09:16:25 +01:00
default
afce422785 Use endpoints/sharedInbox instead of inbox, if there is one. 2022-11-17 09:04:24 +01:00
default
21c676487a Set "u-url mention" class for mentions. 2022-11-13 15:15:16 +01:00
default
73323a7fc0 Some formatting refactoring. 2022-11-13 08:41:50 +01:00
default
2364d960b7 Fixed memory leak. 2022-11-07 19:37:05 +01:00
default
c0d5016e1e Use the newly resolved actor in msg_follow() instead of rewriting the old one. 2022-11-02 21:36:55 +01:00
default
dbe60be4f3 Fixed bug when following by @user@host. 2022-11-02 20:28:40 +01:00
default
1fd14a850d People page started. 2022-11-02 10:13:14 +01:00
default
34a2b47e85 Don't store objects other than 'Note' in timeline_request(). 2022-11-01 20:13:23 +01:00
default
78b3a30447 Some code moving to avoid false positive leaks. 2022-10-25 13:59:15 +02:00
default
2ab428ab0a Fixed leak. 2022-10-25 10:19:42 +02:00
default
084731fec2 Send notification emails through the queue. 2022-10-21 19:07:20 +02:00
default
6ffbb3a4fc Fixed typo. 2022-10-21 10:37:08 +02:00
default
d210674569 Don't notify about admirations of things by others. 2022-10-21 10:36:09 +02:00
default
6e470440f9 Rewritten notify() to write the message in bulk.
This was meant to avoid some 32 EPIPE from sendmail,
but it's still happening.
2022-10-21 10:26:45 +02:00
default
a52ed9be78 New function notify(). 2022-10-21 09:41:29 +02:00