Commit graph

2353 commits

Author SHA1 Message Date
Mark Felder
ac7ef0999d WIP: Fix Twitter Cards
Twitter cards were not passing any useful metadata. A few things were
being handled on Twitter's end by trying to match OpenGraph tags with
their own, but it wasn't working at all for media. This is an attempt to
fix that.

Common functions have been pulled out of opengraph and put into
utils. Twitter's functionality was entirely replaced with a direct copy
of Opengraph's and then modified as needed.

Profiles are now represented as Summary Cards

Posts with images are now represented as Summart with Large Image Cards

Posts with video and audio attachments are represented as Player Cards.

This now passes the Twitter Card Validator.

Validator and Docs are below

https://cards-dev.twitter.com/validator
https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards
2019-02-11 23:59:04 +00:00
rinpatch
379d04692c Filter summary in keywordpolicy 2019-02-11 21:35:40 +03:00
rinpatch
39383a6b79 Merge branch 'feature/thread-muting' into 'develop'
Feature/thread muting

See merge request pleroma/pleroma!796
2019-02-11 15:02:14 +00:00
lambda
044616292b Merge branch 'feature/rich-media-limits' into 'develop'
rich media: tighten fetching timeouts and size limits

See merge request pleroma/pleroma!809
2019-02-11 12:33:58 +00:00
ac72b578da Merge branch 'develop' into feature/thread-muting 2019-02-11 12:10:49 +01:00
c01ef574c1 Refactor as per Rin's suggestions, add endpoint tests 2019-02-11 12:04:02 +01:00
lambda
d53e36bf1e Revert "Merge branch 'object-creation' into 'develop'"
This reverts merge request !802
2019-02-11 08:07:39 +00:00
Egor Kislitsyn
305d219413 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/jobs
# Conflicts:
#	lib/pleroma/web/federator/federator.ex
#	lib/pleroma/web/websub/websub.ex
2019-02-11 13:54:21 +07:00
William Pitcock
45e57dd187 rich media: tighten fetching timeouts and size limits 2019-02-10 21:54:08 +00:00
kaniini
6c8d15da11 Merge branch 'fix/credo-issues' into 'develop'
Fix credo issues

See merge request pleroma/pleroma!786
2019-02-10 20:54:21 +00:00
cc21fc5f53 refactor, status view updating, error handling 2019-02-10 10:42:30 +01:00
lain
f8388be9c6 Do object insertion through Cachex
So we don't flood our postgres logs with errors. Should also make things
slightly faster.
2019-02-09 22:01:08 +01:00
6a150de3bd Add unique index and unique constraint check, uniqueness test fails 2019-02-09 20:52:11 +01:00
a0d732ec55 it works!! 2019-02-09 17:47:57 +01:00
Haelwenn (lanodan) Monnier
d924dc73ba
de-group import/s 2019-02-09 16:31:17 +01:00
Haelwenn (lanodan) Monnier
6a6a5b3251
de-group alias/es 2019-02-09 16:31:17 +01:00
Ivan Tashkinov
a337bd114c [#468] MastodonAPI scope restrictions. Removed obsolete "POST /web/login" route. 2019-02-09 17:32:33 +03:00
Ivan Tashkinov
4ad843fb9d [#468] Prototype of OAuth2 scopes support. TwitterAPI scope restrictions. 2019-02-09 17:09:08 +03:00
Haelwenn (lanodan) Monnier
2272934a5e
Stash 2019-02-09 14:59:21 +01:00
Haelwenn (lanodan) Monnier
d2e4eb7c74
Web.ActivityPub.ActivityPub: assign the Enum.filter to recipients & simplify it 2019-02-09 14:59:21 +01:00
Haelwenn (lanodan) Monnier
473095faf2
Web.Federator: Fix unused variable 2019-02-09 14:59:20 +01:00
Haelwenn (lanodan) Monnier
60ea29dfe6
Credo fixes: alias grouping/ordering 2019-02-09 14:59:20 +01:00
Haelwenn (lanodan) Monnier
106f4e7a0f
Credo fixes: parameter consistency 2019-02-09 14:59:20 +01:00
Haelwenn (lanodan) Monnier
8bcfac93a8
Make credo happy 2019-02-09 14:59:20 +01:00
lambda
1eecbc1cd1 Merge branch 'feature/keyword-policy' into 'develop'
Add keyword policy

See merge request pleroma/pleroma!794
2019-02-09 11:38:37 +00:00
7e47a810a2 help i am not good with git 2019-02-08 13:22:29 +01:00
5c5b228f21 Added thread unmuting (still a bit buggy maybe) 2019-02-08 13:20:40 +01:00
a44e532fb1 Added thread unmuting (still a bit buggy maybe) 2019-02-08 13:17:11 +01:00
rinpatch
7356659273 wow 2019-02-08 15:12:13 +03:00
98ec578f4d Merge branch 'develop' into feature/thread-muting 2019-02-08 12:44:02 +01:00
rinpatch
f88dec8b33 What idiot did that? (me) 2019-02-08 13:16:50 +03:00
rinpatch
6c21f5aa16 Merge branch 'develop' into feature/keyword-policy 2019-02-08 13:12:33 +03:00
rinpatch
8a0b755c19 rename ftl_removal to federated_timeline_removal to keep consistent naming with SimplePolicy 2019-02-08 13:12:09 +03:00
rinpatch
2174f6eb4f Add default config for keyword policy 2019-02-08 12:48:39 +03:00
rinpatch
46aa8c18a2 Add keyword policy 2019-02-08 12:38:24 +03:00
c43f414a79 Somehow fixed the repo insert [skip-ci] 2019-02-07 23:44:49 +01:00
7e3ec93ed0 made a silly oopsie 2019-02-07 22:59:53 +01:00
77448de492 ugghhhh 2019-02-07 22:25:07 +01:00
Ivan Tashkinov
2c68cf7e9e OAuth2 security fixes: redirect URI validation, "Mastodon-Local" security breach fix.
(`POST /api/v1/apps` could create "Mastodon-Local" app wth any redirect_uris,
and if that happened before /web/login is accessed for the first time
then Pleroma used this externally created record with arbitrary
redirect_uris and client_secret known by creator).
2019-02-07 22:14:06 +03:00
f4ff4ffba2 Migration and some boilerplate stuff 2019-02-07 17:36:14 +01:00
Mark Felder
74518d0b60 hide_followings was renamed to hide_followers in the FE, but never synced up in the BE
This was a dirty regex replace which worked on my server
2019-02-06 22:34:44 +00:00
Haelwenn
1220a17146 Merge branch 'bugfix/rich-media-card' into 'develop'
rich media cards: bugfixes and regression tests

See merge request pleroma/pleroma!785
2019-02-06 18:39:13 +00:00
kaniini
18e783bcb2 Merge branch 'add-admin-and-moderator-fields' into 'develop'
Add admin and moderator badges to user view and make their visibility configurable

See merge request pleroma/pleroma!767
2019-02-06 18:19:47 +00:00
William Pitcock
65a4b9fbea mastodon api: rich media: don't clobber %URI struct with a string 2019-02-06 18:02:15 +00:00
rinpatch
f7aedbcc55 Merge branch 'fix/activitypub-user-view-badmap' into 'develop'
Fix if clause in activity_pub user_view

See merge request pleroma/pleroma!783
2019-02-06 17:47:58 +00:00
href
f753043ce0
Fix if clause in activity_pub user_view 2019-02-06 18:42:19 +01:00
Egor Kislitsyn
6f05f448f8 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/jobs 2019-02-06 11:33:00 +07:00
eugenijm
035eaeb9b8 Allow to configure visibility for admin and moderator badges 2019-02-06 06:18:05 +03:00
eugenijm
398c81f9c8 Add is_admin and is_moderator boolean fields to the user view 2019-02-06 02:10:06 +03:00
William Pitcock
d83dbd9070 rich media: parser: reject any data which cannot be explicitly encoded into JSON 2019-02-05 20:50:57 +00:00
kaniini
d120aa63f0 Merge branch 'fix-dm-index' into 'develop'
Massage index until it actually does the stuff we want.

See merge request pleroma/pleroma!772
2019-02-05 20:27:31 +00:00
kaniini
681ba1e52f Merge branch 'feature/ap-c2s-whoami' into 'develop'
activitypub: c2s: add /api/ap/whoami endpoint for andstatus

See merge request pleroma/pleroma!773
2019-02-05 20:26:31 +00:00
kaniini
eb2b1960e0 Merge branch 'feature/split-hide-network-v2' into 'develop'
Split hide_network into hide_followers & hide_followings (fixed)

See merge request pleroma/pleroma!765
2019-02-05 18:56:59 +00:00
kaniini
ecdb0b7f57 Merge branch 'bugfix/rich-media-image-nil' into 'develop'
mastodon api: fix rendering of cards without image URLs (closes #597)

Closes #597

See merge request pleroma/pleroma!777
2019-02-05 18:53:43 +00:00
William Pitcock
1d94b67e40 mastodon api: fix rendering of cards without image URLs (closes #597) 2019-02-05 18:30:27 +00:00
William Pitcock
e71ab5a10f activitypub: transmogrifier: fix bare tags 2019-02-05 00:43:28 +00:00
William Pitcock
db1165f70f activitypub: c2s: add /api/ap/whoami endpoint for andstatus 2019-02-04 22:58:29 +00:00
lain
f3c8b02d65 Massage index until it actually does the stuff we want.
Also makes the index a lot smoler.
2019-02-04 23:47:29 +01:00
William Pitcock
7d110be119 activitypub: mrf: tag policy: fix force-unlisted and sandbox actions 2019-02-04 19:03:54 +00:00
William Pitcock
64a3993425 activitypub: mrf: tag policy: add support for subscription control 2019-02-04 17:48:48 +00:00
Egor Kislitsyn
14d967f515 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/jobs 2019-02-05 00:38:05 +07:00
William Pitcock
ff2c28fd6d activitypub: mrf: tag policy: refactor the filtering hook a bit 2019-02-04 17:06:37 +00:00
William Pitcock
9a69f08e86 activitypub: mrf: tag policy: add support for processing follow requests 2019-02-04 17:04:05 +00:00
William Pitcock
084bb8ccd5 activitypub: mrf: tag policy: implement force-unlisted and sandbox 2019-02-04 17:04:05 +00:00
William Pitcock
88e32a32ce mrf: add initial MRF.TagPolicy engine 2019-02-04 17:04:05 +00:00
rinpatch
00835bf678 Merge branch 'fix/rich-media-relative-path' into 'develop'
Fix rich media relative path

Closes #588

See merge request pleroma/pleroma!759
2019-02-04 16:01:34 +00:00
Egor Kislitsyn
3a3a3996b7 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/jobs
# Conflicts:
#	lib/pleroma/web/activity_pub/activity_pub.ex
#	lib/pleroma/web/federator/federator.ex
2019-02-04 20:50:28 +07:00
rinpatch
89762ad230 Merge branch 'feature/hellthread-filter-improvements' into 'develop'
Improve hellthread filter

Closes #584

See merge request pleroma/pleroma!766
2019-02-04 12:36:50 +00:00
58262a8b8a removed a debug thingy 2019-02-04 11:22:25 +00:00
4430641349 squished a bug 2019-02-04 12:09:00 +01:00
3cf046babb actually commited the changes 2019-02-04 10:23:43 +01:00
63a4f4b7be fixed Map,put arguments, updated nomenclature 2019-02-04 10:23:07 +01:00
583c4e0f17 more tweaks, fixed silly mistakes... 2019-02-03 23:56:20 +01:00
e10cda7541 implemented tweaks 2019-02-03 22:46:06 +01:00
531507a635 fixed things 2019-02-03 20:45:32 +01:00
10130fa7d6 made toggleable, added docs 2019-02-03 20:27:28 +01:00
0ef0ae35ab added optional delist feature 2019-02-03 20:12:23 +01:00
Maxim Filippov
16ce129e38 Split hide_network into hide_followers & hide_followings (fixed) 2019-02-03 21:55:04 +03:00
lambda
69a38644bc Merge branch '589-fix-cache' into 'develop'
Resolve "Update object cache on favs/boosts"

Closes #589

See merge request pleroma/pleroma!764
2019-02-03 18:19:40 +00:00
lain
505a084058 Still do caching in tests. 2019-02-03 18:28:14 +01:00
Ivan Tashkinov
3913b0196e [#582] Made single-pub task call Instance.set_reachable/1 if set_reachable is not specified.
Added tests.
2019-02-03 13:28:13 +03:00
Ivan Tashkinov
b40b4bc4e5 [#582] Optimized federation retirement by reducing the number of SQL calls
(calling `Instances.set_reachable/1` only if instance had `unreachable_since`,
calling `Instances.set_unreachable/1` only if instance had nil `unreachable_since`).
2019-02-03 12:41:27 +03:00
Maxim Filippov
2c59eb3cfc Add responsive features to layout 2019-02-02 13:40:34 +03:00
rinpatch
68d461b3a9 Check if rich media uri is relative 2019-02-02 12:24:24 +03:00
rinpatch
833404f0f5 Use with instead of if in the card 2019-02-02 12:04:18 +03:00
rinpatch
e4d18f328b merge only if page_url is an absolute path 2019-02-02 11:53:46 +03:00
rinpatch
cbadf9d333 Fix rich media relative path 2019-02-02 11:38:37 +03:00
kaniini
486749064f Revert "Merge branch 'feature/split-hide-network' into 'develop'"
This reverts merge request !733
2019-02-01 20:22:58 +00:00
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
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
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
1cdcee89da mix format pass 2019-02-01 14:40:43 -03:00
23b1c64a19 downcase software name in nodeinfo 2019-02-01 14:35:08 -03:00
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
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
b0c4c082c4 mix format pass 2019-02-01 04:02:40 -03:00
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
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
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
Egor Kislitsyn
d3677d2b4d Merge remote-tracking branch 'MAIN/develop' into feature/jobs 2019-01-31 15:07:49 +07: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
Egor Kislitsyn
55affbca7f add a job queue 2019-01-28 22:17:17 +07: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
sxsdv1
581edd5a91 Add route to get object like activities 2019-01-12 20:24:38 +01:00
sxsdv1
36711e1c83 Handle client submitted activitypub like activity 2019-01-12 20:24:35 +01:00
sxsdv1
1eb7318831 Prepare all types objects before serialising
Activities returned from inbox can include other types of objects like
Article
2019-01-12 20:24:32 +01:00
Sadposter
9daf162461 Honour parameters on MastoAPI /favourites 2019-01-12 14:42:52 +00:00
Sadposter
144b48da95 Add link headers to MastoAPI /favourites
As documented at https://docs.joinmastodon.org/api/rest/favourites/
2019-01-12 14:03:35 +00:00
Egor Kislitsyn
b594a54d0c unpin when deleting a status 2019-01-11 12:31:31 +07:00
kaniini
e4afe1359b Merge branch 'activitypub-dereference-activity-id' into 'develop'
Support activity+json request for activity

See merge request pleroma/pleroma!641
2019-01-10 18:42:36 +00:00
Maxim Filippov
1f851a0723 Add Twitter Card parser 2019-01-10 18:09:56 +00:00
kaniini
11d08c6226 Merge branch 'twapi-follower-pagination' into 'develop'
Twapi follower pagination

See merge request pleroma/pleroma!648
2019-01-10 18:03:32 +00:00
Haelwenn
ab4c5f5bf7 Merge branch 'bugfix/markdown-newline-codeblocks' into 'develop'
common api: fix newlines in markdown code blocks

See merge request pleroma/pleroma!651
2019-01-10 03:54:29 +00:00
William Pitcock
0bdbd4f968 common api: utils: remove newline to <br> conversion from bare HTML to be consistent with markdown
ok @lanodan
2019-01-10 03:45:58 +00:00
William Pitcock
2ecf81f10c common api: fix newlines in markdown code blocks 2019-01-10 03:37:37 +00:00
kaniini
7f5efddd6e Merge branch 'feature/pinned-posts' into 'develop'
Pinned Statuses

Closes #440

See merge request pleroma/pleroma!636
2019-01-10 02:39:53 +00:00
kaniini
d203b0b4d3 Merge branch 'dm-optimizations' into 'develop'
Add activity visibility index.

See merge request pleroma/pleroma!646
2019-01-10 02:31:29 +00:00
rinpatch
b57db828c7 Merge branch 'hotfix/ogp-cachex-fix' into 'develop'
Rich media: Remove :commit since a tuple is already returned

See merge request pleroma/pleroma!649
2019-01-09 18:42:00 +00:00
rinpatch
a2d7f0e0e9 Remove :commit since a tuple is already returned 2019-01-09 21:35:01 +03:00
lain
a99e156f2c Add integer casts. 2019-01-09 18:17:23 +01:00
lain
7ac152ed38 TwitterAPI: Add follower/following pagination. 2019-01-09 18:14:32 +01:00
lambda
1881680e28 Merge branch 'scarlett/pleroma-summary-html-api' into 'develop'
Scarlett/pleroma summary html api

See merge request pleroma/pleroma!647
2019-01-09 16:26:38 +00:00
lain
5027f82cde Add activity visibility index. 2019-01-09 16:45:09 +01:00
Egor Kislitsyn
44a1e69484 Add Twitter API for the pinned statuses
```
# Only return statuses that have been pinned
GET /api/statuses/user_timeline.json?pinned=true

# Pin
POST /api/statuses/pin/:id

# Unpin
POST /api/statuses/unpin/:id
```
2019-01-09 19:54:19 +07:00
lain
9854978b8b Remove recent activity restriction.
This should be fine now, everything should be covered by indices.
2019-01-09 12:38:23 +01:00
Egor Kislitsyn
1b06e6fdf3 only non-reblogs, self-authored, public statuses can be pinned 2019-01-09 17:40:15 +07:00
sxsdv1
20c0dd1e24 Support activity+json request for activity 2019-01-09 09:33:30 +01:00
Egor Kislitsyn
0c750bc432 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/pinned-posts 2019-01-08 16:32:07 +07:00
Egor Kislitsyn
e679da4c34 add pinned property to StatusView 2019-01-08 15:27:02 +07:00
lain
a16b17cc61 Actually put some onformation in the error user, make it actually properly parse
in conversations.
2019-01-07 20:59:30 +01:00
kaniini
74e1093732 Merge branch 'resilient-user-view' into 'develop'
Make TwAPI UserView more resilient to issues.

See merge request pleroma/pleroma!634
2019-01-07 17:09:52 +00:00
Egor Kislitsyn
f24087f96e Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/pinned-posts 2019-01-07 20:55:32 +07:00
Egor Kislitsyn
380e9fba21 add pinned posts 2019-01-07 20:45:33 +07:00
lain
7382adf407 Make TwAPI UserView more resilient to issues.
Will work for missing users and badly migrated users.
2019-01-07 12:41:31 +01:00
scarlett
36fa5e8802 Check visible_for_user when performing a search using a direct link. 2019-01-07 10:36:31 +00:00
scarlett
52493467ac Twitter API: Add a summary_html field.
The intention here is to allow proper subject copying when it contains
emoji, obviously this will require minor frontend changes, though.
2019-01-06 10:19:00 +00:00
kaniini
576368237c Merge branch 'activitypub-tombstone-fix' into 'develop'
Don't crash on AP request for tombstone

See merge request pleroma/pleroma!630
2019-01-05 22:29:08 +00:00
scarlett
145d6fe6e9 Merge branch 'emoji-in-summary' into 'develop'
Strip HTML in and allow emoji in summaries.

See merge request pleroma/pleroma!631
2019-01-05 21:52:02 +00:00
scarlett
6556be344d Resolve some test failures. 2019-01-05 18:20:42 +00:00
scarlett
3c86d907d4 add some brakets to the emoji list. 2019-01-05 17:35:39 +00:00
scarlett
0787f0dfbe Strip HTML in and allow emoji in summaries. 2019-01-05 17:28:47 +00:00
sxsdv1
2d7da5f437 Don't crash on AP request for tombstone
Because tombstone objects has no addressing the is_public?-predicate
would cause an error that propagated as a 500 error in the api
2019-01-05 11:16:05 +01:00
rinpatch
ba17518a0a Merge branch 'feature/rich-media-cachex' into 'develop'
rich media: use cachex to avoid flooding remote servers

See merge request pleroma/pleroma!629
2019-01-04 23:56:42 +00:00
William Pitcock
487c00d36d rich media: disable cachex in test mode 2019-01-04 23:53:26 +00:00