Commit graph

709 commits

Author SHA1 Message Date
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 c546840787 Update actix crate 2022-08-18 18:05:18 +00:00
silverpill 9d501ac7f6 Update chrono and regex crates 2022-08-17 19:09:15 +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 5497f50977 Move CLI subcommands to cli module 2022-08-13 11:54:14 +00:00
silverpill 29402f0113 Remove --dry-run parameter from delete-extraneous-posts command 2022-08-11 23:17:57 +00:00
silverpill d2444826fc Prefer positional arguments in CLI commands 2022-08-11 23:12:07 +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 0e8943a24b Split config module into sub-modules 2022-08-09 22:31:59 +00:00
silverpill a804d0e8bb Add "published" property to outgoing Announce(Note) activities 2022-08-08 17:51:46 +00:00
silverpill fd632b4816 Use custom type for building Announce(Note) activity 2022-08-08 15:45:49 +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
silverpill 46526fd4be Add currency() method to DidPkh type 2022-08-04 15:44:48 +00:00
silverpill af0563759d Add CAIP-2 chain ID type 2022-08-04 15:38:26 +00:00
silverpill 3c8c0c7163 Move currencies module to utils 2022-08-04 12:34:31 +00:00
silverpill ce694cb88c Allow brackets around hashtags and mentions 2022-08-04 12:34:30 +00:00
silverpill 272ee9997b Don't return error after receiving Add() or Remove() with "featured" collection as target 2022-08-04 12:34:30 +00:00
silverpill 980d65fa5e Use exponential backoff when waiting for delivery retry 2022-08-04 12:34:25 +00:00
silverpill eb5e6b969b Make subscribers part of primary audience of Note 2022-07-29 09:33:40 +00:00
silverpill edc64bbbb2 Add tests for Delete(Note) activity builder 2022-07-29 09:31:15 +00:00
silverpill a70c841955 Fix audience of private Delete(Note) activity 2022-07-28 23:50:27 +00:00
silverpill aefed2479e Fix audience of private Undo(Like) activity 2022-07-28 22:42:43 +00:00
silverpill ecc4afe568 Append object URL to post content if object type is not Note 2022-07-28 22:04:14 +00:00
silverpill 85d35f9733 Wait for required number of confirmations before processing block 2022-07-28 13:14:12 +00:00
silverpill c47822ff53 Add tests for SyncState::get_scan_range method 2022-07-28 11:30:32 +00:00
silverpill 67c6b76bcb Refactor profile importers 2022-07-27 13:30:13 +00:00
silverpill bc1b73dd24 Ignore error if profile re-fetching fails 2022-07-27 12:36:42 +00:00
silverpill 1061220ee1 Reset subscriptions if update-current-block command is called with --reset-db parameter 2022-07-25 21:39:06 +00:00
silverpill 33a711b91c Attach subscription page link to actor object 2022-07-25 21:39:06 +00:00
silverpill 1554780b35 Add API method for adding subscription as payment option 2022-07-25 21:38:58 +00:00
silverpill e573ecb27b Add payment_options field to actor profile 2022-07-25 17:44:36 +00:00
silverpill cef026f89a Retry activity delivery on failure 2022-07-24 21:21:29 +00:00
silverpill 42cbe44357 Move functions for working with actor attachments to actors::attachments module 2022-07-23 22:03:09 +00:00
silverpill a00b704cf4 Rename actor module to actors::types 2022-07-23 21:41:49 +00:00
silverpill b185e1f391 Remove "capabilities" property from actor object 2022-07-23 20:26:40 +00:00
silverpill 5b0cfe1f6b Ignore errors when fetching avatar or banner of remote actor 2022-07-22 23:02:46 +00:00
silverpill 09b06c4fdb Allow to like private posts 2022-07-20 21:53:40 +00:00
silverpill 3a28219405 Read blockchain sync step and max reorg depth from config 2022-07-17 02:01:15 +00:00
silverpill 672ff5f0ac Handle incoming Add(Person) and Remove(Person) activities 2022-07-17 02:01:11 +00:00
silverpill 0a8e06995b Send Remove(Person) activity when subscription expires 2022-07-17 00:11:02 +00:00
silverpill 0f5a2edf7f Send AddPerson() activity when subscription payment is detected 2022-07-17 00:11:02 +00:00
silverpill acdb51e6f4 Add builder for Add(Person) activity 2022-07-17 00:11:02 +00:00
silverpill dcb5736d74 Use tokio::spawn instead of actix_rt::spawn 2022-07-17 00:03:43 +00:00
silverpill fd4d56c82b Make deliverer accept any serializable object 2022-07-16 14:48:37 +00:00
silverpill 9a38fb25bf Move AP ID parsers to activitypub::identifiers module 2022-07-16 14:10:56 +00:00
silverpill d2ba86315c Move AP ID helpers to activitypub::identifiers module 2022-07-16 01:49:48 +00:00
silverpill 34ecf56ccd Add actor collections enum 2022-07-15 23:53:31 +00:00
silverpill 75e4bfaaf7 Add tests for get_instance_actor() 2022-07-15 23:53:31 +00:00
silverpill 6f247ad40d Send notification to sender when subscription expires
Only if sender is local.
2022-07-15 23:53:21 +00:00
silverpill 85899e020f Set connect timeout to 30 secs in fetcher module 2022-07-14 17:47:18 +00:00
silverpill 9aa9130d05 Move audience helpers to activitypub::builders 2022-07-14 14:14:14 +00:00
silverpill c9bbf7020e Move Undo(Announce) builder function to builders::undo_announce_note module 2022-07-14 10:57:17 +00:00
silverpill 623e7c9c49 Move Announce(Note) builder function to builders::announce_note module 2022-07-14 10:44:39 +00:00
silverpill 1c4e75b0d8 Move Undo(Like) builder function to builders::undo_like_note module 2022-07-14 09:52:46 +00:00
silverpill 7103de2519 Move Like() builder function to builders::like_note module 2022-07-14 09:50:34 +00:00
silverpill 4f2979f568 Add more tests for activity builders 2022-07-14 09:08:55 +00:00
silverpill b89bd7e570 Move Accept(Follow) builder function to builders::accept_follow module 2022-07-14 08:14:24 +00:00
silverpill d29e27b114 Move Follow() builder function to builders::follow module 2022-07-14 08:14:04 +00:00
silverpill 3bfb7dc9eb Add command for deleting orphaned files 2022-07-12 22:54:38 +00:00
silverpill c9a71e0303 Check storage directory ownership at startup 2022-07-12 22:25:55 +00:00
silverpill 2bbe23cd89 Refactor "refetch-actor" command 2022-07-12 19:42:58 +00:00
silverpill c78af51398 Increase max size of profile field name 2022-07-12 19:03:44 +00:00
silverpill cedc6667bd Try to find profile by acct if couldn't find it by actor ID
This should prevent violation of unique constraint on "acct" column
when importing profile by actor ID.
2022-07-10 21:26:44 +00:00
silverpill 48331382c3 Remove duplicate tags when processing remote posts 2022-07-10 20:58:28 +00:00
silverpill 74eca31a53 Log more details about file errors during fetching 2022-07-10 20:15:47 +00:00
silverpill d831eb79e4 Add address() method to Actor type
Returns ActorAddress object.
2022-07-10 19:41:32 +00:00
silverpill e0a1141552 Check actor ID after fetching 2022-07-10 13:14:41 +00:00
silverpill 803e73b4da Improve logging of mention parsing errors 2022-07-10 13:05:37 +00:00
silverpill 145622e805 Move fetch_profile_by_actor_id to fetcher::helpers module 2022-07-10 13:05:30 +00:00
silverpill a06f1b4aba Use character count instead of bytes in validate_display_name() 2022-07-09 21:25:15 +00:00
silverpill 5d3e5dc693 Re-fetch remote profiles automatically 2022-07-09 21:25:11 +00:00
silverpill 2a626a1859 Replace fetch_profile() function with perform_webfinger_query() 2022-07-08 23:18:46 +00:00
silverpill d658c3e802 Add updated_at column to actor_profile table 2022-07-08 20:02:28 +00:00
silverpill d63c19a996 Add total numbers of local users and posts to NodeInfo response 2022-07-07 19:26:06 +00:00
silverpill 2a22a0bedd Add exclude_replies query parameter to /accounts/:id/statuses API method 2022-07-07 14:56:01 +00:00
silverpill 94bd5bdbb5 Remove duplicates before creating deletion queue 2022-07-06 22:39:27 +00:00
silverpill 255aca68de Allow hashtags to be followed by comma 2022-07-06 22:17:21 +00:00
silverpill 5fc17effaa Show only public posts in local timeline 2022-07-03 21:24:49 +00:00
silverpill 545dd6d92b Enable contract feature detection
Contracts updated to version 0.5.0.
2022-06-30 12:20:14 +00:00
silverpill 0f74175b29 Refactor scheduler module 2022-06-29 21:08:57 +00:00
silverpill 6615f372e2 Refactor load_abi to return ethabi::Contract type 2022-06-29 14:35:13 +00:00
silverpill f8aaeb01a7 Update contracts to v0.4.0
configureSubscription() method signature has changed.
2022-06-28 18:28:40 +00:00
silverpill 2f532307a1 Switch to incremental blockchain synchronization 2022-06-25 11:59:03 +00:00
silverpill b618c5b31f Use shared ContractSet object when verifing user during registration
Server will not start if blockchain configuration is invalid.
2022-06-23 22:03:51 +00:00
silverpill 6b06d6d18e Add mapping with additional blockchain info to instance API response 2022-06-22 21:38:04 +00:00
silverpill 6172d309bc Add task name to scheduler error messages 2022-06-21 17:41:16 +00:00
silverpill d8972a9286 Add CLI command for updating current block 2022-06-21 15:28:19 +00:00
silverpill 3bad313d01 Run subscription checker task every 5 minutes 2022-06-20 21:04:30 +00:00
silverpill f312fdff9e Show posts that mention user in home timeline
Even if visibility is not "direct".
2022-06-15 13:10:05 +00:00
silverpill 166a81ce6b Mention all recipients in subscribers-only posts 2022-06-15 12:42:15 +00:00
silverpill fd7ef7b9c1 Move get_note_recipients() to builders::create_note module 2022-06-15 12:09:36 +00:00
silverpill 8d8227c349 Move Create(Note) builder function to builders::create_note module 2022-06-15 11:27:06 +00:00
silverpill ab2aa5f197 Detect incoming subscriber-only posts 2022-06-14 23:49:20 +00:00
silverpill 0148343655 Use initial block number as lower bound when making log query 2022-06-14 21:31:42 +00:00
silverpill 91309e1a7b Don't return error when processing activity from blocked instance 2022-06-14 19:47:36 +00:00
silverpill 29ace97b0e Refactor process_nft_events function 2022-06-14 18:57:00 +00:00
silverpill 30f7f5d996 Initialize contract set in main() 2022-06-14 10:46:15 +00:00
silverpill f700d79754 Ignore subscription event if sender changes their ethereum address in profile 2022-06-05 19:42:48 +00:00
silverpill a526b507f3 Always log server errors 2022-06-02 20:04:36 +00:00
silverpill 669c581862 Send Delete(Person) activity when deleting local user 2022-06-02 16:28:40 +00:00
silverpill 90d0a6870e Refactor unfollow_account view 2022-06-02 03:28:58 +00:00
silverpill 1c098cb6b2 Add test for remote follow sequence 2022-06-02 03:28:58 +00:00
silverpill e82c6f31fb Move code for building Undo(Follow) activity to builders::undo_follow 2022-06-02 03:28:57 +00:00
silverpill 50986cd358 Move code for building Update(Person) activity to builders::update_person 2022-06-02 03:28:51 +00:00
silverpill 275e5ae5ca Send Delete(Note) acitivty when deleting post using CLI 2022-06-01 17:13:27 +00:00
silverpill ff892b0826 Handle Delete(Person) activities 2022-06-01 17:13:13 +00:00
silverpill a96d4fecfc Move Accept(Follow), Reject(Follow) and Undo() activity handlers to inbox module 2022-06-01 17:11:05 +00:00
silverpill 30da77dcf5 Move Follow() activity handler to inbox::follow module 2022-06-01 17:10:02 +00:00
silverpill 103a01f981 Move Like() activity handler to inbox::like module 2022-06-01 17:07:39 +00:00
silverpill 629ac7196b Move Announce() activity handler to inbox::announce module 2022-06-01 17:06:37 +00:00
silverpill 8bce89e6d1 Move Delete() activity handler to inbox::delete module 2022-06-01 17:05:09 +00:00
silverpill 30990c8af6 Define common return type for activity handlers 2022-06-01 17:03:29 +00:00
silverpill 1b1633d0b7 Rename activitypub::inbox module to handlers 2022-06-01 17:02:25 +00:00
silverpill 8407bbe842 Don't fetch signer when processing Delete(Person) activity 2022-05-30 20:21:21 +00:00
silverpill c89ee4fd7b Accept Delete(Person) activities if HTTP signature is correct 2022-05-30 17:35:52 +00:00
silverpill b95d409010 Add blockchain ID to instance API response 2022-05-28 22:43:38 +00:00
silverpill 4ffec71c24 Send notification when subscription payment is received 2022-05-28 19:00:24 +00:00
silverpill c2c3ff1544 Verify chain ID on start 2022-05-28 00:04:21 +00:00
silverpill 14cb90224f Do not return error if activity type is not supported 2022-05-27 23:08:41 +00:00
silverpill 28fad8986c Limit number of profiles in search results 2022-05-27 22:11:16 +00:00
silverpill f9689807e3 Expose login address via API only if it's verified 2022-05-27 21:58:18 +00:00
silverpill b9722afebe Require verified wallet address when minting NFT 2022-05-27 21:58:13 +00:00
silverpill a3716079d7 Remove duplicates when searching profiles by wallet address 2022-05-27 21:39:52 +00:00
silverpill 80880555bf Do not expose login wallet address via search
Login address is considered private unless verified.
2022-05-26 11:22:10 +00:00
silverpill dc8a7bed2e Require verified wallet address when setting up subscription 2022-05-26 10:42:04 +00:00
silverpill 424859772a Add summary (bio) to local actor objects 2022-05-24 17:57:06 +00:00
silverpill c734f3575f Fix invalid ID of Accept(Follow) activity 2022-05-23 08:21:26 +00:00
silverpill 6863fba96e Refactor update_actor() function, remove unwrap() 2022-05-22 19:02:37 +00:00
silverpill f2e61dd9a3 Add CLI command for re-fetching actors 2022-05-22 18:56:17 +00:00
silverpill 28ccd19c34 Verify actor ID after fetching
Request can be redirected so doing it before request is not reliable.
2022-05-22 18:27:03 +00:00
silverpill 61f0c5a546 Ignore Undo(Follow) if relationship doesn't exist 2022-05-22 16:31:58 +00:00
silverpill 5e7d3ab434 Don't expose wallet address in /api/v1/accounts/{account_id} response 2022-05-19 23:01:12 +00:00
silverpill 0a988b5439 Allow hashtags to be followed by colon or question mark 2022-05-16 17:46:40 +00:00
silverpill 9a20c7891f Fix bug in create_activity_like() 2022-05-13 18:18:09 +00:00
silverpill ee8b6c497d Replace actor ID in Mastodon API mentions with profile URL 2022-05-12 21:15:21 +00:00
silverpill 425a5d9331 Use "name" property if "content" is not available in get_note_content 2022-05-12 15:48:54 +00:00
silverpill e2d2e2e5de Save post CID and attachment CID in a single database transaction 2022-05-12 14:53:43 +00:00
silverpill 6c675c11c4 Add default configuration file to debian package 2022-05-12 14:53:37 +00:00
silverpill dad9640685 Set default EIP-4361 login message 2022-05-11 21:33:42 +00:00
silverpill dc34c980f6 Handle Update(Note) activities 2022-05-11 13:31:08 +00:00
silverpill 50699b5ab5 Don't use update_post() to set ipfs_cid, token_id and token_tx_id fields 2022-05-10 22:18:43 +00:00
silverpill b7849c8264 Check TX ID when saving token ID to database 2022-05-10 22:12:54 +00:00
silverpill 0268f6edc8 Save all post attachments to IPFS in make_permanent() 2022-05-10 20:22:23 +00:00
silverpill 75a4dec009 Update siwe-rs package to version 0.3.0 2022-05-09 19:58:42 +00:00
silverpill d090363698 Refactor activity builders 2022-05-09 17:14:13 +00:00
silverpill 1ea55b5d1a Add API method for getting local timeline 2022-05-09 00:02:36 +00:00
silverpill da6ceadd51 Add CLI command for deleting unused media attachments 2022-05-07 21:10:35 +00:00
silverpill f5b19f24c6 Change mutex log message level to debug 2022-05-06 19:55:28 +00:00
silverpill e6e7e6f42a Refactor Status API views 2022-05-06 19:39:17 +00:00
silverpill 54c32c5f00 Add user actions to statuses in search results 2022-05-06 18:27:33 +00:00
silverpill 783c482e9e Process incoming activities sequentially
This is a quick fix for race conditions occuring during handling of inbox requests.
2022-05-05 16:53:53 +00:00
silverpill ae4bfcf614 Add cargo feature for making production build 2022-05-04 22:06:12 +00:00
silverpill e927ed83ff Don't read environment parameter from config file 2022-05-04 20:44:27 +00:00
silverpill 379116605f Make HTTP signature verification compatible with GoToSocial 2022-05-02 23:34:49 +00:00
silverpill 5c0e6b0b0c Rewrite fetch_profile to accept ActorAddress object 2022-05-02 23:34:45 +00:00
silverpill b05a8b2757 Ignore forwarded Delete() activities 2022-05-02 20:57:39 +00:00
silverpill 260a3cedb2 Log request URL when profile fetcher fails 2022-05-02 20:45:42 +00:00
silverpill 75ef8bba7c Move import_post to fetcher::helpers module 2022-05-02 17:31:39 +00:00
silverpill 914fae8137 Move parts of import_post to inbox::create_note module 2022-05-02 16:43:13 +00:00
silverpill 787992265e Move Update(Person) activity handler to inbox::update_person module 2022-05-02 12:56:16 +00:00
silverpill b9ae2f07e7 Rename fetch_attachment to fetch_file 2022-05-02 00:01:57 +00:00
silverpill fd067713d7 Allow to search for usernames containing "-" character 2022-05-01 11:30:15 +00:00
silverpill fac0172159 Generate RSA key for instance actor automatically on the first run 2022-04-30 20:03:21 +00:00
silverpill a1af46f566 Change default login message and update config example
Consider "ethereum" auth flow deprecated.
2022-04-30 16:35:54 +00:00
silverpill 7ed919a295 Set max size for names and values of extra fields 2022-04-30 16:03:41 +00:00
silverpill 8755177eed Convert incoming questions and pages into posts 2022-04-29 13:21:00 +00:00
silverpill ff5f707cba Prioritize verified results when searching for profile by subscription address 2022-04-27 22:57:49 +00:00
silverpill 303827ffc6 Include results based on identity proofs when searching profiles by wallet address 2022-04-27 22:19:50 +00:00
silverpill a1af35997c Use currency enum instead of WALLET_CURRENCY_CODE constant 2022-04-27 22:19:14 +00:00
silverpill b384dcd4d2 Allow Tag objects without name property 2022-04-27 10:39:26 +00:00
silverpill 7a47c28034 Federate identity proofs as actor attachments
https://codeberg.org/silverpill/mitra/issues/7
2022-04-27 10:31:59 +00:00
silverpill 83fbbefaab Add test for get_local_actor() 2022-04-26 22:35:39 +00:00
silverpill 8deea0c867 Save submitted identity proofs to database 2022-04-26 20:43:39 +00:00
silverpill fd6b71073a Add IdentityProof type 2022-04-26 19:56:32 +00:00
silverpill 356592bc71 Add views for generating address ownership proof 2022-04-26 19:56:26 +00:00
silverpill e697461e70 Add function that performs address ownership verification 2022-04-26 19:32:08 +00:00
silverpill fc60bb78f2 Implement ToString and FromStr traits for SignatureData 2022-04-26 19:32:02 +00:00
silverpill bffe3bbe7d Don't hash initial message when making EIP-191 signature 2022-04-22 21:27:53 +00:00
silverpill a97456d77a Pass Actor object instead of Value when creating/updating profile 2022-04-21 23:10:30 +00:00
silverpill a9504de10d Add json_from_sql and json_to_sql macros 2022-04-21 23:10:24 +00:00
silverpill 536c7ecb21 Bump web3 to 0.18.0 2022-04-20 17:30:30 +00:00
silverpill e4c5440ec2 Increase max number of extra profile fields to 20 2022-04-20 14:41:25 +00:00
silverpill 997d9257af Improve descriptions of database errors 2022-04-20 14:05:09 +00:00
silverpill 04e851025b Enforce uniqueness of actor ID 2022-04-20 14:03:13 +00:00
silverpill 0715b7d64f Use actor ID for href field in mention tag
Mastodon also does this in latest version.
2022-04-20 14:02:39 +00:00
silverpill ffdda2ac51 Add recover_address() function
It can be used to recover ethereum address from signature.
2022-04-19 22:59:09 +00:00
silverpill 0d6807e5a2 Move address_to_string to ethereum::utils module 2022-04-16 22:32:50 +00:00
silverpill c0837bbf77 Create Atom feeds for local users 2022-04-16 19:37:45 +00:00
silverpill aa997e3a82 Make activity IDs deterministic 2022-04-14 18:33:18 +00:00
silverpill 0bc3c32fcd Allow value of "attachment" property to be an object 2022-04-14 15:58:29 +00:00
silverpill 56d1ebf9e5 Add include_reposts parameter to get_posts_by_author() func 2022-04-13 21:26:30 +00:00
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 f914702de9 Allow duplicate labels in extra profile fields 2022-04-12 15:11:26 +00:00
silverpill 4a1b75969f Replace actix-rt with tokio in scheduler module 2022-04-12 12:39:32 +00:00
silverpill 541894f4df Update clap to stable version 2022-04-10 19:51:03 +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 8a6dbca214 Change /reblog method to return repost info instead of original post
This is done to comply with Mastodon API spec.
2022-04-08 18:55:51 +00:00
silverpill 2ebcc10dcb Add comments to home timeline SQL query 2022-04-08 18:55:29 +00:00
silverpill 60b683b657 Allow to hide replies from given author from home timeline 2022-03-09 20:42:02 +00:00
silverpill bdce305b24 Change default PostgreSQL port 2022-03-09 20:41:56 +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 bf27903ee9 Drop database connection before starting HTTP server 2022-02-23 21:33:56 +00:00
silverpill 3a584f52b5 Add attachment type "video" 2022-02-23 17:55:53 +00:00
silverpill f14e762ee3 Allow to hide reposts made by given actor from home timeline 2022-02-23 16:55:25 +00:00
silverpill 0f47fa201d Move get_relationship function to mastodon_api module 2022-02-21 22:32:36 +00:00
silverpill c4a1da5349 Move RelationshipQueryParams type to types module 2022-02-21 15:27:25 +00:00
silverpill 8b4325ad96 Add CLI command that deletes old remote posts 2022-02-20 23:36:04 +00:00
silverpill 76106e4214 Delete media attached to descendants of posts when profile is deleted 2022-02-20 23:24:22 +00:00
silverpill 54277e410d Delete media attached to descendants of post when it is deleted 2022-02-20 23:24:17 +00:00
silverpill 9bc8997fb5 Identify incoming followers-only posts 2022-02-18 17:57:11 +00:00
silverpill 50630c004a Validate and clean extra fields when importing profile 2022-02-17 21:08:43 +00:00
silverpill 0993a3b38c Improve username validation 2022-02-17 20:39:18 +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 227e3d3729 Allow passwordless registration 2022-02-15 19:43:22 +00:00
silverpill 6ddfb5b52d Do EIP-4361 verification at signup 2022-02-15 01:35:02 +00:00
silverpill e8a29a3af1 Implement EIP-4361 authentication 2022-02-14 23:16:00 +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 a5d3aa488b Require replies to non-public posts to have direct visibility 2022-02-13 18:16:59 +00:00
silverpill 79e7d960fb Log more details when processing non-public note 2022-02-13 16:42:01 +00:00
silverpill 226fc49b86 Allow non-standard wrap width when parsing public keys in PEM format 2022-02-13 15:44:28 +00:00
silverpill e48a8999f5 Make /api/v1/accounts return validation error if user already exists 2022-02-11 21:32:37 +00:00
silverpill 0198a944ac Log successful login attempts 2022-02-11 20:40:56 +00:00
silverpill 49dc82fb0a Add decoding error type to VerificationError enum 2022-02-11 20:40:36 +00:00
silverpill 75fa39718c Add http_cors_allowlist configuration option 2022-02-10 23:35:23 +00:00
silverpill 6fc319f7dd Validate content of incoming Note objects 2022-02-09 13:53:11 +00:00
silverpill 2747e7b174 Add post character limit config option 2022-02-08 21:19:39 +00:00
silverpill bf2e38a397 Add User-Agent header to fetcher requests 2022-02-08 19:51:40 +00:00
silverpill f1fd0af6bc Remove blockchain_contract_name property from instance info 2022-02-08 18:32:54 +00:00
silverpill 0a2a145807 Optimize database queries in can_view_post() 2022-02-08 18:25:48 +00:00
silverpill 7d89f65b37 Hide posts that user is not allowed to view from search results 2022-02-08 18:00:30 +00:00
silverpill a63da82b85 Allow cross-origin requests from localhost in production environment
https://codeberg.org/silverpill/mitra/issues/5
2022-02-08 13:16:46 +00:00