Commit graph

37 commits

Author SHA1 Message Date
35ff50746c Slon/Api/V1/Statuses: Implement Boosts
Fixes #4
2025-03-15 20:28:04 -04:00
57ab5d1d1f Slon/Modules/ActivityPub: Translate Announce requests to Boosts
When we receive an Announce from someone we are following, we will
lookup and/or create the author of the boosted status, followed by the
status itself, which will be attached to a new status from the followed
user as a "reblog" object. Partially implements #4.
2025-03-15 18:22:48 -04:00
c4ec8ae999 Slon/Modules/ActivityPub: Add http_signature_is_always_valid option
For testing purposes, we can set http_signature_is always_valid to any
value in the db settings Object. This allows us e.g. to replay
ActivityPub payloads using curl, without having to deal with signatures
while we are implementing new features.
2025-03-15 18:02:47 -04:00
fd8d6ca2b7 Slon/Modules/ActivityPub: Fix offset for HTTP signatures (for now) 2025-03-12 09:05:42 -04:00
d5a09373e4 Everywhere: Update JSON API 2025-03-09 19:39:44 -04:00
b0c1016955 Slon/Modules/ActivityPub: Pass actor as argument to @slon_activitypub_get_account_for_remote_actor 2025-03-06 15:09:57 -05:00
74455c59ab Slon/Modules/Db: Add @slon_db_save_status_to_disk() to save an individual account's statuses 2025-03-06 15:03:05 -05:00
aded79c192 Slon/Modules/Db: Save/load accounts to/from individual JSON files 2025-03-06 10:54:25 -05:00
64f31de070 Everywhere: Use slon_mem_task for memory allocation 2025-03-06 09:54:26 -05:00
5333b64917 Everywhere: Store statuses by account id, generate timelines as array of object:account_id,status_id 2025-03-05 13:43:35 -05:00
27fa0f8aad Slon/Api/V2/Media: Add support for Catbox API 2025-03-02 15:08:39 -05:00
b104551bbd Slon/Api/{V1,V2}/Media: Implement PUT /api/v1/media, POST /api/v2/media 2025-03-01 19:46:13 -05:00
b487e381e8 Slon/Modules/ActivityPub: Associate replies with known statuses 2025-02-28 10:21:02 -05:00
c44f5b482e Slon/Modules/ActivityPub: Use atomUri as idempotency key for Create status requests 2025-02-23 09:25:03 -05:00
6ee0f037f6 Slon/Modules/ActivityPub: Always send the Accept request to signatory, rather than the actor specified in the object 2025-02-23 09:23:09 -05:00
430e92cbe0 Slon/Modules/ActivityPub: Sign GET request in @slon_activitypub_http_signature_is_valid 2025-02-23 08:20:56 -05:00
89e70359c4 Slon/Modules/ActivityPub: Remove invalid newline when building headers for signing GET request 2025-02-23 07:26:08 -05:00
8838d0446d Everywhere: Deduplicate local account creation for remote actors in @slon_accounts_create_local_for_remote_actor 2025-02-22 21:43:19 -05:00
1a5aa1e22c Slon/Modules/ActivityPub: Fix typo passing http_headers to Http.Get 2025-02-22 21:41:48 -05:00
045893b6c6 Everywhere: Be more granular with @db_save_* calls 2025-02-22 20:38:35 -05:00
a9f5a1de0c Slon/Modules/ActivityPub: Deduplicate signed requests into @slon_activitypub_signed_request 2025-02-22 19:25:23 -05:00
66074a5472 Everywhere: Use session->path() 2025-02-21 18:10:25 -05:00
545d408512 Everywhere: Make session->path(), session->path_count() callable 2025-02-21 16:51:22 -05:00
3728d56ea0 Everywhere: Make session->verb() callable 2025-02-21 11:13:31 -05:00
2b03e16583 Slon/Modules/ActivityPub: Don't assume actor is signatory when fetching public key for signature verification 2025-02-20 11:44:43 -05:00
e757758289 Slon/Modules/ActivityPub: Allow federated replies to posts on user's home timeline 2025-02-19 22:56:22 -05:00
71c8db66f1 Everywhere: Make session->header() callable 2025-02-19 21:53:31 -05:00
6813c13ab3 Everywhere: Make session->status() callable 2025-02-19 21:07:09 -05:00
ca8e7ae7f6 Slon/Modules/ActivityPub: Accept statuses to/cc followed actors 2025-02-19 11:51:46 -05:00
591bd3ecbb Slon/Modules/ActivityPub: Propagate create/delete statuses to followers 2025-02-17 18:21:59 -05:00
16d65c88ee Slon/Api/V1/Accounts: Implement Follow 2025-02-17 17:39:49 -05:00
3312c86836 Slon/Modules/ActivityPub: Send smol Accept request to ack Create, instead of sending the entire message contents 2025-02-17 16:37:20 -05:00
65332a0938 Slon/Modules/ActivityPub: Remove format_content used for testing 2025-02-17 15:30:44 -05:00
6e26475062 Slon/Modules/Db: Update SLON_MISSING_ACCOUNT_AVATAR link 2025-02-17 11:32:06 -05:00
d638282461 Slon/Modules/ActivityPub: Set remote_actor when creating remote account 2025-02-16 20:46:09 -05:00
fecfa23ddd Slon/Modules/ActivityPub: Add initial support for receiving remote statuses to local inbox 2025-02-16 20:35:44 -05:00
52cb92f587 Meta: Add files to repository 2025-02-16 15:21:19 -05:00