Commit graph

1815 commits

Author SHA1 Message Date
Mark Felder 943820ae29 More unused variables 2018-05-04 21:16:02 +00:00
Mark Felder ab4aa5720a Fix a bunch of unused variable warnings 2018-05-04 20:59:01 +00:00
William Pitcock a3d1d4894f ActivityPub core: fix handling of unlisted statuses by leveraging a similar strategy as for blocks 2018-04-28 22:32:46 -05:00
lain 4d55d7c95e Insert object after being rewritten. 2018-04-28 16:10:24 +02:00
lambda a7a40bb8f1 Merge branch 'fix/blocked-user-boosts' into 'develop'
ActivityPub.ex: do not return boosted statuses from blocked users.

See merge request pleroma/pleroma!111
2018-04-28 13:49:12 +00:00
William Pitcock 90bbd94614 ActivityPub MRF SimplePolicy: fix media stripping 2018-04-25 16:28:53 -05:00
Francis Dinh 2d775bf1be Merge branch 'feature/unrepeats' of git.pleroma.social:normandy/pleroma into feature/unrepeats 2018-04-25 01:58:50 -04:00
Francis Dinh 9e0dd21ed6 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into feature/unrepeats 2018-04-25 00:46:28 -04:00
lain c78e7d8b11 Fix formatting. 2018-04-24 21:25:31 +02:00
lambda 7a52c4549c Merge branch 'feature/message-rewrite-facility' into 'develop'
message rewrite facility

See merge request pleroma/pleroma!112
2018-04-24 17:21:28 +00:00
Dashie 9972678a68
Add User.decrease_note_count and call it from ActivityPub.delete 2018-04-24 11:34:18 +02:00
Francis Dinh 8c0806539c Embed announce activity data instead of linking to it 2018-04-22 21:28:51 -04:00
Francis Dinh b1742eca42 Revert "Rename make_unannounce_data helper to make_undo_data"
This reverts commit c649ca8958.
2018-04-22 19:42:28 -04:00
Francis Dinh c649ca8958 Rename make_unannounce_data helper to make_undo_data
This makes it a bit more easier to adapt for unlikes as well in the
future.
2018-04-22 01:55:41 -04:00
eal 22bfeac256 Update note count in ActivityPub.create. 2018-04-21 12:58:04 +03:00
lain 9e6ae44729 Formatting fixes. 2018-04-21 09:43:53 +02:00
Francis Dinh f0798440de Use correct activity for undo 2018-04-20 23:22:16 -04:00
Francis Dinh 4b9f2ab526 Fix federation of unreblog activity 2018-04-20 23:09:19 -04:00
nenolod@dereferenced.org f08f9d4498 ActivityPub MRF: fix nsfw tagging of objects with attachments by looking at the right object (the child in this case) 2018-04-19 07:45:09 -05:00
Francis Dinh 7b4f55238e Handle unrepeats via the TwitterAPI 2018-04-18 06:00:40 -04:00
Francis Dinh 687db1bc3a Expose unannounce activity so that it can be tested 2018-04-18 03:39:42 -04:00
Francis Dinh 0251690e96 Add federation for unrepeats 2018-04-17 20:35:07 -04:00
Francis Dinh c9e7b984d5 Add make_unannounce_data helper function 2018-04-17 04:13:08 -04:00
Francis Dinh d16877251a doc fixes 2018-04-16 10:59:32 -04:00
Francis Dinh b949577472 Add unrepeat functionality 2018-04-14 20:19:48 -04:00
William Pitcock d24ddd9fb9 ActivityPub MRF: implement the SimplePolicy policy 2018-04-14 06:32:45 -05:00
William Pitcock 4a178b3d65 ActivityPub: implement MRF core hook and baseline noop policy object 2018-04-14 06:32:44 -05:00
eal 48380aeccc ActivityPub.ex: do not return boosted statuses from blocked users. 2018-04-14 14:26:20 +03:00
lain b3b7ab5d9a Load all users at once in timelines. 2018-04-02 16:35:41 +02:00
lain bc31bee7c4 Generates contexts and ids on insertion time. 2018-04-02 15:17:09 +02:00
lain 2222e5599c Don't fetch anything except ap_id for follower / following
collections.

Should speed up the queries because ecto doesn't have to parse the json.
2018-03-31 20:02:09 +02:00
lain 4afbef39f4 Format the code. 2018-03-30 15:01:53 +02:00
lain d2099c849d More Jason changes. 2018-03-27 16:45:38 +02:00
lain 2c1c221301 Fix follower collection id. 2018-03-25 19:34:33 +02:00
William Pitcock 2aea3bc632 activitypub transmogrifier: rewrite incoming hashtags 2018-03-24 16:42:17 -05:00
lain 5da2355e71 For outgoing objects, fake mastodon style ap id for ostatus. 2018-03-23 16:07:02 +01:00
William Pitcock 3fcdfb75d0 activitypub: add outbox endpoint 2018-03-22 00:26:54 -05:00
William Pitcock 381ba256bf activitypub: add restrict_limit 2018-03-22 00:26:47 -05:00
William Pitcock 1a94704230 activitypub: implement following/followers endpoints 2018-03-22 00:26:39 -05:00
lain c50c7745bc Fetch relayed messages from source while we don't have linked data sigs. 2018-03-21 07:12:14 +01:00
lambda 9b97b023c5 Merge branch 'feld-Logger' into 'develop'
Logging cleanup

See merge request pleroma/pleroma!76
2018-03-20 05:57:47 +00:00
Mark Felder 16d102c153 Clarify that this error is about a problem decoding the expected JSON
payload
2018-03-19 18:18:52 +00:00
Mark Felder 9a858621d6 AP and WebFinger need love here 2018-03-19 17:56:49 +00:00
Mark Felder 04395cb9bd Grammar consistency
Most log messages are sentence fragments so make them consistent by
removing periods. Log messages that are expressing urgency with ! or
pending more work with "..." are OK.
2018-03-19 17:31:58 +00:00
lain ec83175100 Use connection pools. 2018-03-19 17:42:09 +01:00
lain 4d5161b16d Only fetch if it's http. 2018-03-19 10:28:28 +01:00
William Pitcock 59a76ea464 activitypub transmogrifier: rewrite non-http URLs using the object's external URL
Signed-off-by: lain <lain@soykaf.club>
2018-03-14 08:53:29 +01:00
lain 30d65639c1 Fix Mastodon emojis.
Code by Kaniini
2018-03-13 08:05:43 +01:00
lain ff7bc16a7e Restrict activity fixing more.
If we need it for older ones, we can add a task for that later.
2018-03-08 19:09:46 +01:00
lain 8228ae96d8 Only run the fix-up tasks once. 2018-03-07 20:19:48 +01:00
lain d2ad99298e Handle incoming deletes. 2018-03-03 18:38:40 +01:00
lain 1377b2e569 Restrict public by recipients.
This is much faster than going through the json. This does break
unlisted, for which we'll probably have to add another table field.
2018-02-26 10:09:30 +01:00
lain 82df16f7c3 Actual real fix. 2018-02-25 22:28:53 +01:00
lain 0d69bbc1fb One more fix. 2018-02-25 22:20:38 +01:00
lain 8c712b3198 Fix context stitching. 2018-02-25 21:42:28 +01:00
lain e9de04b74b Add support for outgoing update. 2018-02-25 21:08:32 +01:00
lain f61fd00db5 Make likes and announces public. 2018-02-25 18:20:06 +01:00
lain 4d13cc0dc6 Fix specs. 2018-02-25 16:52:33 +01:00
lain dfaddeb765 Use update_and_set cache. 2018-02-25 16:34:24 +01:00
lain e3629af4da Handle remote update activities. 2018-02-25 16:14:25 +01:00
lain dd97193311 Set conversation to parent conversation. 2018-02-25 13:35:08 +01:00
lain b76de1ecd3 Some fixes to AP fetching. 2018-02-25 10:56:01 +01:00
lain 82e34cae95 Unify object representation. 2018-02-24 20:16:41 +01:00
lain 2b5d265954 Don't deliver to local followers. 2018-02-24 19:04:56 +01:00
lain df73a9c6d6 . 2018-02-24 18:50:02 +01:00
lain 5bc7628022 Fix. 2018-02-24 18:49:09 +01:00
lain 59ad395ffa Better signature errors messages. 2018-02-24 18:47:08 +01:00
lain fb5add56fa Bit more signature debugging. 2018-02-24 18:01:49 +01:00
lain e5fcc51a06 Remove unneccesary subscriptions on update. 2018-02-24 17:36:02 +01:00
lain 9a4d400ff4 Fix remote following. 2018-02-24 12:49:56 +01:00
lain 06b512acf1 Never update local users from foreign sources. 2018-02-24 12:05:40 +01:00
lain 541a4cbbb6 Oh no! More fixes! 2018-02-24 10:51:15 +01:00
lain 01d5ef65fa More fixes to user upgrading. 2018-02-24 10:42:47 +01:00
lain efd4d04933 Fix user upgrading code. 2018-02-24 10:28:38 +01:00
lain aa79d64e0d Correctly stitch mastodon -> ostatus replies. 2018-02-23 15:00:41 +01:00
lain 2583a9f6e8 More logging. 2018-02-23 15:00:19 +01:00
lain 5dc68d303b Get objects that people you know favorite. 2018-02-22 09:02:34 +01:00
lain c443aec83d Add banner image to user json. 2018-02-22 08:24:18 +01:00
lain 37e406ae36 Get avatar and banner from AP users. 2018-02-22 08:14:15 +01:00
lain 4816b09fa7 Add user upgrade function. 2018-02-21 22:21:40 +01:00
lain a06b9a3e0b Logging. 2018-02-21 16:22:20 +01:00
lain 810cf8618f ActivityPub: Fetch missing activities on reply. 2018-02-21 15:22:24 +01:00
lain 279e1ce556 Typo. 2018-02-21 08:54:48 +01:00
lain b52672294e Move incoming AP to Federator. 2018-02-21 08:51:03 +01:00
lain 9c89916969 ActivityPub: One queue item per server. 2018-02-20 08:51:19 +01:00
lain 297a2c7d3f Ignore duplicate create activities. 2018-02-19 17:37:45 +01:00
lain 6b6ab592ab AP: Fix incoming conversations. 2018-02-19 10:39:03 +01:00
lain 6b32b9e346 Notifications: Use all recipients, not just "to". 2018-02-19 10:05:26 +01:00
lain 932d346d35 fix typo. 2018-02-18 23:13:19 +01:00
lain 8b11546334 For existing users, just replace info. 2018-02-18 23:11:31 +01:00
lain decbf3a47f fix typo. 2018-02-18 23:02:44 +01:00
lain 342d0b01d1 Only push to followers if they are addressed. 2018-02-18 23:01:37 +01:00
lain dc1d3ceb72 Fix log. 2018-02-18 22:41:38 +01:00
lain e368b68dcf Log but ignore signature errors. 2018-02-18 22:40:08 +01:00
lain 76e71f47d3 Inbox: Don't add the same thing twice. 2018-02-18 22:37:44 +01:00
lain 010f818a29 Fix conversations. 2018-02-18 20:52:07 +01:00
lain deaad6d97a Fix delivery to CC. 2018-02-18 16:59:41 +01:00
lain 803bdc1a67 Federate non-public over ActivityPub only, do some better signing. 2018-02-18 16:05:25 +01:00
lain 4bc57ef20c Don't relay non-public messages. 2018-02-18 15:58:18 +01:00
lain 5d89997a70 Respect visibility in API. 2018-02-18 15:50:34 +01:00
lain 5729233c36 Don't show unlisted in public. 2018-02-18 15:32:11 +01:00
lain c974f6544f Show users their own posts in timeline. 2018-02-18 15:20:36 +01:00
lain 44586f2967 ActivityPub: Fallback for unhandled outgoing activities. 2018-02-18 15:20:03 +01:00
lain 20e6190ead Transmogrify outgoing nsfw. 2018-02-18 14:07:13 +01:00
lain 8ca66b5961 ActivityPub: Add conversation id. 2018-02-18 13:58:52 +01:00
lain 6ab0aba50a Transmogrify outgoing hashtags. 2018-02-18 13:51:03 +01:00
lain 6046f10431 Actually fix incoming attachments. 2018-02-18 13:06:51 +01:00
lain 6352dffd13 Drop unhandle activities. 2018-02-18 12:51:35 +01:00
lain b99eeb2bdf Try to fetch AP user data first. 2018-02-18 12:27:05 +01:00
lain 68752b2047 Switch protocols to AP when post come in through AP. 2018-02-18 12:04:59 +01:00
lain 77c6c424a6 ActivityPub: Make fake Create activities for objects without one. 2018-02-18 11:24:54 +01:00
lain 81ea359a7c ActivityPub: Handle incoming announces. 2018-02-17 21:57:31 +01:00
lain 5e36b750c1 ActivityPub: Fetch an object from an id. 2018-02-17 21:56:33 +01:00
lain 0f2ad25a7b AcitvityPub: Outgoing Announces. 2018-02-17 20:47:45 +01:00
lain 32b995fbb6 ActivityPub: Implement outgoing likes. 2018-02-17 20:22:14 +01:00
lain e1b12a7782 ActivityPub: Handle incoming likes. 2018-02-17 20:13:12 +01:00
lain ab27c90c9f ActivityPub: Handle attachments. 2018-02-17 18:38:58 +01:00
lain c2d0cb1a29 ActivtyPub Delivery: Use shared inbox if possible. 2018-02-17 16:18:10 +01:00
lain 7b26443a76 ActivityPub: Send out Accept after Follow. 2018-02-17 16:08:55 +01:00
lain e7b73359e3 ActivityPub: Partly handle incoming follows. 2018-02-17 14:55:44 +01:00
lain 5682e48a25 ActivityPub: tags -> tag. 2018-02-17 14:20:53 +01:00
lain 05ba6ca1b8 Do some transmogrifying for the output. 2018-02-17 14:11:20 +01:00
lain 5a371892a0 Fix specs. 2018-02-17 10:26:44 +01:00
lain 7851b9ba81 ActivityPub: Use recipients fields. 2018-02-15 20:32:07 +01:00
lain 5454ec6a6c ActivityPubController: Handle inbox data. 2018-02-15 20:00:43 +01:00
lain ef0300889d Transmogrifier: Handle basic notice creation. 2018-02-15 20:00:06 +01:00
lain ae26604378 ActivityPub: Refactor create function. 2018-02-15 19:59:35 +01:00
lain 8cf97ee8e1 ActivityPub: Basic note federation with Mastodon. 2018-02-11 20:43:33 +01:00
Roger Braun ae1ec858f4 Basic AP user building. 2018-02-11 17:20:43 +01:00
Lain Iwakura 4a13b84887 Add recipients field to activities.
Also do some very basic checks for AP message insertion.
2017-12-12 18:07:14 +01:00
Roger Braun 888ec9e579 ActivityPub: Check inbox requests for valid signature. 2017-12-12 10:17:50 +01:00
Lain Iwakura 64330d9455 ActivityPub: Add object routes / controller. 2017-12-11 18:21:33 +01:00
Lain Iwakura a89a613e4e ActivityPub: Use only string keys in views. 2017-12-11 18:20:41 +01:00
Lain Iwakura da005d3332 ActivityPub: Add Objects View. 2017-12-11 18:19:46 +01:00
Roger Braun 5599c5920c Basic incoming AP support. 2017-12-11 10:37:22 +01:00
Lain Iwakura e31a5ff4af Priority queue fixes. 2017-12-06 16:51:11 +01:00
Roger Braun 5ff5d583b6 MastodonAPI: Streaming fixes.
Now shows repeats in the home tl.
2017-11-19 13:47:50 +01:00
Thog 59770c3f5c
Fix all compilation warnings 2017-11-19 02:22:07 +01:00
Roger Braun a743940463 MastoAPI: Implement all streaming functions. 2017-11-16 16:49:51 +01:00
Roger Braun 5719f69ae3 MastodonAPI: Stream fixes. 2017-11-16 13:48:58 +01:00
eal 06c3ee3bac Accept 1 as true. 2017-11-14 15:54:50 +02:00
eal c84723b679 MastoAPI: Add media timelines. 2017-11-14 15:41:16 +02:00
Roger Braun bd5bdc4c24 MastoAPI: Basic streaming. 2017-11-11 14:59:25 +01:00
Roger Braun f1d27a5fbb Add actor column to activities. 2017-11-09 10:41:19 +01:00
Roger Braun d2430d5007 Look through whole db for user timelines.
They already have an index that's good enough.
2017-11-08 17:25:18 +01:00
Roger Braun 7252f6b054 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into develop 2017-11-05 12:12:19 +01:00
Roger Braun 046bee34d3 Fix bug when no posts are in the db. 2017-11-05 12:11:59 +01:00
Roger Braun 867ac1e4f5 Handle nil cases. 2017-11-02 22:47:48 +01:00
Roger Braun 8ef58a266b Don't return blocked users' activities in contexts. 2017-11-02 22:44:36 +01:00
Roger Braun a47727adde Don't return activities from blocked users. 2017-11-02 22:37:26 +01:00
Roger Braun 3037814fde Only search through last 100_000 activities for fetches.
This is purely a performance enhancement
2017-10-31 15:26:37 +01:00
Roger Braun 5293516730 Use more efficient query to fetch likes. 2017-10-24 14:39:01 +02:00
Roger Braun 9f417fd5e9 Speed up deletion and related queries. 2017-10-23 18:30:09 +02:00
Roger Braun 38f3908c14 Revert "Simplify query."
This reverts commit a17b261379.
2017-10-19 17:56:27 +02:00
Roger Braun a17b261379 Simplify query. 2017-10-18 11:56:47 +02:00
Roger Braun 260f09dd6c MastoAPI: Return reblogs, too. 2017-09-17 14:20:54 +02:00
Roger Braun 422d0f324f MastodonAPI: Add user favorites endpoint. 2017-09-17 13:09:49 +02:00
Roger Braun 678dd4c8ec Use desc id to sort instead of desc inserted_at
Should mean the same and is indexed.
2017-09-17 11:16:08 +02:00
Roger Braun fc85c9f086 Add tag timelines. 2017-09-14 13:22:09 +02:00
Roger Braun 07b694814e Optimize conversation fetching. 2017-09-12 13:48:48 +02:00
Roger Braun 61adf676d5 Add basic mastodon notification support. 2017-09-11 18:53:19 +02:00
Roger Braun a22f2e683b Add type restriction to activitypub fetcher
Mainly because Mastodon only returns notes, not the other activities.
2017-09-09 12:05:17 +02:00
Roger Braun 3438a120cc Don't delete new delete activity... 2017-09-04 20:47:43 +02:00
Roger Braun 5db535c0b1 Add delete to ActivityPub. 2017-09-04 18:47:33 +02:00
Roger Braun 9fd8640202 Order by id instead of inserted_at to better use indexes. 2017-08-08 12:24:20 +02:00
Roger Braun 140f72725d Use follower address in user entry. 2017-07-19 19:06:49 +02:00
Roger Braun 5e17e04144 Make user timelines faster for users with few statuses. 2017-07-01 16:43:10 +02:00
Roger Braun 201804b836 Only return posts in TwAPI conversations. 2017-06-30 16:41:09 +02:00
Roger Braun d4de38e8ff Order conversation fetches like GS does. 2017-06-30 16:30:19 +02:00
Roger Braun 70024632ba AP refactoring. 2017-05-16 18:19:04 +02:00
Roger Braun a2ca3b8605 Add option to keep id for follows. 2017-05-10 18:45:38 +02:00
Roger Braun e49770ee88 Add some debugging info. 2017-05-07 20:16:07 +02:00
Roger Braun db08498a9f Prevent double insertions. 2017-05-07 20:13:10 +02:00
Roger Braun 4f9328c622 Preserve ids on favorites / retweets. 2017-05-07 20:05:03 +02:00
Roger Braun b403ea4d2b Merge branch 'develop' into dtluna/pleroma-feature/unfollow-activity 2017-05-07 19:28:23 +02:00
Roger Braun fa2610c795 Handle incoming favorites, fetch potentially missing messages. 2017-05-05 16:07:44 +02:00
Roger Braun c48c381e90 Merge branch 'develop' into dtluna/pleroma-refactor/1 2017-05-05 11:46:59 +02:00
Roger Braun c85998ab8a Parse incoming retweets. 2017-05-04 18:42:29 +02:00
Roger Braun 861a294cda Add announce federation. 2017-05-03 17:41:55 +02:00
Roger Braun df71c142cf Remove doubled 'to' recipients. 2017-05-03 16:08:24 +02:00
Roger Braun 9c42453e06 Return note objects as ostatus post activities. 2017-05-03 09:54:17 +02:00
Roger Braun 945b4b55e6 Federate likes. 2017-05-02 16:45:54 +02:00
Roger Braun a3e82c5c24 Save context in likes / announces. 2017-05-02 15:54:14 +02:00
Roger Braun 32a95d73da Add twkn timeline. 2017-05-02 14:12:43 +02:00
Roger Braun 6dd8335477 Mark incoming activties as non-local. 2017-05-02 10:47:04 +02:00
Roger Braun 009fcd2acf Stop adding statusnetConversationIds. 2017-04-30 14:02:04 +02:00
dtluna 6cf7c13228 Refactor code to comply with credo suggestions 2017-04-27 16:18:50 +03:00
Roger Braun c5fa682c31 Refactor, add beginnings of websub client subscriptions. 2017-04-26 18:33:10 +02:00
Roger Braun ab0114fbaa Return salmon path for users, basic incoming salmon handling. 2017-04-24 18:46:34 +02:00
dtluna 28b203d08f Add Undo of Follow Activity insertion 2017-04-21 19:54:21 +03:00
dtluna 5229b01944 Merge branch 'develop' of ssh.gitgud.io:lambadalambda/pleroma into feature/user-timeline 2017-04-16 17:08:17 +03:00
Roger Braun 7617a593b9 Support data uris in uploads. 2017-04-16 14:23:30 +02:00
dtluna 7a0046d127 Merge branch 'develop' of ssh.gitgud.io:lambadalambda/pleroma into feature/user-timeline 2017-04-16 13:32:56 +03:00
Roger Braun 4f7adb343c Address liking / announcing to the original author. 2017-04-15 14:16:01 +02:00
Roger Braun 60c60de330 Add announcements / retweets to TwAPI. 2017-04-15 13:54:46 +02:00
Roger Braun 21c397820f Add announcements to activitypub. 2017-04-15 12:11:20 +02:00
Roger Braun a926038cd0 Add unliking to activitypub. 2017-04-14 18:09:30 +02:00
dtluna 18cd04ade5 Add user timeline 2017-04-14 16:09:13 +03:00
Roger Braun fa0c279139 Favorite changes.
- Add 'likes' to activity, collection of ids of people who liked it.
- show if you favorited something or not.
- Don't allow double favorites
- Address favorites to the followers of the liked activity's author.
2017-04-14 15:07:24 +02:00
Roger Braun 1388054796 Add liking to ActivityPub. 2017-04-13 15:50:05 +02:00
Roger Braun b666f11d2f Add max_id fetching to activity fetching. 2017-04-12 17:12:00 +02:00
dtluna 8075badafe Add Follow activity insertion 2017-04-04 03:30:07 +03:00
Roger Braun 6aa1523bb3 Put objects in inserted activties into the db. 2017-03-30 18:07:29 +02:00
Roger Braun d18473f0c3 Add port if specified. 2017-03-30 14:32:36 +02:00
Roger Braun e7dc39e40c Basic file uploading via TwAPI. 2017-03-29 02:07:56 +02:00
Roger Braun 866a2663d4 Add fetching of activities in context. 2017-03-24 00:09:08 +01:00
Roger Braun e56dba1563 Add context and inReplyTo. 2017-03-23 23:34:10 +01:00
Roger Braun 74112ef99e Add id to objects, too. 2017-03-23 21:22:49 +01:00
Roger Braun 1f0f79d959 Generate ids for activities. 2017-03-23 17:56:49 +01:00
Roger Braun 569d9bac17 Add fetching for recipients. 2017-03-22 14:45:17 +01:00
Roger Braun 2db28df4cf Add public timeline TwAPI. 2017-03-21 21:09:20 +01:00
Roger Braun b9d0e34506 Add since_id for activitypub fetching. 2017-03-21 20:31:48 +01:00
Roger Braun d4cf273f28 Add limiting to activity pub fetching. 2017-03-21 20:22:05 +01:00
Roger Braun 9a8850eb9e Basic status creation and retrieval. 2017-03-21 17:53:20 +01:00
Roger Braun 8de523c8ae Basic AP objects. 2017-03-21 09:21:52 +01:00