Commit graph

873 commits

Author SHA1 Message Date
silverpill bd158b0a1f Use background job to deliver Create(), Announce() and Like() activities 2023-01-01 20:25:20 +00:00
silverpill 534812efa2 Implement activity delivery queue 2023-01-01 19:45:41 +00:00
silverpill b392d9164b Keep actor IDs when constructing OutgoingActivity 2023-01-01 19:44:50 +00:00
silverpill 1d234bd679 Stop generating reachability report after delivery 2023-01-01 19:40:43 +00:00
silverpill b4f68aaec8 Rename IncomingActivity type 2022-12-31 13:28:25 +00:00
silverpill 0ecf682984 Move activity queue helpers to activitypub::queues module 2022-12-31 00:07:10 +00:00
silverpill 471442a22a Set limit on a number of requests in import_post 2022-12-29 17:32:38 +00:00
silverpill 7ccd29abf2 Add /api/v1/accounts/lookup Mastodon API endpoint 2022-12-28 00:53:58 +00:00
silverpill de9bc7f35e Rewrite mention_to_address and parse_acct_uri, remove unnecessary regexp 2022-12-28 00:18:45 +00:00
silverpill e7b318c761 Make post and profile page redirections work in Mastodon 2022-12-27 20:29:44 +00:00
silverpill 7494d62858 Make post/profile page redirection work when web client service is enabled 2022-12-24 17:59:40 +00:00
silverpill dea6bcad2a Serve web client if configuration option is present 2022-12-24 17:20:16 +00:00
silverpill b14338d5f0 Move frontend module to web_client::urls 2022-12-24 17:09:44 +00:00
silverpill 209f520d28 Don't treat SVG files as images 2022-12-22 21:42:14 +00:00
silverpill 7b69dc9219 Use InstanceInfo.description field for HTML content
Also added description_source field for storing Markdown source.
2022-12-22 20:47:19 +00:00
silverpill bf92cebe5c Write activity ID to log if repost already exists in database 2022-12-21 19:21:21 +00:00
silverpill c4ad98126a Use media type hint when processing uploaded media attachment 2022-12-21 18:44:48 +00:00
silverpill 81c0f5e2bd Stop accepting pre-rendered bio/fields 2022-12-21 13:38:29 +00:00
silverpill a23a555a05 Add API method for generating post previews
https://codeberg.org/silverpill/mitra/issues/12
2022-12-20 22:47:52 +00:00
silverpill f7d9173cce Create parse_microsyntaxes() helper 2022-12-20 15:38:07 +00:00
silverpill 748521b5ce Refactor create_view() 2022-12-20 00:59:57 +00:00
silverpill 20e965a655 Remove PostCreateData.clean() 2022-12-20 00:59:57 +00:00
silverpill 2232bf814c Limit the number of database queries in find_linked_posts() 2022-12-20 00:59:57 +00:00
silverpill 04e74a6e05 Ignore object link if referenced post doesn't exist
Made it behave similarly to mentions.
2022-12-20 00:59:57 +00:00
silverpill f2df270a82 Remove duplicate inboxes when constructing OutgoingActivity 2022-12-20 00:59:57 +00:00
silverpill 4d31b9f9f9 Reject activities from blocked instances before verifying signature 2022-12-20 00:59:57 +00:00
silverpill a2f7140164 Fix rendering of mentions in bio 2022-12-20 00:57:45 +00:00
silverpill ee7a61833d Render markdown contained in bio and profile metadata values 2022-12-18 21:25:25 +00:00
silverpill 43a70fb93f Drop support for links property in status data 2022-12-18 17:52:46 +00:00
silverpill 0465aaf0c7 Don't auto-mention author of a linked post 2022-12-18 17:52:46 +00:00
silverpill 9872e40399 Fix clippy warnings 2022-12-18 17:52:40 +00:00
silverpill 2b8063990a Ignore mentions and hashtags inside code blocks 2022-12-18 00:38:29 +00:00
silverpill 67b1729621 Add comment about HTML headings and Pleroma 2022-12-17 23:44:00 +00:00
silverpill d0b826d1c0 Update chrono and remove time v0.1.44 from dependencies 2022-12-15 21:46:12 +00:00
silverpill 83193beabd Update monero-rpc to v0.3.2 2022-12-15 21:46:12 +00:00
silverpill d3bad8d38d Use HashMap::from in scheduler module 2022-12-15 19:54:55 +00:00
silverpill 533cd81aa6 Switch to rust edition 2021 2022-12-15 19:54:51 +00:00
silverpill 8e08195b44 Increase max number of allowed extra fields for remote actors to 100 2022-12-14 16:46:30 +00:00
silverpill a14c719d25 Ignore Announce(Dislike) activities 2022-12-14 16:34:30 +00:00
silverpill 68f7b046a1 Support manuallyApprovesFollowers property on actor objects 2022-12-14 09:34:45 +00:00
silverpill 53d9b2efa8 Keep posts that contain links to local posts when running delete-extraneous-posts 2022-12-14 09:34:45 +00:00
silverpill f2575a0a79 Add test for delete_post() 2022-12-14 09:34:45 +00:00
silverpill d2e2b684e3 Refactor deliver_activity_worker() and prepare for queue serialization 2022-12-14 09:34:40 +00:00
silverpill fcab5b000a Ignore Announce() activity if repost already exists but with a different object ID 2022-12-13 19:42:57 +00:00
silverpill 1b588a86e0 Handle non-nested Undo(Follow) activities 2022-12-13 01:12:42 +00:00
silverpill f2037c9516 Save activity ID when processing remote follow request 2022-12-13 00:54:38 +00:00
silverpill b0f9b3537e Add activity_id column to follow_request table 2022-12-13 00:13:55 +00:00
silverpill 8c14b18d5b Extract integrity proof before fetching actor 2022-12-12 22:54:49 +00:00
silverpill a85eaabf2f Process Announce() and Update() activities in background jobs 2022-12-12 22:54:43 +00:00
silverpill 50b8ad9de4 Create type for deserializing Undo() activities and remove Activity type 2022-12-12 21:15:08 +00:00
silverpill bb033e11df Create type for deserializing Delete() activities 2022-12-12 21:04:18 +00:00
silverpill 73e0b10a10 Create types for deserializing Add() and Remove() activities 2022-12-12 20:58:23 +00:00
silverpill f50609e4e5 Create type for deserializing Update(Person) activities 2022-12-12 20:58:23 +00:00
silverpill 72eabce15b Create types for deserializing Follow(), Accept() and Reject() activities 2022-12-12 20:58:20 +00:00
silverpill 1efbf5a3fb Process Create() activities in background jobs 2022-12-12 15:29:40 +00:00
silverpill 2bf16b260e Add handle_activity() function 2022-12-12 00:31:29 +00:00
silverpill c28585ef92 Implement job queue 2022-12-12 00:00:45 +00:00
silverpill e7d9733f96 Move scheduler to job_queue module 2022-12-11 21:06:44 +00:00
silverpill 7498fc9dba Move create_remote_profile() and update_remote_profile() to actors::helpers module 2022-12-11 14:57:57 +00:00
silverpill 5307a28111 Create type for deserializing Like() activities 2022-12-10 20:51:21 +00:00
silverpill 212db48d75 Add find_aliases() helper function 2022-12-10 20:51:16 +00:00
silverpill 2714378f22 Don't auto-mention author of a linked post 2022-12-10 19:01:11 +00:00
silverpill 64dbd8ff26 Accept attachments with type Video
Video attachments are used in PixelFed.
2022-12-10 19:01:11 +00:00
silverpill cc728afb7d Remove unused fields from Object and Activity types 2022-12-10 19:01:11 +00:00
silverpill f21f72b96e Create type for deserializing Move() activities 2022-12-10 19:01:04 +00:00
silverpill b7a1803715 Create type for deserializing Announce() activities 2022-12-09 23:07:19 +00:00
silverpill 04ee3e5106 Move activity parsing to handlers 2022-12-09 21:16:53 +00:00
silverpill e247941695 Reorganize handlers and remove unneeded modules 2022-12-09 20:22:48 +00:00
silverpill e6be1cde2d Refactor handle_undo_follow() function 2022-12-08 22:58:48 +00:00
silverpill 84c93fecf1 Refactor receive_activity() function 2022-12-08 22:11:15 +00:00
silverpill 999dd7e608 Don't fetch actor when verifying JSON signature on Delete(Person) activity 2022-12-08 16:31:26 +00:00
silverpill cd6968b15a Fetch actor before verifying JSON signature 2022-12-08 16:10:29 +00:00
silverpill a71c4ccc89 Refactor ActivityPub authentication helpers 2022-12-08 16:09:10 +00:00
silverpill 06e172d9fa Never ignore invalid HTTP signatures 2022-12-08 00:47:18 +00:00
silverpill d3db42ec9e Rename modules 2022-12-07 21:00:54 +00:00
silverpill e0053f19c7 Add handler function for Create() activity 2022-12-07 19:46:49 +00:00
silverpill c218d3ebce Don't match object type in receive_activity() 2022-12-06 23:59:33 +00:00
silverpill 67313dbac7 Create unified handler for Undo() activities 2022-12-06 23:53:30 +00:00
silverpill 648a217971 Create unified handler for Update() activities 2022-12-06 23:48:24 +00:00
silverpill a3c3f97759 Rename modules 2022-12-06 23:29:59 +00:00
silverpill d3819c67e6 Create dedicated types for all activities and remove create_activity() function 2022-12-06 21:07:26 +00:00
silverpill e5c1be2f93 Transform incoming events into posts
Support for Event objects from Rebased.
2022-12-06 19:54:44 +00:00
silverpill 777dd74373 Use Follow type to create embedded activity when building Undo(Follow) 2022-12-05 23:03:37 +00:00
silverpill 7c3d669e9b Use plain object ID instead of embedded activity in Accept(Follow) 2022-12-05 22:59:31 +00:00
silverpill 51318046a8 Create dedicated types for building Follow(), Accept(Follow) and Undo(Follow) activities 2022-12-05 22:53:09 +00:00
silverpill ff745cfe64 Add tests for build_undo_follow() and build_move_person() 2022-12-05 22:50:40 +00:00
silverpill 10cd778f40 Replace generic parameter in OutgoingActivity struct with Value type 2022-12-05 18:08:15 +00:00
silverpill d1939b10d5 Move DatabaseError to database module 2022-12-03 22:57:09 +00:00
silverpill 4185cbefb0 Rename Pool type to DbPool 2022-12-03 21:30:24 +00:00
silverpill 11ed4c1e48 Remove unnecessary as_str() conversions 2022-12-03 21:11:28 +00:00
silverpill 56427a4535 Catch error if media request returns 4xx or 5xx 2022-12-03 11:19:08 +00:00
silverpill 28aea5b023 Always set User-Agent header when using fetcher 2022-12-03 11:19:01 +00:00
silverpill 4ec5cf0f9b Render instance description to HTML
https://codeberg.org/silverpill/mitra-web/issues/3
2022-12-01 22:04:46 +00:00
silverpill 581e72ce65 Read HTTP signature expiration date from (expires) pseudo-header 2022-11-29 17:33:59 +00:00
silverpill 7d204ab150 Remove unknown classes during HTML sanitization 2022-11-29 16:46:00 +00:00
silverpill a3ec1e7b58 Verify that actor alias exists before moving local followers 2022-11-27 22:04:53 +00:00
silverpill ff7c6724a0 Accept Move() activities where object is local actor 2022-11-27 19:54:07 +00:00
silverpill df8c206cf0 Accept Move() activities coming from "target" actor 2022-11-27 19:53:57 +00:00
silverpill 73ef78f021 Search for aliases by DID when processing Move(Person) activity 2022-11-27 13:47:52 +00:00
silverpill 4a42bcd369 Add API methods for creating user-signed Move() activities 2022-11-27 13:05:21 +00:00