Commit graph

447 commits

Author SHA1 Message Date
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 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 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 5c9aa0f148 Always put outgoing activities in a queue 2023-01-04 19:36:57 +00:00
silverpill bd158b0a1f Use background job to deliver Create(), Announce() and Like() activities 2023-01-01 20:25:20 +00:00
silverpill 7ccd29abf2 Add /api/v1/accounts/lookup Mastodon API endpoint 2022-12-28 00:53:58 +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 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 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 533cd81aa6 Switch to rust edition 2021 2022-12-15 19:54:51 +00:00
silverpill 68f7b046a1 Support manuallyApprovesFollowers property on actor objects 2022-12-14 09:34:45 +00:00
silverpill b0f9b3537e Add activity_id column to follow_request table 2022-12-13 00:13:55 +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 a3c3f97759 Rename modules 2022-12-06 23:29:59 +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 4ec5cf0f9b Render instance description to HTML
https://codeberg.org/silverpill/mitra-web/issues/3
2022-12-01 22:04:46 +00:00
silverpill a3ec1e7b58 Verify that actor alias exists before moving local followers 2022-11-27 22:04:53 +00:00
silverpill 4a42bcd369 Add API methods for creating user-signed Move() activities 2022-11-27 13:05:21 +00:00
silverpill 7511832fa0 Rename /signed_update API method to /send_activity 2022-11-26 21:13:37 +00:00
silverpill a6032386da Use enum to represent activity parameters during the signing process 2022-11-26 20:46:46 +00:00
silverpill fbcba1b99d Refactor send_signed_update view 2022-11-26 01:00:42 +00:00
silverpill dd268634ef Move change_password API method to /api/v1/settings/change_password 2022-11-26 00:17:01 +00:00
silverpill 5ff2d19837 Add expires_at field to Invoice object
Also increase timeout to 3 hours

https://codeberg.org/silverpill/mitra/issues/23
2022-11-25 15:04:46 +00:00
silverpill 2a9794f8f7 Add API methods for exporting followers and follows 2022-11-24 21:58:00 +00:00
silverpill 262b910638 Rename instance.host() to instance.hostname() 2022-11-24 13:27:10 +00:00
silverpill 301ade36a3 Use enum to define identity proof type 2022-11-23 01:04:55 +00:00
silverpill 5712c9099c Allow to search for profile by actor ID 2022-11-22 00:19:46 +00:00
silverpill 126c04febb Include local posts in search results 2022-11-21 22:06:06 +00:00
silverpill 49a55d888f Use multibase encoding for integrity proofs 2022-11-19 15:53:22 +00:00
silverpill 4a5bcba127 Change signature format in minisign integrity proofs 2022-11-19 15:52:20 +00:00
silverpill a46ceeb575 Use base64 encoding for JcsEip191Signature2022 integrity proofs 2022-11-19 15:52:20 +00:00
silverpill ec03476b58 Allow password login when token gate is disabled 2022-11-16 17:21:42 +00:00
silverpill 6765674118 Add token gate feature flag to instance info 2022-11-16 15:11:25 +00:00
silverpill 57c5ab3c4e Add API method for changing password 2022-11-15 22:43:49 +00:00
silverpill 445177d9a7 Add API method for revoking access token 2022-11-15 15:45:30 +00:00
silverpill c11daa21a0 Rename utils::crypto module to crypto_rsa 2022-11-13 21:31:04 +00:00
silverpill 4d85638d8c Move password utils to utils::passwords module 2022-11-13 21:30:59 +00:00
silverpill 8ad88f84b2 Support integrity proofs created with minisign 2022-11-11 00:53:23 +00:00
silverpill 64546ecabe Refactor signature verifiers 2022-11-11 00:53:23 +00:00
silverpill db00ad1623 Move signature suites to identity::signatures module 2022-11-11 00:53:23 +00:00
silverpill 38bb3e38e9 Expose all identity proofs when building Account object 2022-11-11 00:53:23 +00:00
silverpill cd93858488 Use canonicalized JSON for identity claims 2022-11-11 00:53:23 +00:00
silverpill 14a123ad7e Implement minisign identity proofs 2022-11-11 00:53:19 +00:00
silverpill 99f7b334d1 Change identity proof API to avoid key-to-DID converion at client side 2022-11-10 13:06:59 +00:00
silverpill 1bfb951df8 Move create_identity_claim to identity::claims module
Make it work with any DID type
2022-11-10 09:46:06 +00:00
silverpill a5c9da78ef Add DidKey type 2022-11-09 18:53:52 +00:00
silverpill dae6e9437b Use general Did type intsead of DidPkh in identity proofs 2022-11-09 18:15:50 +00:00
silverpill 4e53a5c4e4 Move DidPkh type to identity module 2022-11-08 22:45:59 +00:00
silverpill 75fe4df328 Implement EIP-191 integrity proofs 2022-11-02 16:08:34 +00:00
silverpill 1ec8cb4ddd Add views for signing Update(Person) activity 2022-11-02 16:08:34 +00:00
silverpill b700a8ac6d Return verified results when searching for DID 2022-11-02 16:06:19 +00:00
silverpill acad0f260b Perform post content cleaning at the end of validation process 2022-10-25 23:26:42 +00:00
silverpill a67a7b9b17 Remove character limit check 2022-10-25 19:49:48 +00:00
silverpill 862415d49b Refactor http_signatures module 2022-10-23 23:49:16 +00:00
silverpill 0063a14264 Send notifications when actor moves to another instance 2022-10-23 17:56:32 +00:00
silverpill 65661698c7 Pass instance as ref to activity builders 2022-10-22 11:33:23 +00:00
silverpill 01305475c3
Allow object links in replies 2022-10-20 18:07:01 +00:00
silverpill f6c3cbc0fa Prepare Delete(Note) before deleting post from database 2022-10-16 00:42:20 +00:00
silverpill a771e5e4fa Add support for object link microsyntax
Example: [[https://example.com/objects/1]].
2022-10-15 21:52:36 +00:00
silverpill 8d271fe4e3 Replace "quote" property on Status object with array of linked posts 2022-10-15 21:08:03 +00:00
silverpill 1f713d536e Allow to create posts with multiple object links 2022-10-15 21:07:57 +00:00
silverpill 0ce634564b Rename some functions 2022-10-15 13:08:50 +00:00
silverpill b26b2419ed Add support for posts authored in markdown 2022-10-14 16:00:39 +00:00
silverpill 33b04c9bdd Add optional content_type parameter to /api/v1/status data and set default to text/html 2022-10-13 19:19:11 +00:00
silverpill 187e46612d Remove unnecessary line breaks before inline-quote block 2022-10-11 20:02:47 +00:00
silverpill 81910f9591 Rename instance field in ActorAddress to hostname 2022-10-09 14:28:30 +00:00
silverpill 448b5afa88 Add line break before inline-quote block 2022-10-06 22:50:34 +00:00
silverpill c7499cb0dc Fix creation date in reposts 2022-10-04 23:29:29 +00:00
silverpill 6fd0c16997 Add instance stats to object returned by /api/v1/instance 2022-10-04 21:18:55 +00:00
silverpill 8b6aef2b7a Validate acct during profile creation 2022-10-04 00:31:21 +00:00
silverpill 429f530a71 Refactor ActorAddress type 2022-10-03 21:21:20 +00:00
silverpill cde324c07d Show only local profiles in profile directory 2022-10-02 21:23:16 +00:00
silverpill a685829472 Implement FEP-e232 and allow to add quotes to posts 2022-10-02 21:23:16 +00:00
silverpill 5862f49015 Remove Post.quote field and store linked posts in array 2022-10-02 21:23:16 +00:00
silverpill 7cedc909d7 Set max page size to 200 2022-09-29 22:53:18 +00:00
silverpill 81c590559e Use u16 when working with page size 2022-09-29 21:47:35 +00:00
silverpill f9465693a3 Allow remote posts without content 2022-09-29 15:37:26 +00:00
silverpill a8dae2a621 Enable hashtag search 2022-09-19 18:39:56 +00:00
silverpill dd6317561e Require subscription price to be positive number 2022-09-19 18:39:51 +00:00
silverpill a1ab21a702 Store requested payment amount for each invoice 2022-09-19 00:50:31 +00:00
silverpill bc0de60b5c Support searching by !group actor address 2022-09-19 00:50:23 +00:00
silverpill 02408ae57a Allow user to change subscription settings 2022-09-15 20:50:31 +00:00
silverpill 7600efccb5 Add subscribers_count field to Account object 2022-09-13 19:15:58 +00:00
silverpill 9f3b95c41d Mention all subscribers when creating subscribers-only post 2022-09-11 14:25:30 +00:00
silverpill 82ef4e054a Remove unnecessary assertion from create_account view 2022-09-09 10:28:24 +00:00
silverpill 8d78c6f38e Remove unused subscription_page_url property from Account object 2022-09-08 20:35:43 +00:00
silverpill 5b071f050b Rename /api/v1/subscriptions/enable to /api/v1/subscriptions/options 2022-09-08 10:05:34 +00:00
silverpill 596c13c0bb Remove deprecated Subscription API methods 2022-09-08 09:58:57 +00:00
silverpill 714b872a5d Prevent creation of invoices where sender is the same as the recipient 2022-09-07 11:57:25 +00:00
silverpill 86fe717a77 Add API method for checking invoice status 2022-09-07 10:48:40 +00:00
silverpill b0e79e26a4 Change invoice API to accept sender ID instead of acct 2022-09-06 19:08:50 +00:00
silverpill 982a8e8bc2 Add API method for searching profiles by username or acct 2022-09-06 19:08:50 +00:00
silverpill 6accf8ac2e Add API method for finding subscription by participants 2022-09-06 19:08:50 +00:00
silverpill 05e295744d Add information about payment options to Account object 2022-09-06 18:08:28 +00:00
silverpill f218936caa Create API method /api/v1/subscriptions/options 2022-09-06 17:54:51 +00:00
silverpill 26ae1036de Change representation of blockchain config in Instance API response
Allowed multiple blockchain configs.
2022-08-31 21:30:03 +00:00
silverpill b357b9bfa0 Rename chain_info config parameter to chain_metadata and define its type 2022-08-31 20:42:59 +00:00
silverpill 64fb51e92a Update subscription state after processing invoice 2022-08-31 20:42:59 +00:00
silverpill cd09fe0801 Add API method for generating invoices 2022-08-31 20:42:58 +00:00
silverpill 423eec0a2c Add MoneroSubscription payment option 2022-08-31 20:42:57 +00:00
silverpill 2ed8d44001 Add expires_at field to object returned by subscribers API endpoint 2022-08-31 20:42:56 +00:00
silverpill 260e62d51b Allow blockchain configuration to be defined using a list
Multi-chain configurations are still not allowed.
2022-08-31 20:42:55 +00:00
silverpill c5c3911de6 Require chain ID field in payment options of ethereum type 2022-08-29 22:28:34 +00:00
silverpill 690a03946e Use Currency enum to refer to CAIP-2 namespaces instead of chain IDs 2022-08-29 15:12:18 +00:00
silverpill ea4d15da48 Remove default_currency() method from config object
Preparing for multi-currency deployments.
2022-08-28 18:53:32 +00:00
silverpill b3fb1c612c Rewrite /api/v1/subscriptions/enable handler to support more subscription types 2022-08-26 15:57:35 +00:00
silverpill daaa0855a6 Use /api/v1/subscriptions prefix for subscription API methods 2022-08-25 19:16:46 +00:00
silverpill 742e731b95 Convert PaymentOption type into enum 2022-08-25 19:16:38 +00:00
silverpill 5e97debebb Add "quote" property to Status object and treat first link as a quote 2022-08-22 12:13:40 +00:00
silverpill d9def75b32 Create post_link table to store links between posts 2022-08-21 22:36:31 +00:00
silverpill fcf7db97cb Rename posts::tags module to posts::hashtags 2022-08-21 21:35:12 +00:00
silverpill 4dc94ed39b Return validation error if upload size exceeds limit 2022-08-18 22:39:53 +00:00
silverpill 3b56b29785 Refactor utils::files and move upload helpers to mastodon_api::uploads module 2022-08-18 21:26:24 +00:00
silverpill e2f8408b1e Search for subscription recipient by DID instead of login address 2022-08-15 22:02:11 +00:00
silverpill 5f24af4dbf Allow users of password auth to create identity proofs 2022-08-15 20:16:34 +00:00
silverpill a80c11b99c Allow users of password auth to use subscriptions 2022-08-15 20:16:03 +00:00
silverpill 596871e6e3 Rewrite wallet address validator to work with non-ethereum addresses 2022-08-15 15:45:21 +00:00
silverpill 7a48563593 Return error if EIP-4361 is used together with password 2022-08-15 11:46:21 +00:00
silverpill dc7d533c42 Allow blockchain config to have sub-types 2022-08-10 11:57:35 +00:00
silverpill c4e5438ac2 Parse chain ID into CAIP-2 ChainId type during blockchain config deserialization 2022-08-10 11:14:17 +00:00
silverpill a804d0e8bb Add "published" property to outgoing Announce(Note) activities 2022-08-08 17:51:46 +00:00
silverpill 1721eb4a88 Add API method for listing incoming subscriptions 2022-08-08 01:13:52 +00:00
silverpill bdcdb06c51 Add pagination headers to followers/following API responses 2022-08-07 18:27:28 +00:00
silverpill 450e47bcef Fix Access-Control-Expose-Headers header 2022-08-06 22:07:33 +00:00
silverpill 53ace3bf57 Add helper function for creating responses with pagination header 2022-08-06 22:05:48 +00:00
silverpill acb139b0ee Add API method for searching profiles by DID 2022-08-04 20:23:40 +00:00
silverpill 21df4fa35c Support search by DID 2022-08-04 18:33:17 +00:00