Commit graph

450 commits

Author SHA1 Message Date
William Pitcock
09604182d0 add the ability to 'quarantine' an activitypub peer, causing them to be treated as an OStatus peer. 2018-06-07 14:38:09 +00:00
Sir_Boops
3f0440ac3c
Dedupe uploads 2018-06-06 13:25:44 -06:00
eal
29c9c8d93b Extract host from ap_id, add index 2018-06-06 21:13:40 +03:00
eal
9075b6d25b ActivityPub.ex: filter domain blocked activities. 2018-06-03 23:33:33 +03:00
lain
06439f64d0 Better error handling for ActivityPubController 2018-06-03 19:58:59 +02:00
lain
5e76adb07e Fix url guessing attacks. 2018-05-30 20:00:45 +02:00
eal
5d3fdbc082 MastoAPI: Add streaming for lists. 2018-05-30 16:48:59 +03:00
lain
841ee8e3e4 Simplify DM query.
Should also use indexes better.
2018-05-26 16:25:32 +02:00
lain
4b3ec53514 Merge branch 'develop' into csaurus/pleroma-feature/mstdn-direct-api 2018-05-26 16:00:59 +02:00
lain
745072b2cc Merge branch 'kaniini/pleroma-feature/activitypub-accept-reject-conformance' into develop 2018-05-26 15:15:52 +02:00
lain
0a6c897c94 Formatting. 2018-05-26 15:11:50 +02:00
lain
bfce29866f Make Mastodon follow hack more explicit. 2018-05-26 15:07:21 +02:00
lain
3839a11ef5 Don't treat remote accepts/rejects as local.
Also, use specialized functions to get safe data.
2018-05-26 14:07:46 +02:00
lain
dd9bb37893 Rename id helper method. 2018-05-26 13:57:11 +02:00
William Pitcock
7e873756e7 activitypub transmogrifier: use fetch_latest_follow to verify a follow object exists 2018-05-26 11:20:52 +00:00
William Pitcock
1c926c7b60 activitypub: allow mastodon S2S block extension support to be disabled 2018-05-26 08:30:41 +00:00
Hakaba Hitoyo
e90b734f1c debug 2018-05-26 14:10:12 +09:00
Hakaba Hitoyo
9c7da2ef48 output repeats at ActivityPub outbox 2018-05-26 14:02:57 +09:00
William Pitcock
7cf3cf77cf activitypub transmogrifier: cleanups and tests for incoming accepts/rejects 2018-05-25 12:53:12 +00:00
William Pitcock
f35e6bf75b activitypub transmogrifier: clean up accept/reject handling a bit 2018-05-25 09:40:11 +00:00
William Pitcock
62c95e8d4d run mix format 2018-05-25 09:39:46 +00:00
William Pitcock
502ba33d01 activitypub: fix up accept/reject semantics for following
fixes #175
2018-05-25 06:14:18 +00:00
William Pitcock
c0ca9f82b9 mastodon api: properly track if an account is locked or not 2018-05-25 06:14:09 +00:00
William Pitcock
47dc52a758 activitypub utils: optimize block and follow activity lookup
multi-field @> comparison is very expensive, so only use @> for the field where it matters
this makes the query take only a few usec to execute verses many msec on a busy instance
2018-05-25 05:23:49 +00:00
lambda
c2dcd767cf Merge branch 'feature/incoming-remote-unfollow' into 'develop'
Add support for incoming remote unfollows and blocks/unblocks

See merge request pleroma/pleroma!158
2018-05-24 19:52:24 +00:00
Francis Dinh
1197ec10a8 Rewrite block fetch query 2018-05-24 13:26:59 -04:00
lain
1cd6194dee More efficient queries. 2018-05-24 12:44:26 +02:00
lambda
06c97f211f Merge branch 'feature/deps-migration' into 'develop'
Migrate to comeonin 4 and Cachex 3

See merge request pleroma/pleroma!162
2018-05-23 09:03:11 +00:00
csaurus
4fd9df100f Merge branch 'develop' into feature/mstdn-direct-api 2018-05-21 20:19:37 -04:00
William Pitcock
9a2d097ed8 activitypub controller: note that the HTTP Host header must be forwarded for http signature validation to work 2018-05-21 19:22:30 +00:00
Francis Dinh
46427cb90f Pass correct number of arguments to unfollow 2018-05-21 11:57:15 -04:00
Francis Dinh
cc5373b846 Fix unblock handling 2018-05-21 05:00:58 -04:00
Francis Dinh
2573332214 Add undo block handler 2018-05-21 04:35:43 -04:00
Francis Dinh
c8a16f334d Format 2018-05-20 21:02:06 -04:00
Francis Dinh
89c5de9096 Fix unfollows 2018-05-20 21:01:14 -04:00
Francis Dinh
1afd6d37bd Merge remote-tracking branch 'upstream/develop' into feature/incoming-remote-unfollow
Fixed some conflicts in transmogrifier.ex
2018-05-20 19:17:15 -04:00
Thog
e55c6f311b
Migrate to comeonin 4 and Cachex 3
Also fix some warning in the code and add a missing alias
2018-05-20 20:08:40 +02:00
lain
434601a5c3 Return private / direct posts on user timelines, too. 2018-05-20 16:15:18 +02:00
Francis Dinh
a9141d88aa Pass user instead of their ap_id to User.block 2018-05-19 22:02:13 -04:00
Francis Dinh
3b706ea493 Remove handler for incoming undos with object references 2018-05-19 21:34:30 -04:00
Francis Dinh
1e43de0f86 Formatting and add tests for blocks/unblocks 2018-05-19 21:23:52 -04:00
Francis Dinh
da9744eb84 Use correct variable names in unfollow 2018-05-19 20:57:37 -04:00
Thog
6f39ecc41b
Support Undo like activities (Fix #139) 2018-05-19 22:14:15 +02:00
lambda
ad563669c8 Merge branch 'feature/remote-user-deactivation' into 'develop'
remote user deactivation

See merge request pleroma/pleroma!154
2018-05-19 09:30:09 +00:00
William Pitcock
2051530868 activitypub transmogrifier: handle hubzilla AP actor quirks 2018-05-19 03:28:29 -05:00
William Pitcock
4d2c6707c2 activitypub: normalize the actor to ensure we have its URI 2018-05-19 03:28:28 -05:00
William Pitcock
13d4b6d2b5 remote user deactivation: fix test failures 2018-05-19 01:26:13 -05:00
Francis Dinh
0ec1abb3b6 Add federated blocks 2018-05-18 18:09:56 -04:00
Francis Dinh
8d11bae0d5 Revert "Undo formatting in user.ex"
This reverts commit e6dc15b96c.
2018-05-17 23:55:00 -04:00
Francis Dinh
e6dc15b96c Undo formatting in user.ex 2018-05-17 23:53:34 -04:00
Francis Dinh
d8c842a771 Add support for incoming remote unfollows 2018-05-17 22:15:57 -04:00
csaurus
4dfb40a546 Handle cases where a to/cc field is absent on a status 2018-05-14 21:54:25 -04:00
William Pitcock
9390492138 ActivityPub create: discard activities from deactivated users 2018-05-13 19:05:02 -05:00
csaurus
2ce48c1a42 Formatting 2018-05-13 15:36:41 -04:00
csaurus
9aabff4883 Fix tests. 2018-05-13 15:33:59 -04:00
lain
c7a85de35c Revert "Remove 'unlisted' handling for now."
This reverts commit 1027d1f696.
2018-05-13 12:38:13 +02:00
lain
1027d1f696 Remove 'unlisted' handling for now.
It's just too slow (over 1 second on small systems, haven't looked at
the queries in detail yet). We'll need some other way to handle it.
2018-05-13 12:07:11 +02:00
lain
a5c9dd0a2a Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into develop 2018-05-13 11:59:35 +02:00
lain
3c3933e40b Unlisted fetching: Reverse logic
Generates a faster query.
2018-05-13 11:58:03 +02:00
lambda
aeff2d6474 Merge branch 'feature/unrepeats' into 'develop'
Add unrepeats

Closes #69

See merge request pleroma/pleroma!113
2018-05-13 09:32:29 +00:00
lain
ec531ca281 Add test. 2018-05-13 11:18:48 +02:00
lain
29376fcc13 Format. 2018-05-13 10:56:44 +02:00
lain
76722ea9c8 Merge branch 'develop' into kaniini/pleroma-bugfix/unlisted-statuses 2018-05-13 10:56:11 +02:00
Francis Dinh
54ccbd8479 Use original status id instead of announce id 2018-05-13 03:42:31 -04:00
csaurus
c8d418acdd api/v1/timelines/direct implementation 2018-05-12 21:50:59 -04:00
csaurus
392bd9ef56 Stream function to handle direct messages. 2018-05-12 17:40:59 -04:00
csaurus
c60a5405db Detect and try to stream incoming "direct" messages 2018-05-12 17:40:59 -04:00
Francis Dinh
4d88747561 Revert "Log error when handling unrepeats"
This reverts commit c17c55e989.
2018-05-11 15:34:46 -04:00
Francis Dinh
c17c55e989 Log error when handling unrepeats 2018-05-11 15:29:19 -04:00
href
c220a6db43
format & made get_policies/1 private 2018-05-10 18:51:58 +02:00
href
e9e6f37bda
Chain policies
- The `:pleroma, :instance, :rewrite_policy` can now be either a policy
or a list of policies
- Made a behaviour for MRF policies
2018-05-10 18:41:06 +02:00
Francis Dinh
900c735467 Match proper number of values from unannounce 2018-05-09 00:04:14 -04:00
Francis Dinh
54f6628590 Change argument order and call correct # of args 2018-05-08 23:59:36 -04:00
Francis Dinh
e55f69a676 Handle Undo activites containing an Announce 2018-05-08 23:50:19 -04:00
Francis Dinh
4d5ec883b7 Federate correct activity 2018-05-08 21:52:21 -04:00
lain
ffe028cd73 More warning fixes. 2018-05-07 18:11:37 +02:00
lambda
6c2903d9a1 Merge branch 'feld-warnings' into 'develop'
Clean up warnings

See merge request pleroma/pleroma!144
2018-05-06 18:42:31 +00:00
eal
bfad57c7c9 Get rid of unsafe variables. 2018-05-06 09:58:59 +03:00
Mark Felder
7a884d70d8 Group def renders here as well 2018-05-04 22:31:46 +00:00
Mark Felder
14c0c6d16b Fix formatting 2018-05-04 22:03:14 +00:00
Mark Felder
a24eed0f57 That last change was stupid. Multiline comments in Elixir don't really exist.
Instead we'll just pad with # intstead of playing stupid games with the compiler.
2018-05-04 21:53:52 +00:00
Mark Felder
79d41aa12e Dirty hack to remove the warning
warning: code block contains unused literal "internal -> Mastodon\n" (remove the literal or assign it to _ to avoid warnings)
  lib/pleroma/web/activity_pub/transmogrifier.ex
2018-05-04 21:48:30 +00:00
Mark Felder
aaacebd906 Fix unused variables, imports, and aliases 2018-05-04 21:42:20 +00:00
Mark Felder
42f1a098aa Fix build. Too eager with the fixing of unused variables.
== Compilation error in file lib/pleroma/web/activity_pub/views/user_view.ex ==
** (CompileError) lib/pleroma/web/activity_pub/views/user_view.ex:54: undefined function _total/0
    (stdlib) lists.erl:1338: :lists.foreach/2
    (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
2018-05-04 21:26:33 +00:00
Mark Felder
636f0fa402 Clean up unused aliases and imports 2018-05-04 21:25:31 +00:00
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