Steven Fuchs
aab264db82
Streamer refactoring
2019-09-16 07:44:03 +00:00
rinpatch
5c5ebd3861
Mastodon API: Respect post privacy in favourited/reblogged endpoints
2019-09-14 01:50:15 +03:00
lain
1be09bde2d
Merge branch 'refactor/add_link_headers' into 'develop'
...
Refactor `add_link_headers/7` -> `add_link_headers/3`
See merge request pleroma/pleroma!1636
2019-09-13 17:06:38 +00: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
lain
fb7332aec7
Merge branch 'fix/oom-parallel-rendering' into 'develop'
...
Revert "Parallelize template rendering"
See merge request pleroma/pleroma!1654
2019-09-11 11:21:03 +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
Egor Kislitsyn
b40b10b53d
Add an endpoint to get multiple statuses by IDs
2019-09-10 13:39:45 +07: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
Egor Kislitsyn
40b3289c26
Refactor add_link_headers/7
-> add_link_headers/3
2019-09-06 17:08:47 +07:00
Haelwenn
fe7cf44c40
Merge branch 'feature/mastoapi-accounts-external' into 'develop'
...
Mastdon API: Add ability to get a remote account by nickname to `/api/v1/accounts/:id`
See merge request pleroma/pleroma!1622
2019-09-05 12:48:27 +00:00
rinpatch
26fe6f70c9
Move checking for restrict_local to User.get_cached_by_id_or_nickname
2019-09-05 15:39:10 +03: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
rinpatch
cc1d1ee406
Mastdon API: Add ability to get a remote account by nickname to
...
`/api/v1/accounts/:id`
2019-09-03 19:26:10 +03:00
Egor Kislitsyn
4194abbc8f
Move mastodon_api/*_controller.ex to mastodon_api/controllers/
2019-08-26 19:37:57 +07:00
Egor Kislitsyn
30510ade0e
Extract MastodonAPIController's list actions into MastodonAPI.ListController; Add more tests
2019-08-26 19:37:54 +07:00
Egor Kislitsyn
4d82bc8b0b
Extract MastodonAPI.MastodonAPIController.errors/2 to MastodonAPI.FallbackController
2019-08-26 19:16:40 +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
f4e087ee48
Preload thread mutes/bookmarks in get_context
...
Also removes filtering for creates (was done on the database side
already) and filtering for the requested activity (moved to the database
side) from application side.
2019-08-14 02:36:54 +03:00
Haelwenn
47c20ab796
Merge branch 'fix/mastoapi-more-object-preloads' into 'develop'
...
Mastodon API: Preloading and normalization optimizations
See merge request pleroma/pleroma!1558
2019-08-13 22:32:49 +00:00
Maksim
04da1166db
tests for /web/mastodon_api/mastodon_api.ex
2019-08-13 21:12:37 +00: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
eee98aaa73
Pleroma API: Add endpoint to get conversation statuses.
2019-08-02 19:53:08 +02:00
lain
7483679a7b
StatusView: Return direct conversation id.
2019-07-31 15:12:29 +02:00
Ariadne Conill
b93498eb52
constants: add as_public constant and use it everywhere
2019-07-29 02:43:19 +00:00
Sachin Joshi
242f5c585e
add account confirmation email resend in mastodon api
2019-07-28 20:30:10 +00: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