Commit graph

278 commits

Author SHA1 Message Date
silverpill
5d3e5dc693 Re-fetch remote profiles automatically 2022-07-09 21:25:11 +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
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
f312fdff9e Show posts that mention user in home timeline
Even if visibility is not "direct".
2022-06-15 13:10:05 +00:00
silverpill
f700d79754 Ignore subscription event if sender changes their ethereum address in profile 2022-06-05 19:42:48 +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
4ffec71c24 Send notification when subscription payment is received 2022-05-28 19:00:24 +00:00
silverpill
28fad8986c Limit number of profiles in search results 2022-05-27 22:11:16 +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
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
e2d2e2e5de Save post CID and attachment CID in a single database transaction 2022-05-12 14:53:43 +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
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
e6e7e6f42a Refactor Status API views 2022-05-06 19:39:17 +00:00
silverpill
fd067713d7 Allow to search for usernames containing "-" character 2022-05-01 11:30:15 +00:00
silverpill
7ed919a295 Set max size for names and values of extra fields 2022-04-30 16:03:41 +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
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
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
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
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
f914702de9 Allow duplicate labels in extra profile fields 2022-04-12 15:11:26 +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
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
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
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
227e3d3729 Allow passwordless registration 2022-02-15 19:43:22 +00:00
silverpill
e8a29a3af1 Implement EIP-4361 authentication 2022-02-14 23:16:00 +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
0a2a145807 Optimize database queries in can_view_post() 2022-02-08 18:25:48 +00:00
silverpill
9330038141 Add "subscribers-only" post visibility setting 2022-02-06 12:05:20 +00:00
silverpill
71fc2d9dad Save subscription state to database when processing blockchain event 2022-02-06 12:05:14 +00:00
silverpill
4e49f113e7 Add subscription relationship type 2022-02-05 23:53:01 +00:00
silverpill
464d4886fa Add wallet address to data returned by /api/v1/accounts/{account_id} method 2022-02-05 23:51:12 +00:00
silverpill
a3a0a6053d Add relationship type column to relationship table 2022-02-03 00:15:52 +00:00
silverpill
7de7f7a501 Refactor get_relationship function and optimize SQL query 2022-02-02 21:56:34 +00:00
silverpill
a81d0ef216 Remove get_relationships function and use get_relationship instead 2022-02-02 21:31:40 +00:00
silverpill
548e000b3e Add test for get_relationship function 2022-02-02 19:55:01 +00:00
silverpill
9f1f950aa3 Validate wallet address when logging in 2022-02-01 23:56:58 +00:00
silverpill
7e5917a821 Enable search by wallet address 2022-01-31 23:45:15 +00:00
silverpill
333f90e293 Validate wallet address when creating new user 2022-01-31 19:10:51 +00:00
silverpill
59a86ea827 Add "followers-only" post visibility setting 2022-01-15 20:40:37 +00:00
silverpill
cd8791c881 Add profile URL field to Account type 2022-01-15 00:18:17 +00:00
silverpill
f1f3829b8d Enable pagination for notification list 2022-01-14 22:02:22 +00:00
silverpill
aea6db5acb Try to find actor by href when parsing mention tags 2022-01-14 00:16:54 +00:00
silverpill
b8e87f13ac Fix visibility filter 2022-01-09 12:23:15 +00:00
silverpill
19f0a4bed6 Ensure visibility settings are not violated when creating a reply to non-public post 2022-01-09 12:10:20 +00:00
silverpill
f0d021853a Refactor timeline and thread queries
Added tests for home timeline query.
2022-01-08 14:56:38 +00:00
silverpill
3ff4c79f0d Add macro for building SQL queries 2022-01-07 22:12:31 +00:00
silverpill
bce194ebda Show direct messages in timelines and threads 2022-01-07 20:44:36 +00:00
silverpill
810e67f88e Refactor create_account view 2022-01-06 19:26:14 +00:00
silverpill
2d2ec704a2 Refactor can_view_post() into async function 2022-01-06 19:25:20 +00:00
silverpill
011951c129 Set up tests for database queries 2022-01-06 14:31:29 +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
6d331f7669 Allow calling follow/unfollow API methods multiple times
For compatibility with Mastodon.
2022-01-03 18:37:07 +00:00
silverpill
3993c76c65 Add API methods for retrieving followers and following lists 2022-01-02 22:06:25 +00:00
silverpill
40958500c1 Add ID column to relationship table 2022-01-02 15:52:20 +00:00
silverpill
c11cd26961 Move get_followers to relationships::queries module 2022-01-02 13:42:10 +00:00
silverpill
e2b5147502 Make profile search case-insensitive 2022-01-02 12:50:17 +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
f9fca604a9 Make media_type property on Attachment type optional 2021-12-29 15:07:19 +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
3662d1a558 Don't call get_relationship in relationships::queries::(un)follow 2021-12-26 15:06:21 +00:00
silverpill
81a260e691 Don't require wallet address during registration 2021-12-24 17:52:52 +00:00
silverpill
c628885c9e Refactor users::queries module 2021-12-24 16:12:19 +00:00
silverpill
c13b110ca2 Allow linebreaks after mentions 2021-12-22 00:07:07 +00:00
silverpill
fae3f5bc2f Refactor mention_to_acct to return detailed actor address 2021-12-19 22:15:20 +00:00
silverpill
d31d315517 Use mention tag name instead of href when parsing incoming notes 2021-12-18 01:09:43 +00:00
silverpill
f785541205 Delete accepted follow request when unfollowing actor 2021-12-17 22:35:39 +00:00
silverpill
a07f118159 Enable profile directory pagination 2021-12-16 23:09:08 +00:00
silverpill
cf69ac6eb2 Send Undo(Like) activity when post is unfavourited 2021-12-15 01:03:59 +00:00
silverpill
99f32e8202 Store IDs of incoming Like() activities 2021-12-14 22:59:15 +00:00
silverpill
42624ab9a5 Enable pagination on profile timeline 2021-12-14 16:20:16 +00:00
silverpill
816cae6b78 Link hashtags in posts to corresponding tag timeline pages 2021-12-12 19:16:32 +00:00
silverpill
da918d2296 Add API method for retrieving tag timeline 2021-12-12 18:42:09 +00:00
silverpill
a4dd06d6e9 Replace actor ID with actor URL in mentions, add microformats 2021-12-12 00:41:07 +00:00
silverpill
6c1126dc8a Remove target=_blank from mentions 2021-12-11 22:08:34 +00:00
silverpill
bcaf6a08c7 Fix repost notifications 2021-12-10 15:31:57 +00:00
silverpill
c4fdb46df7 Parse and store hashtags 2021-12-10 00:38:24 +00:00
silverpill
3be313a0bf Allow timeline to contain multiple reposts of a post 2021-12-09 14:53:10 +00:00
silverpill
82fe25d458 Remove repeated mention tags when processing activities 2021-12-08 00:15:29 +00:00
silverpill
e7955d8ebb Add get_post_author() to posts::queries 2021-12-05 01:46:25 +00:00
silverpill
c2d070c4fe Fix repost counter update query in delete_profile() 2021-12-04 15:25:20 +00:00
silverpill
d33899f56e Use token_tx_id field to find posts awaiting tokenization 2021-12-03 19:07:36 +00:00
silverpill
4b5b98135d Add API method for registering minted tokens 2021-12-03 19:07:32 +00:00
silverpill
e4f60695d8 Fix thread query 2021-12-02 13:38:45 +00:00
silverpill
e43e6c3d0a Paginate home timeline 2021-12-02 01:36:51 +00:00
silverpill
12c21d86f8 Use ULIDs instead of v4 UUIDs for identifiers 2021-12-02 01:36:35 +00:00
silverpill
b2150f9259 Reorder functions in posts::queries module 2021-12-01 21:58:18 +00:00
silverpill
0ec69adbe2 Refactor favourite/unfavourite API methods to make fewer DB queries 2021-12-01 14:46:09 +00:00
silverpill
683996aaf3 Send notification when user's post is reposted 2021-11-30 22:37:23 +00:00
silverpill
2111bae373 Send notification when user is mentioned 2021-11-30 22:20:20 +00:00
silverpill
47826628cd Add API endpoints for making and deleting reposts 2021-11-25 23:31:10 +00:00
silverpill
9b52fb730a Fix incorrect consistency check in Post::new() 2021-11-25 16:14:06 +00:00
silverpill
6d243d86e6 Refactor posts::helpers, remove get_actions_for_post function 2021-11-25 16:03:57 +00:00
silverpill
1d1618d6a2 Add uri attribute to Status object 2021-11-21 15:38:04 +00:00
silverpill
ac834fa99a Add object_id null value check to Post::new(), prevent panics 2021-11-21 15:21:10 +00:00
silverpill
65375ee2cd Don't send notification if user is liking or replying to his own post 2021-11-21 14:38:36 +00:00
silverpill
22fa619a16 Make "to" property optional on Activity object 2021-11-21 13:48:38 +00:00
silverpill
562f92512e Check view permissions when interacting with post 2021-11-20 01:14:43 +00:00
silverpill
c578d8536f Hide private posts from threads 2021-11-20 01:14:37 +00:00
silverpill
294e2f201b Hide private posts from home timeline, show replies 2021-11-19 21:44:58 +00:00
silverpill
5547403200 Use macros to create FromSql/ToSql implementations for int enums 2021-11-19 17:47:26 +00:00
silverpill
cf5d4db031 Hide direct messages from profile timeline 2021-11-19 00:32:22 +00:00
silverpill
4f5930dcf1 Set post visibility to public by default 2021-11-18 21:55:22 +00:00
silverpill
a6f2f2f4f1 Fix bug in deletion queue processing 2021-11-18 11:37:17 +00:00
silverpill
c473070fd4 Configure linter and fix its warnings 2021-11-13 17:37:31 +00:00
silverpill
8da194e8a2 Add User constructor 2021-11-12 23:12:28 +00:00
silverpill
3d537f5987 Properly catch violations of unique constraint 2021-11-12 23:10:20 +00:00
silverpill
a8ae3b6c81 Add "mention" class to mention links 2021-11-11 22:11:14 +00:00
silverpill
2bfb6253f8 Federate mentions 2021-11-11 21:51:47 +00:00
silverpill
4da44159ed Store mentions in database 2021-11-11 20:24:47 +00:00
silverpill
06010e4403 Avoid repeating attachment subquery in post queries 2021-11-11 19:24:47 +00:00
silverpill
fa7bff4b31 Add mention parser 2021-11-11 18:35:54 +00:00
silverpill
0fd7c0fae3 Add actor_id method to actor profile type 2021-11-10 17:21:55 +00:00
silverpill
aa1ef71857 Refactor some mastodon API modules 2021-11-07 13:37:36 +00:00
silverpill
fbb0bc01cd Add API methods for creating timeline markers 2021-11-03 23:29:11 +00:00
silverpill
64dddf3f7e Hide replies from profile feed 2021-11-01 20:49:36 +00:00
silverpill
29940b5541 Notify user about new reactions 2021-10-29 12:30:28 +00:00
silverpill
6c050a37e6 Sort notifications 2021-10-29 11:54:22 +00:00
silverpill
b50da3e3a4 Create notification only if recipient is local user 2021-10-29 11:54:17 +00:00
silverpill
486c819bc3 Add API method for unmarking favourite posts 2021-10-19 00:05:55 +00:00
silverpill
b6be5c8489 Add action attributes to Status entity when served to authorized user 2021-10-19 00:05:55 +00:00
silverpill
d2462e9e96 Add API method for marking posts as favourite 2021-10-19 00:05:50 +00:00