Commit Graph

631 Commits

Author SHA1 Message Date
Egor Kislitsyn 03124c96cc
Add spec for AccountController.statuses 2020-04-13 18:17:07 +04:00
Ivan Tashkinov a21baf89d8 Merge remote-tracking branch 'remotes/origin/develop' into output-of-relationships-in-statuses 2020-04-13 09:16:51 +03:00
rinpatch 5e365448f3 Merge branch 'following-relationships-optimizations' into 'develop'
FollowingRelationship storage & performance optimizations

See merge request pleroma/pleroma!2332
2020-04-11 19:46:04 +00:00
Haelwenn (lanodan) Monnier 9172d719cc
profile emojis in User.emoji instead of source_data 2020-04-10 06:20:02 +02:00
Ivan Tashkinov ac672a9d6b [#1559] Addressed code review requests. 2020-04-09 15:13:37 +03:00
Ivan Tashkinov 1a4875adfa [#1559] Support for "follow_request" notifications (configurable).
(Not currently supported by PleromaFE, thus disabled by default).
2020-04-07 21:52:32 +03:00
Maksim Pechnikov 2b7d7bbd2d Merge branch 'develop' into issue/1276 2020-04-07 14:09:43 +03:00
Ivan Tashkinov 3fa51f7272 Merge remote-tracking branch 'remotes/origin/2323-accounts-relationships-hotfix' into output-of-relationships-in-statuses
# Conflicts:
#	lib/pleroma/web/mastodon_api/views/account_view.ex
#	lib/pleroma/web/mastodon_api/views/status_view.ex
2020-04-02 19:38:39 +03:00
Ivan Tashkinov aa78325117 [#2323] Fixed a typo causing /accounts/relationships to render default relationships. Improved the tests. 2020-04-02 19:23:30 +03:00
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
lain ef43016b2c Merge branch 'feature/custom-fields' into 'develop'
Add custom profile fields

See merge request pleroma/pleroma!1488
2019-08-20 12:44:14 +00:00
lain 7ab2dbbdb6 Merge branch 'pleroma-conversations' into 'develop'
Extended Pleroma Conversations

See merge request pleroma/pleroma!1535
2019-08-16 12:55:33 +00:00
rinpatch 1ad71592ad Parallelize template rendering 2019-08-15 18:05:50 +03:00
rinpatch bd5ad0af78 Cache follow state 2019-08-15 00:47:30 +03:00
lain 560dbad538 Merge remote-tracking branch 'origin/develop' into pleroma-conversations 2019-08-14 15:30:40 +02:00
Egor Kislitsyn f7bbf99caa Use info.fields instead of source_data for remote users 2019-08-14 14:52:54 +07:00
Egor Kislitsyn e0ac5c7a66 Add custom profile fields 2019-08-14 14:52:54 +07:00
rinpatch c1b6952d2a Mastodon API: Preloading and normalization optimizations
- Try to normalize the activity instead of object wherever possible
- Put the `user` key on non-home timelines as well so bookmarks and
thread mutes are preloaded there as well
- Skip trying to get the user when rendering mentions if the id ==
as:Public or user's follower collection
- Preload the object when getting replied to activities and do not crash
if it's not present

This almost solves the problem of Pleroma hammering the db with a lot
of queries when rendering timelines, the things left are
1. When rendering mentions and the user is not in cache, save it for
later and request all uncached users in one go
2. Somehow get rid of needing to get the latest follow activity to
detect the value of `requested` in a relationship. (create a database
view for user relationship and cache it maybe?)
2019-08-13 20:34:34 +03:00
lain 511ccea5aa ConversationView: Align parameter names with other views. 2019-08-12 14:23:06 +02:00
lain 23c46f7e72 Conversations: Use 'recipients' for accounts in conversation view.
According to gargron, this is the intended usage.
2019-08-12 12:51:08 +02:00
kaniini 84808e1697 Merge branch 'develop' into 'fix/hide-follows-counters'
# Conflicts:
#   CHANGELOG.md
2019-08-10 18:49:04 +00:00
rinpatch 0802a08871 Mastodon API: Fix thread mute detection
It was calling CommonAPI.thread_muted? with post author's account
instead of viewer's one.
2019-08-10 16:27:46 +03:00
rinpatch 409bcad54b Mastodon API: Set follower/following counters to 0 when hiding
followers/following is enabled

We are already doing that in AP representation, so I think we should do
it here as well for consistency.
2019-08-09 16:53:55 +03:00
lain a2b98f6d58 Merge remote-tracking branch 'origin/develop' into pleroma-conversations 2019-08-08 16:04:20 +02:00
Thibaut Girka 9c0da1009a Return profile URL in MastodonAPI's `url` field 2019-08-07 21:40:53 +00:00
Thibaut Girka 089d53a961 Simplify logic to mention.js `url` field
`User.profile_url` already fallbacks to ap_id
2019-08-07 20:55:37 +00:00
Thibaut Girka a10c840aba Return profile URL when available instead of actor URI for MastodonAPI mention URL
Fixes #1165
2019-08-07 20:29:30 +00:00
lain 3af6d14da7 Pleroma Conversations API: Add a way to set recipients. 2019-08-05 15:09:19 +02:00
lain 7483679a7b StatusView: Return direct conversation id. 2019-07-31 15:12:29 +02:00
Sergey Suprunenko b20020da16 Show the url advertised in the Activity in the Status JSON response 2019-07-24 19:28:21 +00:00
Eugenij 4504135894 Add `domain_blocking` to the relationship API (GET /api/v1/accounts/relationships) 2019-07-24 15:12:27 +00:00
Mike Verdone 2c83eb0b15 Revert "squash! Expose expires_at datetime in mastoAPI only for the activity actor"
This reverts commit 2981821db8.
2019-07-24 17:09:59 +02:00
Mike Verdone 2981821db8 squash! Expose expires_at datetime in mastoAPI only for the activity actor
NOTE: rewrite the commit msg
2019-07-24 16:51:09 +02:00
Mike Verdone 3cb471ec06 Expose expires_at datetime in mastoAPI only for the activity actor
In the "pleroma" section of the MastoAPI for status activities you can
see an expires_at item that states when the activity will expire, or
nothing if the activity will not expire.

The expires_at date is only visible to the person who posted the
activity. This is the conservative approach in case some attacker
decides to write a logger for expiring posts. However, in the future of
OCAP, signed requests, and all that stuff, this attack might not be that
likely. Some other pleroma dev should remove the restriction in the code
at that time, if they're satisfied with the security implications of
doing so.
2019-07-24 14:47:22 +02:00
Eugenij 520ee6c591 Add `pleroma.deactivated` to the Account entity (Mastodon API) 2019-07-16 11:14:46 +00:00
Eugenij c4ca142e14 Add the `blocked_by` attribute to the relationship API (`GET /api/v1/accounts/relationships`) 2019-07-16 11:04:11 +00:00
lain 1ed24bcc76 Status View: Poll ids are strings.
All ids in mastodon are strings, in general.
2019-07-16 12:47:40 +09:00
Alexander Strizhakov e7c39b7ac8 Feature/1072 muting notifications 2019-07-14 13:29:31 +00:00
Sergey Suprunenko ff55e3c16f Create mentions only for explicitly mentioned users 2019-07-10 13:29:50 +00:00
Maksim 008c55e4e9 add test for search_controller/ 100% coverage 2019-07-10 08:28:03 +00:00
feld 93a0eeab16 Add license/copyright to all project files 2019-07-10 05:13:23 +00:00
rinpatch 72b88c82bc Mastodon API: Fix embedded relationships not being rendered inside of statuses 2019-07-08 12:07:08 +03:00
rinpatch c7acca2abb Mastodon API: Sanitize display names
Closes #1000
2019-06-18 14:12:11 +03:00
lain a440cf856d Mastodon API: Return the token needed for the chat. 2019-06-15 10:59:35 +02:00
lain 5965efb216 AccountView: Add user background. 2019-06-13 19:08:05 +02:00
Maksim Pechnikov 4f2e359687 Merge branch 'develop' into issue/941 2019-06-04 09:49:08 +03:00
kaniini 9d2563a3de Merge branch 'generic-fe-settings' into 'develop'
Generic settings store for frontend user settings

See merge request pleroma/pleroma!1221
2019-06-04 05:43:43 +00:00
Maksim Pechnikov f13d6c7f78 update api to set skip_thread_containment 2019-06-03 21:02:57 +03:00
rinpatch dc91bcc0af Merge branch 'develop' into feature/polls-2-electric-boogalo 2019-06-03 13:16:17 +03:00
lambda 314758c25b Merge branch 'align-mastodon-conversations' into 'develop'
Mastodon Conversations API: Align to Mastodon behavior

See merge request pleroma/pleroma!1215
2019-06-03 09:48:37 +00:00
rinpatch 1fd8e19d76 Remove a TODO comment as the tests for poll view were written 2019-06-02 23:46:17 +03:00
rinpatch 444406167b Mastodon API: actually check for poll votes 2019-06-01 21:41:23 +03:00
rinpatch 65db5e9f52 Resolve merge conflicts 2019-06-01 16:29:58 +03:00
lain aaad85c4d9 AccountView: settings -> settings_store 2019-05-31 14:49:46 +02:00
lain eb2963bc43 User: Add settings store to Info, AccountView
This is to provide a generic frontend settings storage mechanism for all kinds
of frontends.
2019-05-31 14:27:15 +02:00
lain 97fb50d9fa Mastodon Conversation API: Don't return own account in 'accounts'. 2019-05-31 11:27:14 +02:00
Sergey Suprunenko 1690be991e Replace missing non-nullable Card attributes with empty strings 2019-05-30 21:03:31 +00:00
rinpatch e6b175ed6c Fix credo issues 2019-05-22 21:57:46 +03:00
rinpatch cdac5efd10 Merge branch 'bugfix/account_view_source.note' into 'develop'
MastoAPI AccountView: fill source.note with plaintext version of note

Closes #926

See merge request pleroma/pleroma!1189
2019-05-22 05:39:01 +00:00
Haelwenn (lanodan) Monnier 0e2c215a00
MastoAPI AccountView: fill source.note with plaintext version of note
Closes: https://git.pleroma.social/pleroma/pleroma/issues/926
2019-05-22 07:22:19 +02:00
rinpatch f28747858b Actual vote count in poll view 2019-05-21 14:27:09 +03:00
Aaron Tinio eb02edcad9 Add virtual :thread_muted? field
that may be set when fetching activities
2019-05-21 00:35:46 +08:00
rinpatch 1d90f9b969 Remove tags/mentions/rich text from poll options because Mastodon and
add custom emoji
2019-05-19 17:06:44 +03:00
rinpatch 5ece901af3 Resolve merge conflicts and remove IO.inspects 2019-05-18 13:37:38 +03:00
lambda 46684db84d Update account_view.ex 2019-05-17 09:53:44 +00:00
rinpatch 642a67dd44 Render polls in statuses 2019-05-17 11:44:47 +03:00
Haelwenn (lanodan) Monnier 68c75a08e8
MastoAPI account_view.ex: requested is false when following is true
Closes: https://git.pleroma.social/pleroma/pleroma/issues/903
2019-05-17 07:44:09 +02:00
lain cbb3451023 CommonAPI: Refactor visibility, forbid public to private replies. 2019-05-15 16:30:08 +02:00
rinpatch 4c5125dedc Remove `bookmarks` assoc and add a fake `bookmark` assoc instead 2019-05-07 19:33:22 +00:00
rinpatch 3a7c14645e - Actually use preloaded bookmarks in views
- Preload bookmarks in bookmark timeline
- Rework bookmark preload tests
2019-05-07 19:33:22 +00:00
lain 45f790becc Merge remote-tracking branch 'origin/develop' into conversations_three 2019-05-01 18:40:41 +02:00
rinpatch c3e9fcf098 Fix bookmarks depending on embeded object and move checking if the
status is bookmarked to SQL
2019-04-27 23:06:46 +03:00
lambda 4de5fef1f8 Merge branch 'feature/807-bookmark-endpoint-extension' into 'develop'
Feature/807 bookmark endpoint extension

Closes #807

See merge request pleroma/pleroma!1059
2019-04-26 11:59:47 +00:00
rinpatch dfc8425659 Move settings to Source subentity 2019-04-25 10:31:14 +03:00
Alex S 85953c0836 fixes for tests 2019-04-25 13:46:40 +07:00
Alex S 73d01857e3 bookmarks in separate table 2019-04-25 13:38:24 +07:00
rinpatch 4baea6e6d9 Fix leaking private configuration parameters in Mastodon and Twitter APIs, and add new configuration parameters to Mastodon API
This patch:
- Fixes `rights` in twitterapi ignoring `show_role`
- Fixes exposing default scope of the user to anyone in Mastodon API
- Extends Mastodon API to be able to show and set `no_rich_text`, `default_scope`, `hide_follows`, `hide_followers`, `hide_favorites` (requested by the FE in #674)

Sorry in advance for 500 line one commit diff, I should have split it up to separate MRs
2019-04-24 20:01:42 +03:00
kaniini 10c40e13d2 Merge branch 'mastoapi/add-in-reply-to-screen-name' into 'develop'
Add `in_reply_to_account_acct` to MastoAPI status entity

See merge request pleroma/pleroma!1086
2019-04-23 02:43:53 +00:00
rinpatch f60d072bbb Add `pleroma.in_reply_to_account_acct` to MastoAPI status entity 2019-04-22 11:54:27 +03:00
rinpatch d21d921def Replace Object.normalize(activity.data[object] with Object.normalize(acitivty) to benefit from preloading 2019-04-22 11:27:29 +03:00
Egor b9cdf6d3b9 Use `User.get_cached*` everywhere 2019-04-22 07:20:43 +00:00
Roman Chvanikov 4908e0eeee Fix Credo warning 2019-04-21 23:24:33 +07:00
Roman Chvanikov eeb093631c Fix Credo warning 2019-04-21 23:19:36 +07:00
Roman Chvanikov e56afefef9 Refactor conversation function in MastodonAPIController to use a View 2019-04-21 23:14:27 +07:00
eugenijm 375fd21055 Set correct values in the MastoAPI reblog status view 2019-04-21 05:40:22 +03:00
rinpatch ad681877df Make credo happy 2019-04-17 14:52:01 +03:00
rinpatch b09ae02c04 Added some more normalization calls all in mastodon api controller 2019-04-17 13:04:58 +03:00
rinpatch 627e5a0a49 Merge branch 'develop' into feature/database-compaction 2019-04-17 12:22:32 +03:00
eugenijm 679a8ef629 Assign reblogged in the Mastodon reblog status view 2019-04-14 11:35:15 +03:00
Alexander Strizhakov e03d24af96 in_reply_to_id - null 2019-04-12 02:21:32 +00:00
Sadposter be8350baa2
Merge branch 'develop' into feature/user-status-subscriptions 2019-04-10 10:44:54 +01:00
kaniini 97395e013e Merge branch 'notification-pleroma-settings' into 'develop'
Notification controls

Closes #738

See merge request pleroma/pleroma!988
2019-04-10 02:10:31 +00:00
eugenijm 2056efa714 Add scheduler for sending scheduled activities to the queue 2019-04-06 23:56:29 +03:00
eugenijm fc92a0fd8d Added limits and media attachments for scheduled activities. 2019-04-06 23:55:58 +03:00
eugenijm 7bf622ce73 Add scheduled activities 2019-04-06 23:55:58 +03:00
Sadposter 9ca91cbb87 Change relationship direction of subscriptions 2019-04-05 17:02:07 +01:00
rinpatch f0f30019e1 Refactor html caching functions to have a key instead of a module, use more correct terminology and fix summaries in mastoapi 2019-04-05 15:19:44 +03:00
eugenijm cd90695a34 Add PUT /api/pleroma/notification_settings endpoint 2019-03-28 18:55:16 +03:00
eugenijm a4ab60ac54 Add vapid_key to the `POST /api/v1/apps` response 2019-03-26 23:27:37 +03:00
eugenijm 691d1208b5 Add GET /api/v1/apps/verify_credentials 2019-03-26 21:53:28 +03:00
eugenijm 568e348588 Increment replies_count on replies (MastoAPI) 2019-03-26 15:27:04 +03:00
William Pitcock 3cc2554fa3 mastodon api: add conversation_id extension (ref #674) 2019-03-21 23:25:41 +00:00
Karen Konou c8f31e0bc2 Implement mastodon's reblog hiding feature 2019-03-15 14:18:21 +01:00
Haelwenn 41fc67aa49 Merge branch 'mastoapi/mime_type' into 'develop'
Extend MastoAPI to provide attachment mimetypes

See merge request pleroma/pleroma!938
2019-03-15 09:48:50 +00:00
rinpatch d7a34b604b Extend MastoAPI to provide attachment mimetypes 2019-03-15 11:58:12 +03:00
eugenijm 100413bf2c Add `is_seen` to MastoAPI notifications, extract rendering logic into separate NotificationView, add tests 2019-03-15 01:35:48 +03:00
Haelwenn (lanodan) Monnier cc0f2f8ba3
MastodonAPI.Admin.AccountView → AdminAPI.AccountView 2019-03-13 12:17:57 +01:00
Haelwenn (lanodan) Monnier a3a9cec483
[Credo] fix Credo.Check.Readability.AliasOrder 2019-03-13 04:26:54 +01:00
Maxim Filippov 25eb6cf1cb Add "roles" to users admin API 2019-03-12 22:15:28 +03:00
lain 4811eefa6e MastoAPI StatusView: Add locality indicator. 2019-03-11 13:48:27 +01:00
Maksim bc7570c282 [#647] tests for web push 2019-03-06 13:20:12 +00:00
kaniini 6c6a2dbfdd Merge branch 'feature/add-pagination-to-users-admin-api' into 'develop'
Add pagination and search to users

See merge request pleroma/pleroma!873
2019-03-03 15:59:15 +00:00
Maxim Filippov 72b7a0797e Use Mastodon API views in Admin API 2019-02-28 17:43:09 +03:00
kaniini cf426a719d Merge branch 'with-mutes' into 'develop'
Add `with_muted` param.

Closes #683

See merge request pleroma/pleroma!872
2019-02-28 10:22:19 +00:00
lain c1ae495878 Add user muted status info to MastodonAPI. 2019-02-27 16:46:47 +01:00
William Pitcock 1536640962 mastodon api: embed relationship card under account card for Pleroma FE convenience 2019-02-27 13:01:10 +00:00
Egor bff9eb5ef7 Reports 2019-02-20 16:51:25 +00:00
lain 59c27f29c8 Add some nicer urls in status view. 2019-02-20 17:36:16 +01:00
Ekaterina Vaartis 5a46d37af9 Update the mute implementation to the current codebase
Make it part of the info thing (and do a migration to ensure it's there)
2019-02-19 23:09:16 +03:00
Ekaterina Vaartis f41f017bbc Implement muting, add it to the mastodon API 2019-02-19 21:49:55 +03:00
rinpatch 96c725328b Remove a limit on attachments in Mastodon API and document the changes in responses from vanilla mastodon 2019-02-16 20:38:25 +03:00
Karen Konou ac72b578da Merge branch 'develop' into feature/thread-muting 2019-02-11 12:10:49 +01:00
Karen Konou c01ef574c1 Refactor as per Rin's suggestions, add endpoint tests 2019-02-11 12:04:02 +01:00
Karen Konou cc21fc5f53 refactor, status view updating, error handling 2019-02-10 10:42:30 +01:00
Haelwenn (lanodan) Monnier 6a6a5b3251
de-group alias/es 2019-02-09 16:31:17 +01:00
Haelwenn (lanodan) Monnier 8bcfac93a8
Make credo happy 2019-02-09 14:59:20 +01:00
William Pitcock 65a4b9fbea mastodon api: rich media: don't clobber %URI struct with a string 2019-02-06 18:02:15 +00:00
William Pitcock 1d94b67e40 mastodon api: fix rendering of cards without image URLs (closes #597) 2019-02-05 18:30:27 +00: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
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
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
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
William Pitcock ddc7ae2c1a mastodon api: card: force OGP images through mediaproxy 2019-01-28 06:42:27 +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 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
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
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
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
lain 2de208817c Merge branch 'develop' into rename/pleroma_activity_consistency 2019-01-23 13:05:58 +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
William Pitcock 75dfa1f0b0 mastodon api: get_visibility(): DMs never have a cc list. 2019-01-20 02:27:48 +00:00
lain 943324b661 MastoAPI: Don't break on missing users. 2019-01-16 15:13:09 +01:00
Egor Kislitsyn e679da4c34 add `pinned` property to `StatusView` 2019-01-08 15:27:02 +07:00
Rin Toshaka 846082e54f Different caches based on the module. Remove scrubber version since it is not relevant anymore 2019-01-05 00:19:46 +01:00
William Pitcock 980b5288ed update copyright years to 2019 2018-12-31 15:41:47 +00:00
Rin Toshaka 7e09c2bd7d Move scrubber cache-related functions to Pleroma.HTML 2018-12-31 08:19:48 +01:00
Rin Toshaka dec23500d8 Resolve merge conflict 2018-12-30 21:00:40 +01:00
Rin Toshaka 535fddd286 Friendship ended with Postgresql now Cachex is my best friend 2018-12-30 19:33:36 +01:00
Rin Toshaka d9f40b05b3 Added get_stripped_html_for_object. Renamed a few things 2018-12-30 16:51:16 +01:00
Rin Toshaka 19f9889fbe I am not sure what's going on anymore so I'll just commit and reset all the other files to HEAD 2018-12-29 17:45:50 +01:00
Ivan Tashkinov 0a41786624 [#467] Refactored valid / invalid user rendering. 2018-12-28 22:47:42 +03:00
Ivan Tashkinov 0d1788ce44 [#471] Factored out User.visible_for?/2. 2018-12-28 14:35:25 +03:00
Ivan Tashkinov e6aeb1d4a5 [#471] Prevented rendering of inactive local accounts. 2018-12-27 15:46:18 +03:00
William Pitcock 2791ce9a1f add license boilerplate to pleroma core 2018-12-23 20:56:42 +00:00
William Pitcock 32dfc1d12a mastodon api: status view: remove obsolete peertube hack 2018-12-23 13:40:33 +00:00
Ivan Tashkinov aed0f90287 [#114] Added `pleroma.confirmation_pending` to user views, adjusted view tests. 2018-12-18 17:22:45 +03:00
href acec11626d Merge branch 'fix/issue_272' into 'develop'
[#272] fix tags

See merge request pleroma/pleroma!540
2018-12-14 20:20:30 +00:00
Maksim Pechnikov ea72ac549b fix case when tags is invalid 2018-12-14 23:16:12 +03:00
Maksim Pechnikov d3ec09bb38 fix tags 2018-12-14 22:09:04 +03:00
Egor Kislitsyn 658edb166f
fix and improve web push; add configuration docs 2018-12-14 13:05:29 +01:00
lambda ff10b9927b Merge branch 'support/bugfix_272' into 'develop'
[#272] fix hashtags in api

See merge request pleroma/pleroma!510
2018-12-10 19:05:16 +00:00
Maksim Pechnikov 074fa790ba fix compile warnings 2018-12-09 20:50:08 +03:00
Maksim Pechnikov 068353ac0b formatting 2018-12-09 11:24:46 +03:00
Maksim Pechnikov 9442588ae9 fix hashtags in api response 2018-12-09 11:24:46 +03:00
lambda 94d8f1ab30 Merge branch '394_user_tags' into 'develop'
[#394] User tags

Closes #394

See merge request pleroma/pleroma!508
2018-12-07 18:25:38 +00:00
Ivan Tashkinov 7a2162bbcb [#394] User view (Twitter & Mastadon API): wrapped "tags" in "pleroma" map. 2018-12-06 22:26:25 +03:00
Ivan Tashkinov 7bcb6a183a [#394] Refactoring. 2018-12-06 20:23:16 +03:00
Ivan Tashkinov 7b19487389 [#394] Added `users.tags` and admin routes to tag and untag users. Added tests. 2018-12-06 20:06:50 +03:00
Egor Kislitsyn 3d492795b7 clean up 2018-12-06 20:42:00 +07:00
Egor Kislitsyn 4944498133 Merge branch 'develop' into feature/compat/push-subscriptions
# Conflicts:
#	lib/pleroma/application.ex
#	lib/pleroma/plugs/oauth_plug.ex
2018-12-06 20:15:16 +07:00
Egor Kislitsyn 8b4397c704 Merge branch 'develop' into feature/compat/push-subscriptions
# Conflicts:
#	lib/mix/tasks/sample_config.eex
#	lib/pleroma/web/twitter_api/controllers/util_controller.ex
#	mix.exs
#	mix.lock
2018-12-06 19:55:58 +07:00
William Pitcock 3b8e5bcbeb fix most tests 2018-12-04 04:52:09 +00:00
William Pitcock e9b718cea2 mastodon api: status view: use Object.normalize() 2018-12-04 04:52:09 +00:00
lain 0896cf4c0f Fix most mastodon api bugs. 2018-11-20 20:12:39 +01:00
Haelwenn (lanodan) Monnier 3e50bb667f
Pleroma.Web.MastodonAPI.StatusView: Content isn’t nullable 2018-11-03 14:42:47 +01:00
William Pitcock 4d8f076125 mastodon api: add support for rendering Page objects 2018-11-01 10:00:16 +00:00
Haelwenn (lanodan) Monnier 755f166406
Pleroma.Web.MastodonAPI.StatusView: Do not fail when URL isn’t a string 2018-11-01 09:55:38 +01:00
William Pitcock 5c6ec2d9fc twitter/mastodon api: always use mediaproxy URLs in attachments
if using local media, the mediaproxy will not replace the URL anyway.
2018-10-29 15:19:32 +00:00
Haelwenn (lanodan) Monnier b0a940d5a2
[Pleroma.Web.MastodonAPI.StatusView]: Remove unused arguments 2018-10-25 05:24:03 +02:00
Haelwenn (lanodan) Monnier 0c10be8731
[Pleroma.Web.MastodonAPI.StatusView]: Remove nils from lists.json 2018-10-25 05:24:03 +02:00
Haelwenn (lanodan) Monnier 3b0e9287a5
[Pleroma.Web.MastodonAPI.StatusView]: Return nil as fallback for missing views 2018-10-25 05:24:01 +02:00
William Pitcock 7f530f6f80 mastodon api: relationship view: better handle no pre-existing follow activity 2018-10-05 23:50:13 +00:00
William Pitcock 3e751496e3 mastodon api: account view: fetch follow state and use it to populate `requested` field 2018-10-05 23:31:49 +00:00
Martin Kühl d94ee5cd50 Mastodon API: Support push subscription CRUD 2018-09-22 07:04:01 +02:00
William Pitcock 958e085acb mastodon api: add support for user-supplied html policy 2018-09-22 02:53:02 +00:00
Haelwenn (lanodan) Monnier a8eaecadee
[Pleroma.Web.MastodonAPI.AccountView]: relationship.json: fake endorsed value (false) 2018-09-20 16:24:29 +02:00
Haelwenn (lanodan) Monnier 43d0b7bf7a
[Pleroma.Web.MastodonAPI.StatusView] add replies_count 2018-09-20 16:10:46 +02:00
William Pitcock 0cac493fdc mastodon api: default attachment type to image if one is not present 2018-09-19 04:59:25 +00:00
kaniini c2650f0ffb Merge branch 'feature/html-scrub-policy' into 'develop'
html scrub policy

See merge request pleroma/pleroma!339
2018-09-16 01:05:09 +00:00
shadowfacts 39aed5348a Add visible_in_picker to status emojis 2018-09-10 23:32:19 +00:00
William Pitcock ac486fc59b everywhere: use Pleroma.HTML module instead of HtmlSanitizeEx directly 2018-09-10 00:14:47 +00:00
Martin Kühl 619f67768a Mastodon API: Add unsupported attributes to relationship responses
These attributes are documented as required by the Mastodon API.
Since we don’t support them (I think?), respond with default values.
2018-09-07 16:12:44 +02:00
Haelwenn 4a3dbd9d4e Merge branch 'fix/sign-in-with-toot' into 'develop'
Fix sign-in and sign-out with Toot!

See merge request pleroma/pleroma!306
2018-09-05 18:20:26 +00:00
kaniini 1c9e539b47 Merge branch 'feature/mastodon_api_2.4.x' into 'develop'
Add/Fix Mastodon endpoints for 2.4.3 compatibility

See merge request pleroma/pleroma!266
2018-09-03 12:33:36 +00:00