Commit graph

2091 commits

Author SHA1 Message Date
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
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
href 5ea0397e2d
Fix 4aff4efa typos 2019-01-30 21:08:41 +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
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
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 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
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 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
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
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
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
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
Ivan Tashkinov 8654a591f0 [#534] Updating external instances reachability on incoming federation. 2019-01-24 17:37:23 +03: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
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 973c9eed18
Treat User.Info pinned ids as strings 2019-01-23 11:26:37 +01:00
href cdc5e6ff5c
ActivityPub: restrict_since/restrict_max: ignore empty param 2019-01-23 11:26:35 +01:00
href 28d77e373c
Flake Ids for Users and Activities 2019-01-23 11:26:27 +01:00
href f9a3269099
Uploader callback controller 2019-01-21 22:44:14 +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 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 b82c6dc536
Activity: all_by_object_ap_id/1 → get_all_by_object_ap_id/1 2019-01-21 07:49:59 +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
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
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
rinpatch 74346a7035 Fix merge conflict 2019-01-18 18:31:25 +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 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
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
Mark Felder 8c368d42a2 Make attachment links configurable
Thanks @href!
2019-01-17 15:48:14 +00:00
rinpatch 4d5f15cd42 Introduce optional unfurling of nsfw content 2019-01-17 11:00:02 +03:00
rinpatch 0256bd2f1d Use object url instead of a hack 2019-01-17 10:34:19 +03:00
rinpatch fd3a558230 Apply feld's patch 2019-01-17 09:18:46 +03:00
rinpatch 5fa508cc2b Remove @providers and call Pleroma.config on runtime 2019-01-16 18:04:41 +03:00
rinpatch bb43f4cee9 Remove useless with in opengraph.ex 2019-01-16 18:02:46 +03:00
rinpatch 293f6a8b71 join us now and share the software~. Also tests 2019-01-16 17:15:13 +03:00
lain 943324b661 MastoAPI: Don't break on missing users. 2019-01-16 15:13:09 +01:00
rinpatch b44995866b Replace map with reduce to remove nils 2019-01-16 16:52:01 +03:00
rinpatch ff01fd3c4f Remove caching because it does not affect performance and may be even worse in some cases 2019-01-16 11:18:25 +03:00
rinpatch bfe2a11a6b Add config doc 2019-01-16 10:45:56 +03:00
rinpatch a9c27e137d Add a fallback function to handle generic params, just in case 2019-01-16 10:38:42 +03:00
rinpatch a76793006b Thanks you rinpatch, very cool 2019-01-16 10:35:06 +03:00
rinpatch 0039d45b5b No need to use activity in the key 2019-01-16 10:30:47 +03:00
rinpatch 70b2bb6ede add caching 2019-01-16 10:26:01 +03:00
rinpatch dd1432d695 Disable previews for any activity, but create 2019-01-16 09:42:24 +03:00
rinpatch 565caff3f4 cache HTML in OGP 2019-01-16 00:07:28 +03:00
rinpatch 9aa69e12b8 Add behaviours to TwitterCard, remove some dumb stuff in Formatter.truncate 2019-01-15 23:25:28 +03:00
rinpatch 2e630bea0d Add twitter card, filter nsfw 2019-01-15 23:00:22 +03:00
rinpatch 70f140681f Add space between name and nickname 2019-01-15 21:47:45 +03:00
rinpatch e8eecd61b4 Formating 2019-01-15 21:20:27 +03:00
rinpatch 410fd9d774 Attach attachments 2019-01-15 21:17:56 +03:00
William Pitcock 17da432dbb websub: improve error handling 2019-01-15 18:03:49 +00:00
rinpatch ff6c9a5c96 Introduce get_by_id in Activity, replace newlines with spaces 2019-01-15 20:00:21 +03:00
rinpatch 850912b06b refactor opengraph to a different module with a behaviour 2019-01-15 19:43:52 +03:00
rinpatch 8745c8c990 remove useless newlines after every tag. Make domain.com/username provide opengraph too 2019-01-15 18:34:47 +03:00
rinpatch 2858fd2da2 add a fallback function 2019-01-15 12:11:07 +03:00
rinpatch ce15e0659e Fix some edge cases [nervous laughter] 2019-01-15 11:56:35 +03:00
rinpatch 4656f433f9 Move metadata.ex out of ostatus 2019-01-15 11:00:17 +03:00
lambda fd2f1258fb Merge branch 'load-all-dms' into 'develop'
Remove recent activity restriction.

See merge request pleroma/pleroma!644
2019-01-14 18:49:53 +00:00
Ivan Tashkinov dc45ec62c2 [#477] User search improvements: tsquery search with field weights, friends & followers boosting. 2019-01-14 20:04:45 +03:00
kaniini de1da7b3d1 Merge branch 'feature/add-oembed-parser' into 'develop'
Add OEmbed parser

See merge request pleroma/pleroma!661
2019-01-14 07:28:04 +00:00
kaniini fa0392e49c Merge branch 'activitypub-likes' into 'develop'
Activitypub c2s likes

See merge request pleroma/pleroma!658
2019-01-14 07:27:05 +00:00
William Pitcock 6e5b0406b9 mrf: add no placeholder-text policy, strips pointless "." content from posts with images 2019-01-14 05:42:38 +00:00
rinpatch e4dc3f71ae Resolve merge conflict 2019-01-13 13:38:28 +03:00
Maxim Filippov b8a77c5d70 Add OEmbed parser 2019-01-13 02:06:50 +02:00
sxsdv1 868034375c Add likes to activitypub object representation
Top level of the likes OrderedCollection is inlined to get immediate
access to totalItems. Because the count can be returned without scanning
the database for like activities the extra query is saved when the
client only wants to display the total.
2019-01-12 20:24:41 +01:00