Commit graph

143 commits

Author SHA1 Message Date
silverpill 78d66f8a06 Prevent interactions with reposts 2022-04-13 21:26:30 +00:00
silverpill 2fda205dbf Rename process_note() to import_post() and change its error type to ImportError 2022-04-13 19:19:19 +00:00
silverpill ec44fce526 Write warning to log when processing remote post of unexpected type 2022-04-13 19:00:27 +00:00
silverpill 513f10ab4f Write warning to log when encountering unexpected actor property type 2022-04-12 18:34:01 +00:00
silverpill 30bd3d6a37 Migrate to actix 4.0 and tokio 1 2022-04-10 19:14:45 +00:00
silverpill ed68b728be Avoid deconstruction when using path extractor
Preparing for migration to actix 4.
2022-04-09 17:11:41 +00:00
silverpill ee7ae3cd4f Implement instance blocks 2022-02-23 23:38:43 +00:00
silverpill 0727b739ed Move HTTP signature verification to receive_activity() function 2022-02-23 23:38:00 +00:00
silverpill 9bc8997fb5 Identify incoming followers-only posts 2022-02-18 17:57:11 +00:00
silverpill 82e24ad8b0 Validate and clean bio when profile is created or updated 2022-02-17 20:38:56 +00:00
silverpill 4e010f1698 Add profile data validation to get_or_import_profile_by_actor_id 2022-02-16 23:46:01 +00:00
silverpill 848de1d685 Set default tag type to Hashtag 2022-02-15 23:14:39 +00:00
silverpill d3e3c1eb3e Refactor struct conversion in create_account() handler 2022-02-14 22:08:35 +00:00
silverpill e756bbacf4 Add tests for note visibility detection 2022-02-13 20:12:31 +00:00
silverpill 79e7d960fb Log more details when processing non-public note 2022-02-13 16:42:01 +00:00
silverpill 6fc319f7dd Validate content of incoming Note objects 2022-02-09 13:53:11 +00:00
silverpill bf2e38a397 Add User-Agent header to fetcher requests 2022-02-08 19:51:40 +00:00
silverpill 9330038141 Add "subscribers-only" post visibility setting 2022-02-06 12:05:20 +00:00
silverpill 8e53214830 Fix parsing of mentions of local users 2022-01-21 12:34:41 +00:00
silverpill 269318da76 Accept Note attachments of type Image 2022-01-17 11:28:44 +00:00
silverpill 59a86ea827 Add "followers-only" post visibility setting 2022-01-15 20:40:37 +00:00
silverpill aea6db5acb Try to find actor by href when parsing mention tags 2022-01-14 00:16:54 +00:00
silverpill de37f606e3 Skip Note attachments with type other than Document 2022-01-08 21:23:21 +00:00
silverpill d4ab05ce1f Treat all notes that aren't public-addressed as direct messages 2022-01-08 19:24:23 +00:00
silverpill f0d021853a Refactor timeline and thread queries
Added tests for home timeline query.
2022-01-08 14:56:38 +00:00
silverpill f8bb82d6cb Set correct primary and secondary audience for direct messages 2022-01-07 22:28:34 +00:00
silverpill bce194ebda Show direct messages in timelines and threads 2022-01-07 20:44:36 +00:00
silverpill 81d60656e6 Set correct primary audience for Update(Person) activities 2022-01-04 21:55:35 +00:00
silverpill de1760230a Set primary audience of Delete(Note) activities to Public 2022-01-04 21:55:29 +00:00
silverpill 3e5f5b80d3 Set correct primary and secondary audience for outgoing Announce(Note) and Undo(Announce) activities 2022-01-04 21:36:52 +00:00
silverpill 7a373831fe Set correct primary and secondary audience for outgoing Create(Note) activities 2022-01-04 21:01:45 +00:00
silverpill c7ee5d94ce Write signer ID to log if actor ID and signer ID do not match 2022-01-04 14:42:03 +00:00
silverpill 5dc07c3742 Verify object ID when processing Update(Person) activity 2022-01-03 23:45:18 +00:00
silverpill d045df4232 Verify post/reaction author when processing Delete() and Undo() activities
Activity sender and the author must be the same.
2022-01-03 23:38:31 +00:00
silverpill adb5a6c651 Verify follow request target when processing Accept(Follow)
Activity sender and the target must be the same.
2022-01-03 23:22:52 +00:00
silverpill d4964878f2 Return error if actor and request signer do not match 2022-01-03 19:34:01 +00:00
silverpill d46165f397 Process Follow() activity even if relationship already exists 2022-01-02 23:50:37 +00:00
silverpill 9156dec5bb Convert actor_json value into Actor type when reading from database 2022-01-02 01:27:50 +00:00
silverpill 94aad001f8 Add in_reply_to field to Post struct
create_note refactored to accept Post without additional in_reply_to argument.
2021-12-31 19:44:17 +00:00
silverpill a9a99d7172 Update actor JSON object in database when receiving Update(Person) activity 2021-12-31 19:43:11 +00:00
silverpill 5b0a9ff931 Enable strict HTTP signature verification in inbox 2021-12-31 19:43:05 +00:00
silverpill 452894c224 Ignore Delete(Note) if post is not found in database 2021-12-30 14:45:31 +00:00
silverpill b2f341445b Skip signature verification when processing Delete(Person) activities 2021-12-29 20:54:36 +00:00
silverpill 580ba6dfba Make actor and object endpoints compatible with Mastodon fetcher 2021-12-29 18:36:50 +00:00
silverpill f9fca604a9 Make media_type property on Attachment type optional 2021-12-29 15:07:19 +00:00
silverpill 38ed905f47 Use profile importer in verify_http_signature function 2021-12-28 20:54:21 +00:00
silverpill f7211d2a14 Move profile importers to fetcher::helpers module 2021-12-28 19:54:59 +00:00
silverpill 2db43df631 Ignore Delete(Person) activities 2021-12-28 01:28:28 +00:00
silverpill 1936219b3d Increase maximum length of display_name to 200 chars and validate it on profile import 2021-12-28 00:58:12 +00:00
silverpill 51aea90158 Ignore Undo() if object is not found in database 2021-12-26 14:17:58 +00:00