default
49362f5404
Convert image links in notes to attachments.
2023-05-21 20:32:23 +02:00
default
f136426a25
Minor refactor to msg_note().
2023-05-21 20:12:59 +02:00
default
d055b63a0d
More image tweaks.
2023-05-20 19:33:57 +02:00
default
a597eb7352
Improved default avatars.
2023-05-20 19:25:52 +02:00
default
93d1649ba6
New config option 'drop_dm_from_unknown'.
2023-05-17 11:24:47 +02:00
default
b5eaabe77e
When updating the user info, also spam the following list.
2023-05-17 10:49:46 +02:00
default
970ad7a540
Got rid of xs_encdec.h.
2023-05-17 10:08:57 +02:00
default
24f802be7e
Use a different approach towards incomplete mentions.
...
This time, incomplete mentions are completed using a) the host of
the first mention, if there are any, or b) the current host.
2023-05-12 19:01:53 +02:00
default
d35c949a13
Resolve (partially) the issue with mentions without server.
...
Mastodon (mainly from the API) usually include mentions without server,
which is just stupid. This patch tries to resolve these broken mentions in
process_tags() by looking for a user name starting with it in the already
pre-populated tag list. As of now, this only works if the message is an
inReplyTo and the broken mention is the one of the original
(attributedTo) poster.
2023-05-12 11:56:17 +02:00
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
default
a16600e330
Better 'Delete' message logging.
2022-10-20 10:34:32 +02:00
default
395f80bdc4
Added support for HEAD methods.
...
Mastodon uses them when it founds an attachment.
2022-10-16 19:00:17 +02:00
default
78ec3b077b
Media can be attached to notes.
...
The web interface limits this (by now) to only one
attachment, given the URL.
2022-10-10 09:03:15 +02:00
default
849913dc59
Use the time functions of xs_time.h.
2022-10-02 09:27:17 +02:00
default
be3191ee5d
Fixed crash.
2022-10-01 21:01:54 +02:00
default
366c23ab85
Also accept 'Delete' on input.
2022-10-01 19:48:13 +02:00
default
82e9a03925
Implemented 'Delete'.
2022-10-01 19:37:47 +02:00
default
37925a020e
timeline_request() also triggers an actor_request().
2022-10-01 18:48:05 +02:00
default
2c00c7b0b5
New web action 'Unfollow'.
2022-10-01 09:12:33 +02:00
default
fa9c90c00e
Add a date to a Follow message if it doesn't include one.
2022-09-30 18:12:32 +02:00
default
392c014c26
New function check_signature() (incomplete).
2022-09-29 14:44:24 +02:00
default
49bca7e273
html_entry() is built in its own string and then added.
...
This will be faster.
2022-09-29 09:11:43 +02:00
default
c5a7a9c475
Treat 410 Gone from actors specially.
2022-09-28 21:09:50 +02:00
default
2be2c07e9c
The input queue also has retries.
2022-09-28 20:41:07 +02:00
default
51ed24be47
If an actor cannot be retrieved, move the message back to the queue.
2022-09-28 20:24:47 +02:00
default
e4967cfcb3
Process 'Update' + 'Person'.
2022-09-28 20:08:02 +02:00
default
c38cc09e4c
Process 'Undo' + 'Follow'.
2022-09-28 19:59:19 +02:00
default
045498652f
'Announce' messages also try to bring the announced actor.
2022-09-28 07:12:16 +02:00
default
3b8a43013d
Check for muted actors in Announce messages.
2022-09-28 05:16:17 +02:00
default
03b0e105b5
Delete the _snac field in outbox.
2022-09-28 04:52:17 +02:00
default
32661d2be7
The outbox returns now some entries.
2022-09-28 04:48:23 +02:00
default
94ef803701
Timeline pages are also served.
2022-09-27 19:00:24 +02:00
default
66a7f633b3
Call process_tags() from msg_note().
2022-09-27 18:33:25 +02:00
default
b6c4906c6a
New function process_tags() (untested).
2022-09-27 18:20:25 +02:00
default
8ac32f0d81
'Accept' messages are processed.
2022-09-27 15:38:09 +02:00
default
05bf4b2c3c
New function msg_follow().
2022-09-27 15:28:08 +02:00
default
6144e0eeeb
More work in msg_note().
2022-09-27 14:50:13 +02:00
default
0b6540f503
Notes can be posted WOW!.
2022-09-27 14:07:36 +02:00
default
26a3b260d5
Started function not_really_markdown().
2022-09-27 09:38:46 +02:00
default
ec9115717b
'Follow' messages are now processed.
2022-09-27 07:54:05 +02:00
default
e550e86afb
Check the digest before enqueueing.
2022-09-27 07:16:46 +02:00
default
8f738e1417
Serve the actor as the correct content-type.
2022-09-26 12:29:26 +02:00
default
fd6f71bfe3
More work but signatures seem to still fail.
2022-09-26 11:19:45 +02:00
default
acc467c034
New function msg_admiration().
2022-09-26 10:08:14 +02:00
default
f410e3a40a
New function post.
2022-09-26 09:28:39 +02:00
default
c37a99b97c
New function is_msg_public().
2022-09-26 09:25:35 +02:00
default
e0e86d269a
Renamed to recipient_list().
2022-09-26 09:22:32 +02:00
default
46ee4a4a18
New function recipients().
2022-09-26 09:22:05 +02:00
default
74aef6994a
Link to local if the child id is from this actor.
2022-09-26 09:08:03 +02:00
default
5321295005
Resolve object id instead of discarding like or boost.
2022-09-26 07:19:45 +02:00
default
d1a2a7438d
New metadata 'referrer', that contains an actor.
...
This field contains the actor that boosted an entry.
2022-09-26 07:13:39 +02:00
default
b5be6a0172
Return the correct content-type.
2022-09-26 00:01:19 +02:00
default
d86f6ee27f
Backported from xs.
2022-09-25 22:57:18 +02:00
default
a63c9c24c1
Avoid crashing on empty q_items.
2022-09-25 21:55:29 +02:00
default
bf1ee12da2
More sign work (I'm tired).
2022-09-25 21:45:58 +02:00
default
e132ce5076
New function msg_actor().
2022-09-25 21:02:47 +02:00
default
6f7f98ded3
Fixed a bug in the digest header.
2022-09-25 18:50:53 +02:00
default
6169932733
New function timeline_request().
2022-09-25 18:28:15 +02:00
default
bb70101fec
New function timeline_admire().
2022-09-25 17:42:39 +02:00
default
4f328eec1f
Some fixes to timeline_add().
2022-09-25 09:07:43 +02:00
default
5792ef5d24
Process 'Create' messages (untested).
2022-09-25 07:58:25 +02:00
default
b070d2d8f8
The HTTP request headers are stored in a plain dict.
2022-09-25 07:42:57 +02:00
default
e9afd7cd13
More work.
2022-09-24 11:54:35 +02:00
default
a7202dcd1c
More message work.
2022-09-24 11:04:35 +02:00
default
ea57b47264
Started creating messages.
2022-09-24 10:43:57 +02:00
default
a6712ba79a
Also store the req object in enqueue_input().
2022-09-24 10:03:27 +02:00
default
3df33c845d
More ActivityPub work.
2022-09-23 23:49:09 +02:00
default
c181c57f56
New function enqueue_input().
2022-09-23 23:09:09 +02:00
default
b4a4fa0b0d
Fixed memleak.
2022-09-23 21:01:35 +02:00
default
6e6c315494
New function activitypub_get_handler().
2022-09-23 20:59:19 +02:00
default
1d694a245a
xs_httpd_request() also returns the payload.
2022-09-23 20:28:23 +02:00
default
bbf5471039
New function process_queue().
2022-09-23 19:37:01 +02:00
default
cf59d68491
New functions send_to_inbox() and send_to_actor().
2022-09-23 19:07:45 +02:00
default
6586be50a0
Fixed bug in actor_request().
2022-09-23 18:46:30 +02:00
default
a0bcc4e6c0
Improved activitypub_request().
2022-09-23 18:15:59 +02:00
default
bdc166111d
[activitypub.c] New file.
2022-09-23 17:33:33 +02:00