Commit graph

2659 commits

Author SHA1 Message Date
lain
935e65e261 Use race-condition free following method. 2019-01-30 19:21:04 +01:00
href
4aff4efa8d
Use multiple hackney pools
* federation (ap, salmon)
* media (rich media, media proxy)
* upload (uploader proxy)

Each "part" will stop fighting others ones -- a huge federation outbound
could before make the media proxy fail to checkout a connection in time.

splitted media and uploaded media for the good reason than an upload
pool will have all connections to the same host (the uploader upstream).
it also has a longer default retention period for connections.
2019-01-30 15:06:46 +01:00
kaniini
7a2c4f984b Merge branch 'bugfix/fix-rejects' into 'develop'
follow request fixups

Closes #537

See merge request pleroma/pleroma!734
2019-01-29 14:47:36 +00:00
kaniini
d03a116654 Merge branch 'hj-happiness-improvement' into 'develop'
New frontend configuration mechanism.

Closes #445

See merge request pleroma/pleroma!700
2019-01-29 13:54:10 +00:00
William Pitcock
57549f6043 activitypub: utils: update the state of *any* pending follow relationship that matches the actor and target 2019-01-29 12:21:02 +00:00
William Pitcock
cbb2b709de activitypub: transmogrifier: fix follow request rejections 2019-01-29 11:57:46 +00:00
Ivan Tashkinov
92753b0cd9 [#534] Made federation push sender be determined basing on content instead of referer header. Updated tests. 2019-01-29 13:12:28 +03:00
Haelwenn
ebb3496386 Merge branch 'feature/rich-media-part-2-electric-boogaloo' into 'develop'
Rich Media support, part 2.

See merge request pleroma/pleroma!719
2019-01-29 05:11:08 +00:00
William Pitcock
61d6715714 rich media: oembed: return data in the same format as the other parsers 2019-01-28 21:13:25 +00:00
William Pitcock
ddb5545202 rich media: kill some testsuite noise 2019-01-28 20:55:33 +00:00
William Pitcock
0f11254a06 rich media: parser: add some basic sanity checks on the returned data with pattern matching 2019-01-28 20:43:21 +00:00
William Pitcock
83b7062634 rich media: parser: cache negatives 2019-01-28 20:19:07 +00:00
William Pitcock
8fb16e9f0f rich media: parser: add copyright header 2019-01-28 20:00:01 +00:00
Maxim Filippov
50d6183893 Split hide_network into hide_followers & hide_followings 2019-01-28 21:40:08 +03:00
lain
f53d464db0 Put deprecation warnings undre Pleroma.Config. 2019-01-28 14:39:54 +01:00
Ivan Tashkinov
d3f9e6f6fe [#534] Merged upstream/develop. 2019-01-28 15:39:14 +03:00
Ivan Tashkinov
1d2f41642c [#534] Various tweaks. Tests for Instances and Instance. 2019-01-28 15:25:06 +03:00
lain
8e8a1e1ba8 Return new-style config if old-style config is set to false.
This is in preparation for 1.0. We'll be able to switch the config to the new
mechanism on PleromaFE then as well.
2019-01-28 13:07:12 +01:00
lain
f1d58c5c49 Don't run warnings in a task. 2019-01-28 13:05:17 +01:00
Haelwenn
de0fb88a9c Merge branch 'safe-render-activities' into 'develop'
remove unnecessary filter (re !723)

See merge request pleroma/pleroma!729
2019-01-28 11:48:03 +00:00
href
df2f7b39dd
re f83bae7c: remove unnecessary filter 2019-01-28 12:24:14 +01:00
lain
f231313b70 Add deprecation warning mechanism. 2019-01-28 12:09:41 +01:00
lain
1825118fd4 Correctly handle invalid credentials on auth login.
Closes #407
2019-01-28 11:41:47 +01:00
Ivan Tashkinov
9560abea10 [#534] Refactoring / tweaks per MR review. 2019-01-28 11:03:52 +03:00
William Pitcock
ddc7ae2c1a mastodon api: card: force OGP images through mediaproxy 2019-01-28 06:42:27 +00:00
William Pitcock
ebeabdcc72 rich media: helpers: clean up unused aliases 2019-01-28 06:10:25 +00:00
William Pitcock
91ef64a1ec activitypub: prime OGP crawler cache when new messages are inserted into the database 2019-01-28 06:07:18 +00:00
William Pitcock
8e42251e06 rich media: add helpers module, use instead of MastodonAPI module 2019-01-28 06:04:54 +00:00
William Pitcock
24a103a1fe mastodon api: formatting 2019-01-28 05:53:17 +00:00
William Pitcock
6096846f5f API: kill /api/rich_media/parse endpoint 2019-01-28 05:53:17 +00:00
William Pitcock
07a9a891ad twitter api: fix up activity representer 2019-01-28 05:53:17 +00:00
William Pitcock
de42646634 rich media: add try/rescue to ensure we catch parsing and fetching failures 2019-01-28 05:53:17 +00:00
William Pitcock
5d895093fd twitter api: embed card in twitterapi posts 2019-01-28 05:53:17 +00:00
William Pitcock
5a37ddc2dc mastodon api: embed card in status object 2019-01-28 05:53:17 +00:00
William Pitcock
132d815f1f mastodon api: factor out status card fetching, move status card rendering to statusview, add opengraph extended data 2019-01-28 05:53:17 +00:00
Haelwenn (lanodan) Monnier
cda1470e02
[MastoAPI][GlitchAPI] Add bookmarks 2019-01-28 04:47:32 +01:00
Haelwenn (lanodan) Monnier
872241d7c5
/web/index template: Modify for glitch-soc 2019-01-28 04:43:36 +01:00
href
71bb90073b
/notice/:id - send the FE index even if 404
this allows to open private activities by URL when you are logged in,
and to let the FE display a 404 page
2019-01-27 22:51:50 +01:00
lambda
16ab1437d6 Merge branch 'safe-render-activities' into 'develop'
Views: wrap activity rendering in a rescue

See merge request pleroma/pleroma!723
2019-01-27 20:10:09 +00:00
lain
2e277dd4ad Fix objects. 2019-01-27 21:03:15 +01:00
kaniini
ea12371a01 Merge branch 'discard-invalid-likes' into 'develop'
Transmogrifier: fix incoming objects with invalid likes

See merge request pleroma/pleroma!724
2019-01-27 19:10:15 +00:00
href
77f2137383
Transmogrifier: fix incoming objects with invalid likes 2019-01-27 19:33:21 +01:00
href
f83bae7c22
Views: wrap activity rendering in a rescue
this avoids complete timeline breakage when an activity fucks up
rendering.
2019-01-27 19:16:20 +01:00
kaniini
9af798ad40 Merge branch 'flake-random-worker-id' into 'develop'
Flake: random worker id

See merge request pleroma/pleroma!721
2019-01-27 15:16:06 +00:00
href
e0e0cc5ab0
Flake: random worker id 2019-01-27 16:04:36 +01:00
kaniini
5eb81d2c72 Merge branch 'features/mastoapi-multi-hashtag' into 'develop'
MastodonAPI multi-hashtag

See merge request pleroma/pleroma!652
2019-01-27 12:45:50 +00:00
Haelwenn (lanodan) Monnier
a65c188593
Web.MastodonAPI.AccountView: Add is_moderator and is_admin
Closes: https://git.pleroma.social/pleroma/pleroma/issues/557
2019-01-27 10:33:22 +01:00
William Pitcock
8f2f471e94 rich media: gracefully handle fetching nil URIs 2019-01-26 16:36:17 +00:00
kaniini
155a884300 Merge branch 'flake-from-int' into 'develop'
Flake: support integers in from_string/1

See merge request pleroma/pleroma!715
2019-01-26 16:17:50 +00:00
href
d6015338c8
Flake: support integers in from_string/1
Some previously issued stateless tokens have integer ids in them.
2019-01-26 16:58:23 +01:00
kaniini
3e66723f7e Merge branch 'join-in-preloads' into 'develop'
Join on preloads to avoid N+1 queries

See merge request pleroma/pleroma!714
2019-01-26 15:57:02 +00:00
Haelwenn (lanodan) Monnier
de956b9e04
Web.MastodonAPI.MastodonAPIController: tag+any bookmark params in a array and flatten it 2019-01-26 16:46:20 +01:00
William Pitcock
1f7843b9b8 mastodon api: use OGP uri instead of page_url for deducing domain name, fix test 2019-01-26 15:24:16 +00:00
William Pitcock
86037e9c39 mastodon api: use HTML.extract_first_external_url() 2019-01-26 15:13:27 +00:00
href
8018ae7ae5
Join on preloads to avoid N+1 queries 2019-01-26 15:55:53 +01:00
William Pitcock
be9abb2cc5 html: add utility function to extract first URL from an object and cache the result 2019-01-26 14:55:12 +00:00
William Pitcock
78047d57bf mastodon api: provider_name setting is required too on the card 2019-01-26 14:47:32 +00:00
Haelwenn (lanodan) Monnier
39863236eb Web.MastodonAPI.MastodonAPIController: generic get_status_card/1 function for MastoAPI 2.6.x
Mastodon API 2.6.x added a card key to the Status object so the Card can be shown in the timeline without an extra request at each status.
2019-01-26 14:18:23 +00:00
Haelwenn (lanodan) Monnier
3f64379b13 Web.MastodonAPI.MastodonAPIController: Add Rich-Media support 2019-01-26 14:18:23 +00:00
Haelwenn (lanodan) Monnier
5a84def6a6
Fix the logic in multi-hashtag TLs 2019-01-26 04:46:02 +01:00
Haelwenn (lanodan) Monnier
4ad0ad14ed
Web.ActivityPub.ActivityPub: Simplify multi-hashtag, add tests 2019-01-26 04:46:01 +01:00
Haelwenn (lanodan) Monnier
1a9bb4daa0
[Web.ActivityPub.ActivityPub]: Fix restrict_tag()
Thanks to Senko-san <kurisu@iscute.moe> for the help on array-matching
2019-01-26 04:46:01 +01:00
Haelwenn (lanodan) Monnier
f9cae0d04f
[WIP,MastoAPI] Multi-tag timelines 2019-01-26 04:45:36 +01:00
Haelwenn (lanodan) Monnier
15aa45ae8a
Web.ActivityPub.ActivityPub: Fix check_remote_limit/1 against activities with content: nil 2019-01-26 03:50:49 +01:00
Ivan Tashkinov
060d280e64 [#534] Made Salmon.send_to_user calls be handled through Federator.enqueue. 2019-01-25 20:38:13 +03:00
lain
aa8ddfdbe2 SPC fixes: Fix activities. 2019-01-25 18:14:48 +01:00
Ivan Tashkinov
465adedb7c [#534] Websub fix: made SQL use UTC time zone when comparing with valid_until (instead of postgresql-server default time zone). 2019-01-25 18:29:43 +03:00
Ivan Tashkinov
656ed7c84a [#534] Configurable outgoing federation reachability timeout. 2019-01-25 15:10:21 +03:00
rinpatch
3a5b3c5a3a Merge remote-tracking branch 'pl/develop' into oembed_provider 2019-01-25 10:40:51 +03:00
kaniini
4c99b6d35a Merge branch 'fix/tusky-dm' into 'develop'
Add actor to recipients list

Closes #390

See merge request pleroma/pleroma!683
2019-01-25 05:19:32 +00:00
kaniini
c9b418e547 Merge branch 'develop' into 'oembed_provider'
# Conflicts:
#   lib/pleroma/activity.ex
2019-01-25 05:00:47 +00:00
kaniini
4df71cd88b Merge branch 'classic-flakeids' into 'develop'
Flake Ids for Users and Activities

Closes #450

See merge request pleroma/pleroma!645
2019-01-25 04:59:06 +00:00
Maxim Filippov
9274cabe01 Use correct logic to determine "attentions" list 2019-01-24 23:30:43 +03:00
Ivan Tashkinov
3e9399ec0b [#534] Optimized bulk publish ops to filter on reachability early. Instance refactoring. 2019-01-24 19:15:23 +03:00
href
a3ba72d978
Fix clippy with one/five lines 2019-01-24 16:53:14 +01:00
Ivan Tashkinov
8654a591f0 [#534] Updating external instances reachability on incoming federation. 2019-01-24 17:37:23 +03:00
href
be43aa2875
FlakeId: ignore null mac for workerid, use first mac 2019-01-24 13:08:27 +01:00
William Pitcock
54ec6d09b0 mrf: add anti-followbot policy 2019-01-24 09:35:19 +00:00
Ivan Tashkinov
20b54366ee [#534] Federation publish requests status control (enforced 2xx response code check). 2019-01-24 11:54:52 +03:00
Maxim Filippov
4333fea1dc Send "hide_network" in user_view 2019-01-23 19:47:51 +03:00
Ivan Tashkinov
f161a92cb1 [#534] Initial implementation of unreachable federation targets retirement. 2019-01-23 18:37:25 +03:00
kaniini
4a278cd80a Merge branch 's3-namespace' into 'develop'
S3 uploader: support for namespaced bucket

Closes #532

See merge request pleroma/pleroma!699
2019-01-23 13:25:04 +00:00
lain
2de208817c Merge branch 'develop' into rename/pleroma_activity_consistency 2019-01-23 13:05:58 +01:00
lain
e221c681dc New frontend configuration mechanism. 2019-01-23 12:40:57 +01:00
href
a92c43bc4b
Clippy! 2019-01-23 11:26:38 +01:00
href
973c9eed18
Treat User.Info pinned ids as strings 2019-01-23 11:26:37 +01:00
href
e36a434b99
FlakeId.from_string/1: remove old, un-needed conversion 2019-01-23 11:26:36 +01:00
href
422e60ad76
2019 2019-01-23 11:26:35 +01:00
href
cdc5e6ff5c
ActivityPub: restrict_since/restrict_max: ignore empty param 2019-01-23 11:26:35 +01:00
href
9d63b27dcd
Test FlakeID old id compat & Ecto type 2019-01-23 11:26:34 +01:00
href
28d77e373c
Flake Ids for Users and Activities 2019-01-23 11:26:27 +01:00
Haelwenn
707cd9389c Merge branch 'fix/activity_get_by_id' into 'develop'
Add get_by_id to activity.ex

See merge request pleroma/pleroma!695
2019-01-22 14:28:17 +00:00
Ivan Tashkinov
34d59e4008 [#502] Fixed User.active_local_user_query to return users with nil or missing info.deactivated. Adjusted test. 2019-01-22 17:12:53 +03:00
rinpatch
e460820fcf Add get_by_id to activity.ex 2019-01-22 10:55:10 +03:00
href
f9a3269099
Uploader callback controller 2019-01-21 22:44:14 +01:00
href
99763999c1
reverse_proxy - always override plug's cache-control 2019-01-21 15:17:24 +01:00
href
97412d9f94
S3 Namespace 2019-01-21 14:42:16 +01:00
lambda
8cd853ce0c Merge branch '530_federator_user_info_overwrite_fix' into 'develop'
[#530] Prevents user `info` from being overwritten because of race conditions

Closes #530

See merge request pleroma/pleroma!691
2019-01-21 13:03:32 +00:00
lambda
69454c8345 Merge branch 'feature/dm-sanity' into 'develop'
DM sanitization

See merge request pleroma/pleroma!458
2019-01-21 12:35:10 +00:00
Ivan Tashkinov
a4d3fec8a7 [#502] Code comments update. 2019-01-21 14:52:41 +03:00
Ivan Tashkinov
aa480f4a8b [#530] Prevents user info from being overwritten because of race conditions
and non-partial update of embed (in WebFinger.ensure_keys_present and other places).
2019-01-21 14:16:51 +03:00
Haelwenn (lanodan) Monnier
7390192c03
Activity: mix format (2 empty lines) 2019-01-21 08:00:41 +01:00
Haelwenn (lanodan) Monnier
98c8184c1f
Activity: get_create_activity_by_object_ap_id/1 → get_create_by_object_ap_id/1 2019-01-21 08:00:41 +01:00
Haelwenn (lanodan) Monnier
2fdbd4d137
Activity: create_activity_by_object_id_query/1 → create_by_object_ap_id/1 when is_list 2019-01-21 08:00:40 +01:00
Haelwenn (lanodan) Monnier
f8ab1b7427
Activity: get_all_by_object_ap_id/1 → get_all_create_by_object_ap_id/1 2019-01-21 08:00:38 +01:00
Haelwenn (lanodan) Monnier
4ad5a0abb9
Activity: all_by_object_ap_id_q/1 → create_by_object_ap_id/1 2019-01-21 07:51:01 +01:00
Haelwenn (lanodan) Monnier
75e4c8f0b2
Activity: all_non_create_by_object_ap_id_q → by_object_ap_id 2019-01-21 07:50:57 +01:00
Haelwenn (lanodan) Monnier
b82c6dc536
Activity: all_by_object_ap_id/1 → get_all_by_object_ap_id/1 2019-01-21 07:49:59 +01:00
Haelwenn (lanodan) Monnier
f94cc6d824
Mix.Tasks.Pleroma.Instance: Generate signing_salt
Closes: https://git.pleroma.social/pleroma/pleroma/issues/533
2019-01-21 01:16:41 +01:00
lain
cf1f35a93a Send delete event over Mastodon streaming api
Closes #116
2019-01-20 13:00:46 +01:00
lambda
f3045a179e Merge branch 'i1t/pleroma-477_user_search_improvements' into 'develop'
I1t/pleroma 477 user search improvements

See merge request pleroma/pleroma!685
2019-01-20 10:24:05 +00:00
lain
5834b08fe7 Set custom similarity limit. 2019-01-20 10:57:49 +01:00
William Pitcock
aa37313416 activitypub: short-circuit is_public?() with directMessage flag check 2019-01-20 02:33:21 +00:00
William Pitcock
7c9749f793 transmogrifier: slightly clean up fix_explicit_addressing pipeline 2019-01-20 02:27:48 +00:00
William Pitcock
420651157b transmogrifier: don't apply heuristics against messages which have directMessage set true 2019-01-20 02:27:48 +00:00
William Pitcock
ddae43eb43 activitypub: add is_private?/is_direct? helpers 2019-01-20 02:27:48 +00:00
William Pitcock
9adc80afff common api: set directMessage flag on our own posts 2019-01-20 02:27:48 +00:00
William Pitcock
75dfa1f0b0 mastodon api: get_visibility(): DMs never have a cc list. 2019-01-20 02:27:48 +00:00
William Pitcock
681f40ee5c activitypub: transmogrifier: fix up to/cc addressing brain damage caused by mastodon-style explicit DMs 2019-01-20 02:27:48 +00:00
William Pitcock
8d06be35e0 activitypub: utils: add determine_explicit_mentions() and tests 2019-01-20 02:27:48 +00:00
kaniini
42612b1c8d Merge branch 'bugfix/improve-boost-targeting' into 'develop'
improve handling of non-public Announces

See merge request pleroma/pleroma!681
2019-01-19 23:44:08 +00:00
lain
b108aeee08 Make use of the indices.
Indices in postgresql rely on operators, so they won't be used if you use only functions.
2019-01-20 00:31:17 +01:00
rinpatch
44693fbf6e Formating 2019-01-20 01:28:46 +03:00
rinpatch
afd83db0d7 Provide local og:url for remote activities 2019-01-19 10:58:27 +03:00
kaniini
651ce1c97b Merge branch '491_full_mentions_in_user_bio' into 'develop'
[#491] Made user bio preserve full nicknames (nick@host)

Closes #491

See merge request pleroma/pleroma!676
2019-01-19 07:36:58 +00:00
Maxim Filippov
651a1d64b5 Add current user to mentioned 2019-01-19 04:25:15 +03:00
Maxim Filippov
e116e55cab Add actor to recipients 2019-01-18 22:40:52 +03:00
lain
bd6c12592e Add migration to fix spc users. 2019-01-18 19:35:47 +01:00
lain
5d4d51e6dc Add fixes for SPC users. 2019-01-18 19:25:37 +01:00
rinpatch
74346a7035 Fix merge conflict 2019-01-18 18:31:25 +03:00
Ivan Tashkinov
79e44042bc [#477] User trigram index adjustment. 2019-01-18 10:57:42 +03:00
Ivan Tashkinov
ed8f55ab8e [#477] User: FTS and trigram search results mixing (to handle misspelled requests). 2019-01-18 10:35:45 +03:00
rinpatch
997f4a5e09 Remove custom emojis and trailing whitespaces from previews 2019-01-18 10:28:19 +03:00
rinpatch
1b1af4798a Use object instead of activity for metadata 2019-01-18 09:32:52 +03:00
Ivan Tashkinov
65bb9b2fba [#491] Made full nicknames be preserved in user links text only in Bio. 2019-01-18 09:30:16 +03:00
William Pitcock
75a9b2a851 activitypub: add a match clause for objects, not just activities 2019-01-17 23:32:16 +00:00
William Pitcock
dbc4e92509 activitypub: transmogrifier: do not clobber the addressing on relayed announcements 2019-01-17 23:21:31 +00:00
William Pitcock
33b473cc02 activitypub: allow is_public?() to work on any type of map representing an AS2 object 2019-01-17 23:21:31 +00:00
William Pitcock
8e9f1d5587 activitypub: relay: chase selective public announce changes 2019-01-17 23:21:31 +00:00
William Pitcock
2479e88815 activitypub: announce: add new public parameter 2019-01-17 23:21:31 +00:00
kaniini
98d9dcd509 Merge branch '502_instance_stats_active_users_count_fix' into 'develop'
[#502] Fixed `user_count` in `/api/v1/instance` to include only active local users

Closes #502

See merge request pleroma/pleroma!678
2019-01-17 19:27:15 +00:00
kaniini
ae8a5942cf Merge branch 'bad-copy-paste' into 'develop'
Fix bad link in likes collection

See merge request pleroma/pleroma!679
2019-01-17 19:22:21 +00:00
sxsdv1
948fba6f76 Fix bad link in likes collection
Don't copy and paste, mkay
2019-01-17 18:21:43 +01:00
rinpatch
a95d5da607 Don't show content if empty or zero width space 2019-01-17 20:18:28 +03:00
Ivan Tashkinov
954dc4a4ad [#502] Fixed user_count in /api/v1/instance to include only active local users. 2019-01-17 19:16:02 +03:00
Mark Felder
849c83ed46 formatting 2019-01-17 16:10:26 +00:00
Mark Felder
6bc9a641ba Default to disabled in the code in case the setting is absent from config.exs 2019-01-17 16:01:25 +00:00
rinpatch
388ceb6a7d Fix the issue with get_by_nickname never being called 2019-01-17 19:00:08 +03:00
Mark Felder
8c368d42a2 Make attachment links configurable
Thanks @href!
2019-01-17 15:48:14 +00:00
Ivan Tashkinov
2bfae25a1f [#491] Made user bio preserve full nicknames (nick@host). 2019-01-17 18:03:49 +03:00