Commit graph

1026 commits

Author SHA1 Message Date
silverpill 4559f74881 Use "warn" log level for delivery errors 2023-02-04 22:00:03 +00:00
silverpill 8bb786c763 Set 10 minute timeout on background job that processes incoming activities
https://codeberg.org/silverpill/mitra/issues/24
2023-02-04 22:00:02 +00:00
silverpill e784476344 Add /api/v1/custom_emojis endpoint 2023-02-04 21:59:59 +00:00
silverpill 0b442f6a2c Ignore forwarded Like activities 2023-02-02 00:48:03 +00:00
silverpill 5a3ef41277 Append attachment URL to post content if attachment is too large 2023-01-31 19:03:03 +00:00
silverpill 01c894da9d Separate object URL handling from content validation 2023-01-31 19:03:03 +00:00
silverpill bc19a524c4 Replace post attachments and other related objects when processing Update(Note) activity 2023-01-31 18:47:34 +00:00
silverpill 86beb532e2 Refactor handle_note() function 2023-01-31 14:18:46 +00:00
silverpill f142bee72b Refactor create_post() function 2023-01-31 13:56:25 +00:00
silverpill 70455e5eeb Return "202 Accepted" when activity is accepted by inbox endpoint 2023-01-29 21:13:35 +00:00
silverpill f55431f8b8 Improve some error descriptions 2023-01-29 20:04:23 +00:00
silverpill 6f38eba80e Add https://w3id.org/security/data-integrity/v1 to JSON-LD context 2023-01-28 22:43:15 +00:00
silverpill 08c55cc71c Use proof suites with prefix Mitra 2023-01-28 19:47:44 +00:00
silverpill 385a11d6a7 Don't retry activity if fetcher recursion limit has been reached 2023-01-26 13:57:46 +00:00
silverpill 1f9669ad7c Add set-role command 2023-01-26 00:00:17 +00:00
silverpill 01f956b6ce Add configuration option for automatic assigning of "read-only user" role after registration 2023-01-26 00:00:14 +00:00
silverpill 2ea14635d2 Implement role system
https://codeberg.org/silverpill/mitra/issues/25
2023-01-25 23:59:39 +00:00
silverpill 771f45baab Add registration.type configuration option 2023-01-25 23:47:36 +00:00
silverpill b82c2f3fc6 Add missing <link rel="alternate"> element to Atom feed entries 2023-01-25 22:24:45 +00:00
silverpill 9fc87803e5 Add missing <link rel="self"> element to Atom feeds 2023-01-25 22:22:56 +00:00
silverpill 780b165a8b Improve Atom feed XML formatting 2023-01-25 22:09:32 +00:00
silverpill f52a55a387 Add approval_required and invites_enabled flags to InstanceInfo object 2023-01-25 20:30:51 +00:00
silverpill ce8f597501 Move parse_env() and parse_config() to config::loader module 2023-01-25 20:30:51 +00:00
silverpill 8dfb040b5f Refactor parse_env() function 2023-01-25 20:30:51 +00:00
silverpill 200675464e Replace config.version field with constant 2023-01-25 20:30:51 +00:00
silverpill e78e3c5102 Increase length of logged inbox response 2023-01-25 20:30:43 +00:00
silverpill fe6d99c5b1 Drop support for "blockchain" setting 2023-01-25 04:41:03 +00:00
silverpill e24f01a2b5 Allow custom emojis with image/apng media type 2023-01-22 23:52:17 +00:00
silverpill 42329328ec Create workspace and move mitractl to a separate crate 2023-01-22 20:50:28 +00:00
silverpill 203582f801 Add days_before_now() utility function 2023-01-22 20:40:05 +00:00
silverpill d09770913b Replace client-side tag URLs with collection IDs 2023-01-22 15:32:23 +00:00
silverpill be67972760 Add emojis to post previews 2023-01-21 23:00:21 +00:00
silverpill 97145efad9 Make delete-emoji command accept emoji name and hostname instead of ID 2023-01-21 22:56:52 +00:00
silverpill f6026293a5 Add test for create_attachment() 2023-01-21 22:56:52 +00:00
silverpill 75579eae4f Add support for emoji shortcodes 2023-01-21 22:56:46 +00:00
silverpill e8500b982b Add import-emoji command 2023-01-21 19:52:36 +00:00
silverpill b958b8fb4c Save sizes of media attachments and other files to database 2023-01-21 19:52:32 +00:00
silverpill e3b51d0752 Validate emoji name before saving 2023-01-21 12:41:37 +00:00
silverpill 99d45ee048 Create custom type for emoji images 2023-01-20 22:11:01 +00:00
silverpill 6c6eb731f9 Use usize type for file sizes 2023-01-20 01:00:15 +00:00
silverpill c26fc9235d Group imports in some modules 2023-01-19 22:00:04 +00:00
silverpill eb825bca04 Add fallback route for well-known paths 2023-01-18 18:25:40 +00:00
silverpill 2dda00e36c Fix .well-known paths returning 400 Bad Request errors 2023-01-18 17:47:23 +00:00
silverpill 441264f34c Allow emojis with image/gif media type 2023-01-18 16:45:51 +00:00
silverpill 6d6a41d3e5 Print HTTP socket address when starting HTTP server 2023-01-18 16:28:52 +00:00
silverpill 52112996c5 Try to fix federation with GNU Social 2023-01-18 13:26:04 +00:00
silverpill 6af5b8c24d Ignore Like() activity if local post doesn't exist 2023-01-18 01:14:21 +00:00
silverpill 01f56d9ef7 Use re-exported tokio_postgres::GenericClient trait 2023-01-18 01:01:45 +00:00
silverpill 0e68ea263c Increase max emoji size to 250 kB 2023-01-17 20:47:34 +00:00
silverpill fcb6554ebb Don't download HTML pages attached by GNU Social 2023-01-17 19:16:46 +00:00
silverpill 10c38400e4 Accept actor objects where value of "attachment" property is not an array 2023-01-17 18:04:16 +00:00
silverpill 6ba8434f40 Add delete-emoji command 2023-01-17 16:47:13 +00:00
silverpill 578629f8bd Add emoji array to Status object 2023-01-17 16:47:13 +00:00
silverpill 56e75895bd Download custom emojis contained in remote posts 2023-01-17 16:47:09 +00:00
silverpill 7b8a56dd8f Support "Public" audience identifier 2023-01-17 00:51:35 +00:00
silverpill 5064afd766 Change max actor image size to 5 MB 2023-01-16 20:34:24 +00:00
silverpill 5809cffa71 Prevent delete-extraneous-posts command from deleting post if there's a recent reply or repost 2023-01-16 13:01:56 +00:00
silverpill 73145a9af6 Add test for find_extraneous_posts() 2023-01-16 12:46:00 +00:00
silverpill 3ed610969e Add new types to supported media types list 2023-01-15 02:30:00 +00:00
silverpill 4d29c83365 Validate emoji tags 2023-01-15 02:14:02 +00:00
silverpill 143879caf9 Ignore deserialization errors when parsing object tags 2023-01-15 02:07:52 +00:00
silverpill a22ae40d8e Create SimpleTag and LinkTag types 2023-01-15 01:50:44 +00:00
silverpill 41fdb8abb0 Rename activitypub::activity module to activitypub::types 2023-01-14 23:31:38 +00:00
silverpill 72637fe80c Add mediaType property to images in actor object 2023-01-14 19:39:19 +00:00
silverpill 53138ea1c7 Don't fetch HTML pages attached by GNU Social 2023-01-14 19:38:28 +00:00
silverpill 7c07cd79bc Use "mediaType" property value to determine file extension when saving downloaded media 2023-01-14 02:10:06 +00:00
silverpill 85dbb6f392 Save downloaded media as "unknown" if its media type is not supported 2023-01-14 02:08:28 +00:00
silverpill 51cb72d142 Add test for get_note_author_id 2023-01-13 01:31:45 +00:00
silverpill 5c0672884a Log actor tags at debug level 2023-01-13 01:31:45 +00:00
silverpill cbc78f9532 Support "as:Public" audience identifier 2023-01-13 01:31:45 +00:00
silverpill 5c2685c785 Remove empty module 2023-01-13 01:31:45 +00:00
silverpill 143e6c2417 Accept webfinger requests where resource is actor ID 2023-01-13 01:31:45 +00:00
silverpill 48de6218eb Add webfinger test 2023-01-13 01:31:45 +00:00
silverpill 6d4a6806f4 Add Monero payout address validation 2023-01-13 01:31:45 +00:00
silverpill 56df3d82a0 Add /api/v1/settings/import_follows API endpoint 2023-01-13 01:31:41 +00:00
silverpill 7218864563 Don't stop activity processing on invalid local mentions 2023-01-11 21:55:40 +00:00
silverpill 2385601e12 Create get_or_import_profile_by_actor_address helper function 2023-01-11 21:55:35 +00:00
silverpill 0ede2093c5 Ensure get_profile_by_remote_actor_id returns profile with actor data 2023-01-11 21:44:42 +00:00
silverpill 22cf00fd98 Propagate database errors returned by importer in search_profiles_or_import() 2023-01-11 21:26:53 +00:00
silverpill 7247441693 Don't ignore Delete(Person) verification errors if database error subtype is not NotFound 2023-01-11 21:26:53 +00:00
silverpill 4c97246e3f Validate uploaded follower lists 2023-01-11 21:26:53 +00:00
silverpill 1511b5f22b Make ACTOR_ADDRESS_RE more strict 2023-01-11 21:26:52 +00:00
silverpill af332283ed Move ActorAddress type to webfinger::types module 2023-01-11 21:26:52 +00:00
silverpill c953d66c95 Return validation error on attempt to move followers from local actor 2023-01-11 21:26:52 +00:00
silverpill 5fec0c187d Sign Move() activity with server key 2023-01-11 21:26:48 +00:00
silverpill 8d41a94b94 Rename /api/v1/accounts/move_followers to /api/v1/settings/move_followers 2023-01-09 22:10:04 +00:00
silverpill 228299c5b7 Remove prepare_signed_update_person() function 2023-01-09 16:22:47 +00:00
silverpill 94d99e81c4 Support MitraJcsRsaSignature2022 and MitraJcsEip191Signature2022 signature suites 2023-01-07 23:06:23 +00:00
silverpill 65496e5260 Write values of actor tags to log 2023-01-07 20:47:42 +00:00
silverpill 44ce9a73a2 Save media types of uploaded avatar and banner images 2023-01-07 16:05:15 +00:00
silverpill 682cf09835 Store avatar and banner metadata as JSON objects 2023-01-07 12:22:33 +00:00
silverpill 65072ca3c5 Rename Image type to ActorImage 2023-01-07 12:08:15 +00:00
silverpill 6c850b0197 Move fetch_actor_images to actors::helpers module 2023-01-07 12:07:53 +00:00
silverpill f35e8d806f Refactor AccountUpdateData.into_profile_data() method 2023-01-07 13:18:58 +04:00
silverpill 1663d22b19 Add "configuration" object to response of /api/v1/instance endpoint 2023-01-06 17:10:48 +00:00
silverpill fe395480eb Set limit on number of media files that can be attached to post 2023-01-06 16:55:38 +00:00
silverpill 7a4be5dd5a Remove save_validated_b64_file() function 2023-01-06 16:10:26 +00:00
silverpill 7539533b69 Remove ability to upload non-images using /api/v1/media endpoint 2023-01-06 16:05:07 +00:00
silverpill 68e464c813 Don't sniff media type in save_file() 2023-01-06 15:41:09 +00:00
silverpill 5b3aa2a24b Fix federation with GNU Social 2023-01-05 19:55:17 +00:00
silverpill 5c9aa0f148 Always put outgoing activities in a queue 2023-01-04 19:36:57 +00:00
silverpill 30857868a0 Write tag value to log if tag type is Emoji 2023-01-04 17:40:17 +00:00
silverpill 498be66d8b Change actor status to "unreachable" if delivery to inbox fails 2023-01-01 21:48:23 +00:00
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