Commit graph

709 commits

Author SHA1 Message Date
silverpill
c95e983a3d Remove images from remote posts
To prevent tracking.
2022-10-13 11:01:54 +00:00
silverpill
187e46612d Remove unnecessary line breaks before inline-quote block 2022-10-11 20:02:47 +00:00
silverpill
47149e5379 Fix panic during post deletion 2022-10-11 19:52:41 +00:00
silverpill
81910f9591 Rename instance field in ActorAddress to hostname 2022-10-09 14:28:30 +00:00
silverpill
0a62fdac2b Remove target="_blank" and add rel="noopener" during HTML cleaning 2022-10-09 13:06:57 +00:00
silverpill
617ca19950 Allow user mentions without hostname 2022-10-08 22:14:42 +00:00
silverpill
5be7802bf1 Allow <p> tag in post content 2022-10-08 19:15:23 +00:00
silverpill
9cff428758 Improve mention and hashtag parsers
Don't rely on whitespace and newlines.
2022-10-07 22:51:05 +00:00
silverpill
da9bd480fb Add linked posts to notifications 2022-10-06 23:44:00 +00:00
silverpill
ea424b97a0 Allow <em> and <strong> tags in post content 2022-10-06 22:50:38 +00:00
silverpill
0548e6e72a Disallow <code> tags in bio 2022-10-06 22:50:38 +00:00
silverpill
448b5afa88 Add line break before inline-quote block 2022-10-06 22:50:34 +00:00
silverpill
9bc53b6734 Don't add FEP-e232 link tags to outgoing activities 2022-10-05 18:52:06 +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
fa49e2b4c2 Remove acct field from ProfileCreateData struct 2022-10-04 21:18:55 +00:00
silverpill
5c56f831db Rewrite DbActorProfile.actor_address() to return ActorAddress object 2022-10-04 21:18:38 +00:00
silverpill
a6c525f35d Add hostname column to actor_profile table and replace acct with generated column 2022-10-04 16:51:22 +00:00
silverpill
0c00dca7d3 Use actor address regexp for parsing acct: URI 2022-10-04 00:31:25 +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
54c8f241e4 Convert JSON payload deserialization errors into validation errors 2022-10-02 21:23:16 +00:00
silverpill
93ebdfadd4 Restrict module visibility and remove dead code 2022-10-02 21:23:16 +00:00
silverpill
7fdf1e7400 Add quoteUrl property to outgoing notes with object links 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
5b7979b9d4 Use add_related_posts helper in outbox and object views 2022-10-02 21:23:16 +00:00
silverpill
feca43dea7 Rename constants 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
b53a1298a2 Limit number of attachments in remote posts 2022-09-27 23:40:24 +00:00
silverpill
0ce0cd15c3 Don't show subscribers-only posts if viewer is not mentioned 2022-09-27 22:18:58 +00:00
silverpill
ce28c2e9fb Add totalItems property to followers, following and subscribers collections 2022-09-25 21:11:18 +00:00
silverpill
ed9b724895 Rename daemon_url parameter in monero config to node_url 2022-09-24 20:26:34 +00:00
silverpill
a8dae2a621 Enable hashtag search 2022-09-19 18:39:56 +00:00
silverpill
c488d5b5d4 Log attachment fetching errors 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
4bc4a5c2f8 Ignore Announce(Update) activities 2022-09-17 17:29:31 +00:00
silverpill
24303f00d0 Allow tag property value to be an object 2022-09-17 16:35:23 +00:00
silverpill
6a5bf06d74 Ignore Announce(Like) activities 2022-09-15 21:40:24 +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
5e8a95c646 Ignore Announce(Create) activities 2022-09-13 13:38:02 +00:00
silverpill
9aafe0eaf4 Ignore Accept(Follow) if follow request is already accepted 2022-09-12 23:39:08 +00:00
silverpill
d0f97a33b3 Write warning to log when signature creation date is not known 2022-09-12 21:02:33 +00:00
silverpill
458ca3fc3d Support (created) and (expires) pseudoheaders in HTTP signatures 2022-09-12 20:23:07 +00:00
silverpill
43eda37322 Replace Person object with target actor ID in Follow() activity
Following Lemmy communities.
2022-09-12 18:31:01 +00:00
silverpill
de80bd0b40 Populate "quote" field in reposted posts 2022-09-11 21:17:09 +00:00
silverpill
9f3b95c41d Mention all subscribers when creating subscribers-only post 2022-09-11 14:25:30 +00:00
silverpill
5122fe2b78 Don't forward payment until all outputs are unlocked 2022-09-11 09:37:54 +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
78b9fc7878 Create subscription relationship only if subscription is still active
This prevents spurious expiration notifications after withdrawals.
2022-09-08 09:53:32 +00:00
silverpill
79e161c131 Add reset-subscriptions CLI command 2022-09-07 20:23:54 +00:00
silverpill
98564c2573 Improve panic message in case of storage directory UID mismatch 2022-09-07 16:55:45 +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
383fc13059 Change invoice status to "timeout" after 30 minutes of inactivity 2022-09-06 22:32:32 +00:00
silverpill
b0e79e26a4 Change invoice API to accept sender ID instead of acct 2022-09-06 19:08:50 +00:00
silverpill
44aebf989a Fix monero subscription extension bug 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
ed98648756 Truncate inbox response text before logging it 2022-09-04 11:59:07 +00:00
silverpill
d2366589cf Truncate remote profile bio if it's too long 2022-09-04 11:45:56 +00:00
silverpill
0d7325f8f6 Increase max download size 2022-09-01 12:38:39 +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
4e73bff32e Implement payment forwarding 2022-08-31 20:42:59 +00:00
silverpill
6b60e9a0da Add periodic task for monitoring Monero payments 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
084e0064be Create invoice table 2022-08-31 20:42:58 +00:00
silverpill
423eec0a2c Add MoneroSubscription payment option 2022-08-31 20:42:57 +00:00
silverpill
703cae0a43 Modify create-monero-wallet command to accept wallet name and password args 2022-08-31 20:42:56 +00:00
silverpill
2eb7ec2f64 Add chain ID column to subscription table
Set chain ID to "eip155:31337" for existing entries.
2022-08-31 20:42:56 +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
cc6d9d7688 Refactor ethereum subscription monitor 2022-08-31 20:42:37 +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
8df8fd3c8c Add Monero to currencies enum 2022-08-29 12:12:26 +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
318d446dbd Add create-monero-wallet CLI command 2022-08-22 20:17:27 +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
f4d1e756d4 Fetch object referenced by quoteUrl property and create a link between posts 2022-08-21 23:45:49 +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
ee0095ce53 Perform consistency checks on reposts in Post::new() 2022-08-21 18:11:49 +00:00
silverpill
e51f5fa3bb Set limit on the size of remote media files 2022-08-18 22:57:58 +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
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