Commit graph

422 commits

Author SHA1 Message Date
Maksim Pechnikov dbcfac11b4 Merge branch 'develop' into issue/1276 2020-04-02 14:47:17 +03:00
Ivan Tashkinov 2f2bd7fe72 Ability to control the output of account/pleroma/relationship in statuses in order to improve the rendering performance.
See `[:extensions, output_relationships_in_statuses_by_default]` setting and `with_relationships` param.
2020-04-01 19:49:09 +03:00
Haelwenn (lanodan) Monnier 185520d1b4
Provide known-good user.uri, remove User.profile_url/1 2020-03-31 23:55:29 +02:00
Haelwenn e999c67cee Merge branch 'feature/funkwhale-audio' into 'develop'
Add support for funkwhale Audio activity

Closes #764 and #1624

See merge request pleroma/pleroma!2287
2020-03-29 19:18:22 +00:00
Maksim Pechnikov dfd2c74184 Merge branch 'develop' into issue/1276 2020-03-29 06:57:34 +03:00
Ivan Tashkinov be9d18461a FollowingRelationship storage & performance optimizations (state turned ecto_enum-driven integer, reorganized indices etc.). 2020-03-28 18:49:03 +03:00
Ivan Tashkinov dfbc05d496 Misc refactoring / tweaks (ThreadMute.exists?/2). 2020-03-27 08:01:03 +03:00
Ivan Tashkinov 6b793d3f83 Ensured no auxiliary computations (actors list preparation etc.) related to relationships preloading if no user is present (for statuses / accounts / relationships rendering). 2020-03-26 21:54:01 +03:00
Ivan Tashkinov 460e41585c Further preloading (more endpoints), refactoring, tests. 2020-03-25 20:33:34 +03:00
Ivan Tashkinov be5e2c4dbb Applied relationships preloading to GET /api/v1/accounts/relationships. Refactoring (User.binary_id/1). 2020-03-25 17:01:45 +03:00
Ivan Tashkinov 8f1d622b8d Merge remote-tracking branch 'remotes/origin/develop' into relations-preloading-for-statuses-rendering 2020-03-24 22:15:37 +03:00
Ivan Tashkinov 13cbb9f6ad Implemented preloading of relationships with parent activities' actors for statuses/timeline rendering. Applied preloading for notifications rendering. Fixed announces rendering issue (preloading-related). 2020-03-24 22:14:26 +03:00
Ivan Tashkinov 3c78e5f327 Preloading of follow relations for timeline/statuses rendering (performance improvement). Refactoring. 2020-03-23 12:01:11 +03:00
Alexander Strizhakov a6ee6784bc
creating trusted app from adminFE & mix task 2020-03-23 10:44:47 +03:00
Ivan Tashkinov c2e415143b WIP: preloading of user relations for timeline/statuses rendering (performance improvement). 2020-03-22 21:51:44 +03:00
Haelwenn (lanodan) Monnier 15be6ba9c2
AccountView: fix for other forms of <br> in bio
Closes: https://git.pleroma.social/pleroma/pleroma/issues/1643
2020-03-22 16:41:01 +01:00
rinpatch 981e015f1b Mastodon API Account view: Remove an outdated hack
The hack with caching the follow relationship was introduced
when we still were storing it inside the follow activity, resulting in
slow queries. Now we store follow state in `FollowRelationship` table,
so this is no longer necessary.
2020-03-22 17:10:37 +03:00
Haelwenn (lanodan) Monnier 8176ca9e40 static_fe: Sanitize HTML in users 2020-03-15 20:44:04 +01:00
Haelwenn (lanodan) Monnier 863ec33ba2
Add support for funkwhale Audio activity
reel2bits fixture not included as it lacks the Actor fixture for it.

Closes: https://git.pleroma.social/pleroma/pleroma/issues/1624
Closes: https://git.pleroma.social/pleroma/pleroma/issues/764
2020-03-11 13:46:42 +01:00
Maksim Pechnikov edb659dc57 Merge branch 'develop' into issue/1276 2020-03-08 14:10:59 +03:00
Mark Felder 05da5f5cca Update Copyrights 2020-03-03 16:44:49 -06:00
Haelwenn (lanodan) Monnier 6da6540036
Bump copyright years of files changed after 2020-01-07
Done via the following command:
git diff fcd5dd259a --stat --name-only | xargs sed -i '/Pleroma Authors/c# Copyright © 2017-2020 Pleroma Authors <https:\/\/pleroma.social\/>'
2020-03-02 06:08:45 +01:00
Maksim Pechnikov 10f452ad1f Merge branch 'develop' into issue/1276 2020-02-25 07:22:56 +03:00
Egor Kislitsyn 2ef70b55f5
Fix status.expires_at type 2020-02-18 14:52:11 +04:00
Maksim Pechnikov 28701c08ad Merge branch 'develop' into issue/1276 2020-02-17 08:56:03 +03:00
Haelwenn (lanodan) Monnier 1257331291
MastodonAPI.StatusView: Do not use site_name
site_name allow to spoof the origin of the domain and so hacks like:

<!-- served on https://hacktivis.me/tmp/joinmastodon.org.html -->
<meta property="og:image" content="https://hacktivis.me/datalove/img/meme/pleroma/mastodon%2C%20forbidden%20amuse%20yourself.jpeg" />
<meta property="og:title" content="Mastodon: Forbidden Amuse Yourself" />
<meta property="og:site_name" content="joinmastodon.org" />
<meta http-equiv="refresh" content="0; url=http://joinmastodon.org/">
2020-02-15 00:36:09 +01:00
Maksim Pechnikov da44ee5b0f Merge branch 'develop' into issue/1276 2020-02-13 09:20:34 +03:00
Maksim Pechnikov b87533760b Merge branch 'develop' into issue/1276 2020-02-10 07:59:52 +03:00
Lain Soykaf f875b9650a EmojiReactions: Add Mastodon-aligned reaction endpoints, change response 2020-02-07 14:52:13 +01:00
feld df0b00b32d Merge branch 'mastoapi-non-html-strings' into 'develop'
mastodon API: do not sanitize html in non-html fields

See merge request pleroma/pleroma!2167
2020-02-06 16:08:23 +00:00
rinpatch 983a87175e mastodon API: do not sanitize html in non-html fields 2020-02-02 14:46:32 +03:00
lain a802e07241 Emoji Reactions: Add reacted field to emoji reactions 2020-01-29 11:39:06 +01:00
Maksim Pechnikov e442ea5722 Merge branch 'develop' into issue/1276 2020-01-27 15:20:47 +03:00
Alexander Strizhakov de4102b247
can be changed in runtime 2020-01-25 10:39:10 +03:00
lain 347f3ed2c6 Emoji reactions: Change api format once more 2020-01-24 10:52:24 +01:00
lain 615b72238e Notifications: Add emoji reaction notifications 2020-01-22 20:06:12 +01:00
lain dd3fc50ea4 Emoji reactions: Change cache and reply format 2020-01-22 13:57:42 +01:00
lain 4c5b5f14dc StatusView: Add emoji_reactions 2020-01-20 16:24:20 +01:00
Thomas Citharel d2f1c4f658
Add ActivityPub Object Event type support
Adds Event support in the same way Video objects are handled, with the
name of the object as message header.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-12-17 16:16:21 +01:00
Hakaba Hitoyo 701815e64c [ActivityPub] Configurable ActivityPub actor type 2019-12-10 13:19:26 +00:00
Maksim Pechnikov 6fbafb1cdc Merge branch 'develop' into issue/1276 2019-12-08 20:14:28 +03:00
Maksim Pechnikov 49bb0a130f Merge branch 'develop' into issue/1276 2019-12-05 12:22:19 +03:00
Ivan Tashkinov 30caf3e51e Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations
# Conflicts:
#	lib/pleroma/user.ex
2019-12-04 18:56:31 +03:00
lain 7722e5a67a Merge branch 'feature/move-activity' into 'develop'
Support "Move" activity

Closes #1316

See merge request pleroma/pleroma!1883
2019-12-02 16:26:19 +00:00
Ivan Tashkinov 52cc7de82c Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations
# Conflicts:
#	mix.lock
2019-11-29 10:17:59 +03:00
lain 50b152766f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into bugfix/1442-dont-return-nil-for-following-count 2019-11-27 14:48:28 +01:00
Egor Kislitsyn f595cfe623
Remove User.user_info/2 2019-11-27 19:43:47 +07:00
Egor Kislitsyn 1fc28a4b44
Add a view for the move notification 2019-11-27 17:52:02 +07:00
Egor Kislitsyn 80ededc04f
Add direct_conversation_id to web push payload 2019-11-26 19:53:43 +07:00
Ivan Tashkinov 01d9c093c3 Merge remote-tracking branch 'remotes/upstream/develop' into 1335-user-api-id-fields-relations 2019-11-15 21:40:14 +03:00
Ivan Tashkinov c31ddce51e [#1335] Reorganized users.mutes as relation to UserMute entity. 2019-11-15 21:38:54 +03:00
rinpatch 94f1cfced8 format the code 2019-11-14 17:26:59 +03:00
Egor Kislitsyn 3c0abfca53
Merge remote-tracking branch 'upstream/develop' into feature/move-activity 2019-11-14 16:39:45 +07:00
Egor Kislitsyn e6d7e27bd6
Add allow_following_move setting to User 2019-11-12 18:45:28 +07:00
Mark Felder 7d101bc9c5 Fix rendering conversations when there's a malformed status 2019-11-11 18:29:55 -06:00
Maksim Pechnikov ff6c727739 Merge branch 'develop' into issue/1276 2019-11-04 20:24:53 +03:00
eugenijm ed29be24cb Mastodon API, streaming: Add pleroma.direct_conversation_id to the conversation stream event payload. 2019-11-04 18:36:16 +03:00
Maksim Pechnikov 209319c8d2 update marker api 2019-10-30 23:49:05 +03:00
Maksim Pechnikov 99cf1ef9be Merge branch 'develop' into issue/1276 2019-10-24 09:23:59 +03:00
Ivan Tashkinov 8cc809e44e Merge remote-tracking branch 'remotes/upstream/develop' into 1304-user-info-deprecation
# Conflicts:
#	lib/pleroma/notification.ex
2019-10-23 17:22:42 +03:00
Maksim Pechnikov d4270397dc Marker: added unread_count field 2019-10-22 14:51:46 +03:00
Maksim Pechnikov 66b5d0ff55 add Markers /api/v1/markers 2019-10-17 15:26:59 +03:00
Ivan Tashkinov 10ff01acd9 [#1304] Moved all non-mutes / non-blocks fields from User.Info to User. WIP. 2019-10-16 21:59:21 +03:00
eugenijm 8249924485 Mastodon API: Add pleroma.unread_conversation_count to the Account entity 2019-10-05 20:12:00 +03:00
kaniini e07e9cb75e Revert "Merge branch 'user-info-unread-direct-conversation' into 'develop'"
This reverts merge request !1737
2019-10-05 10:00:05 +00:00
kaniini 5c04e81724 Merge branch 'user-info-unread-direct-conversation' into 'develop'
Add the `unread_conversation_count` field to the user info

See merge request pleroma/pleroma!1737
2019-10-04 17:33:18 +00:00
lain 01da6344b9 Merge branch 'bugfix/notification-nil-actor' into 'develop'
notification_view.ex: Make sure `account` isn’t empty

See merge request pleroma/pleroma!1779
2019-10-04 11:28:20 +00:00
Haelwenn (lanodan) Monnier 5dc14c89ce
notification_view.ex: Make sure account isn’t empty
Related: https://git.pleroma.social/pleroma/pleroma/issues/1203
2019-10-04 07:11:53 +02:00
eugenijm 06d9df79c5 Mastodon API: Add pleroma.unread_conversation_count to the Account entity 2019-10-04 00:53:23 +03:00
Egor Kislitsyn d3c404af12
Add MastoFEController 2019-10-02 20:36:08 +07:00
Egor Kislitsyn 1c6e1055c8
Add CustomEmojiController 2019-10-02 19:16:34 +07:00
Egor Kislitsyn c8b01f6667
Extract instance actions from MastodonAPIController to InstanceController 2019-10-02 14:13:52 +07:00
Thibaut Girka 43e3db0951 Fix returned visibility of announces in MastodonAPI 2019-10-01 20:38:29 +02:00
Egor Kislitsyn 36a34c36fe
Extract poll actions from MastodonAPIController to PollController 2019-10-01 11:44:34 +07:00
Egor Kislitsyn e7aef27c00
Fix merge 2019-09-30 19:10:54 +07:00
kaniini 0e356cc800 Merge branch 'split-masto-api/reports' into 'develop'
Extract report actions from `MastodonAPIController` to `ReportController`

See merge request pleroma/pleroma!1744
2019-09-30 11:17:30 +00:00
kaniini 74d8fadf37 Merge branch 'split-masto-api/conversations' into 'develop'
Extract conversation actions from `MastodonAPIController` to ConversationController

See merge request pleroma/pleroma!1743
2019-09-30 10:49:40 +00:00
Egor Kislitsyn b7f27a4f58
Extract report actions from MastodonAPIController to ReportController
Update MastodonAPI.ReportView
2019-09-30 17:44:10 +07:00
Ariadne Conill 7cad6ea67a pleroma api: hook up scrobbler controller 2019-09-30 10:39:17 +00:00
Ariadne Conill b7877e9b1c mastodon api: implement rendering of listen activities 2019-09-30 10:39:17 +00:00
Egor Kislitsyn d4d88b3361
Extract conversation actions from MastodonAPIController to ConversationController 2019-09-30 16:52:07 +07:00
kaniini 6d74a7528c Merge branch 'feature/follow-requests-count' into 'develop'
Mastodon API: add follow_requests_count

See merge request pleroma/pleroma!1726
2019-09-29 11:44:31 +00:00
Maksim Pechnikov 1053319cd6 Merge branch 'develop' into tests/mastodon_api_controller.ex 2019-09-28 10:36:04 +03:00
Egor Kislitsyn 8d31530119 Cleanup ScheduledActivityView 2019-09-27 13:36:28 +07:00
Ariadne Conill 14294243a2 mastodon api: implement follow_requests_count 2019-09-27 04:22:40 +00:00
Egor Kislitsyn 5ea5c58a85 Move view logic from StatusController.context to StatusView and add a test 2019-09-27 10:52:47 +07:00
Egor Kislitsyn 98d1347a4e Extract status actions from MastodonAPIController into StatusController 2019-09-27 10:51:15 +07:00
Maksim Pechnikov 3d722dc200 Merge branch 'develop' into tests/mastodon_api_controller.ex 2019-09-26 16:16:30 +03:00
Hakaba Hitoyo 5fb72170a7 Revert "add _discoverable_ keyword into ActivityPub @context"
This reverts commit 3aef4bdf8f37efd1055a84c5fca12ec4559a17f5.
2019-09-26 02:57:41 +00:00
Maksim Pechnikov 494bb6bac6 updated tests 2019-09-23 22:37:30 +03:00
eugenijm 450bf7a63c Mastodon API: Add a setting to hide follow/follower count from the user view (hide_follows_count and hide_followers_count) 2019-09-17 14:45:47 +03:00
Haelwenn 46ae62d159 Merge branch 'patch-5' into 'develop'
Mastodon API: URI encode hashtag name in generated URLs

See merge request pleroma/pleroma!1642
2019-09-11 17:47:19 +00:00
rinpatch 43f02dfe38 Revert "Parallelize template rendering"
This reverts commit 1ad71592ad.

Since it had no limit on the number on concurrent processes it OOM killed
instances while rendering hellthreads. When I tried introducing a
concurrency limit with Task.async_stream/manual folds it lead to about 3 times
worse performance on threads larger than 1000 activities (we are talking
30s vs 1.2 minutes), I think this is not worth the about 1.5 times
performance increase on smaller threads when using it.
2019-09-10 22:01:45 +03:00
shadowfacts e5c6bf3673 Mastodon API: URI encode hashtag name in generated URLs
Otherwise hashtags with word characters other than those allowed in URLs (e.g. Japanese characters) produce hashtag URLs that are invalid.
2019-09-07 19:50:45 +00:00
rinpatch b312ca3d52 Mastodon API Poll view: Fix handling of polls without an end date 2019-09-05 12:03:39 +03:00
rinpatch 3e30f6e198 Merge branch 'fix/safe-render-notifications' into 'develop'
Do not crash if one notification failed to render

See merge request pleroma/pleroma!1630
2019-09-05 05:47:06 +00:00
rinpatch 558969a0fd Do not crash if one notification failed to render 2019-09-05 08:32:49 +03:00
rinpatch 3face45467 Mastodon API: Add pleroma.thread_muted to Status entity
Needed for pleroma-fe!941
2019-09-04 14:17:23 +03:00
Egor Kislitsyn 30510ade0e Extract MastodonAPIController's list actions into MastodonAPI.ListController; Add more tests 2019-08-26 19:37:54 +07:00
lain cc6c0b4ba6 Merge remote-tracking branch 'origin/develop' into sixohsix/pleroma-post_expiration 2019-08-24 15:48:33 +02:00