Commit Graph

2690 Commits

Author SHA1 Message Date
href ffbf306c9a Merge branch 'streaming-api-url-fix' into 'develop'
Fix WebSocket streaming API URL.

See merge request pleroma/pleroma!756
2019-02-01 19:39:50 +00:00
William Pitcock af10ef8d4e object: use cached accesses when possible in Object.normalize() 2019-02-01 19:38:57 +00:00
eugenijm a184811a60 Use url() instead of static_url in Endpoint.websocket_url() 2019-02-01 22:35:19 +03:00
href 7e384a2425 Merge branch 'develop' into 'develop'
Use nodeinfo 2.1

See merge request pleroma/pleroma!753
2019-02-01 19:18:46 +00:00
Luna 9cac8729af update nodeinfo version when requesting 2.1 2019-02-01 16:03:23 -03:00
eugenijm d747bd9870 Use String.replace_leading instead of String.replace for getting websocket streaming api url.
Extract the login responsible for obtaining websocket URL into the corresponding
Endpoint function.
2019-02-01 21:58:43 +03:00
Luna 1cdcee89da mix format pass 2019-02-01 14:40:43 -03:00
Luna 23b1c64a19 downcase software name in nodeinfo 2019-02-01 14:35:08 -03:00
Luna b17ce875cf keep compatibility with nodeinfo 2.0
splits actual nodeinfo generation into raw_nodeinfo, the 2.0 handler
gives the same result, while the 2.1 handler inserts the
software.repository field. requested by @href
2019-02-01 14:23:40 -03:00
Haelwenn (lanodan) Monnier 74c6119f28
MastodonAPI.MastodonAPIController: Return a 404 when we fail to get a list 2019-02-01 18:21:16 +01:00
Luna cd6db6abe4 use Mix.Project.Config for some Application functions 2019-02-01 14:11:23 -03:00
kaniini 0a82a7e6d6 Merge branch 'feature/split-hide-network' into 'develop'
Split hide_network into hide_followers & hide_followings

See merge request pleroma/pleroma!733
2019-02-01 17:05:29 +00:00
lambda fc7644798d Merge branch 'serve-sw-pleroma.js' into 'develop'
Serve sw-pleroma.js properly

See merge request pleroma/pleroma!754
2019-02-01 14:24:07 +00:00
href fa5ec765d9
Serve sw-pleroma.js properly 2019-02-01 11:34:41 +01:00
lain 01d483f9c7 Merge remote-tracking branch 'origin/develop' into fix-rich-media-toggle 2019-02-01 10:21:17 +01:00
href b3b0855456 Merge branch '534_federation_targets_reachability' into 'develop'
[#534] Unreachable federation targets retirement

Closes #534

See merge request pleroma/pleroma!703
2019-02-01 09:14:35 +00:00
Luna b0c4c082c4 mix format pass 2019-02-01 04:02:40 -03:00
Luna c05928dbda use nodeinfo 2.1, add repository field
that is the only change from nodeinfo 2.0 to 2.1

also this makes the nodeinfo tests use 2.1.json instead of 2.0.json
2019-02-01 03:55:10 -03:00
lain b19b4f8537 Remove default value for rich media.
Setting it to true will actually override a 'false' set before.
2019-01-31 20:02:08 +01:00
href 308b35ebe2
User.follow_all: ensure its stays unique 2019-01-31 18:17:44 +01:00
lambda 44913c1019 Merge branch 'bugfix/rich-media-non-unicode' into 'develop'
rich media non-unicode bugfix

See merge request pleroma/pleroma!749
2019-01-31 16:54:48 +00:00
William Pitcock 46dba03098 rich media: parser: only try to validate strings, not numbers (OEmbed) 2019-01-31 16:19:31 +00:00
William Pitcock dafb6f0b5e rich media: parser: reject OGP fields we cannot safely process 2019-01-31 16:03:56 +00:00
rinpatch 7057891db6 Make rich media support toggleable 2019-01-31 18:18:20 +03:00
lambda a43a1c6d4e Revert "Merge branch 'spc-fix-3' into 'develop'"
This reverts merge request !682
2019-01-31 12:16:23 +00:00
kaniini 4d3655c479 Merge branch 'spc-fix-3' into 'develop'
Spc fix 3

See merge request pleroma/pleroma!682
2019-01-31 11:29:29 +00:00
Haelwenn 00d4333373 Merge branch 'features/glitch-soc-frontend' into 'develop'
Features/glitch soc frontend

See merge request pleroma/pleroma!192
2019-01-31 10:16:11 +00:00
lambda 6b54a3ec0b Merge branch 'multiple-hackney-pools' into 'develop'
Fix 4aff4efa typos

See merge request pleroma/pleroma!743
2019-01-30 20:18:05 +00:00
href 5ea0397e2d
Fix 4aff4efa typos 2019-01-30 21:08:41 +01:00
kaniini bd5086731e Merge branch 'multiple-hackney-pools' into 'develop'
Use multiple hackney pools

See merge request pleroma/pleroma!739
2019-01-30 19:01:57 +00:00
lain 47ec690c54 Use race-condition free mass follow. 2019-01-30 19:33:25 +01:00
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