Commit Graph

85 Commits

Author SHA1 Message Date
Egor Kislitsyn
39dc9b470c Cleanup Pleroma.Activity and Pleroma.Web.ActivityPub.Utils 2019-09-13 12:44:59 +07:00
Egor Kislitsyn
b40b10b53d Add an endpoint to get multiple statuses by IDs 2019-09-10 13:39:45 +07:00
minibikini
11e12b5761 Add Pleroma.Plugs.Cache 2019-09-09 18:53:08 +00:00
Ariadne Conill
40a61532ca activity: when restricting deactivated users, precalculate the user list
the PostgreSQL query planner is easily confused due to the complexity of
certain queries we make.  while we plan to simplify these queries through
unification of activities and objects, we are not yet there.  it has been
discovered that using a precalculated list of deactivated users encourages
the query planner to prefer simpler indices instead of the
activity_visibility index.

accordingly, drop the subquery and precalc the user list instead.
2019-09-06 23:14:29 +00:00
lain
cc6c0b4ba6 Merge remote-tracking branch 'origin/develop' into sixohsix/pleroma-post_expiration 2019-08-24 15:48:33 +02:00
rinpatch
a4a3e3becd Hide muted theads from home/public timelines unless with_muted is set 2019-08-15 17:37:30 +03: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
Mike Verdone
666514194a Add activity expirations table
Add a table to store activity expirations. An activity can have zero or
one expirations. The expiration has a scheduled_at field which stores
the time at which the activity should expire and be deleted.
2019-07-24 13:14:52 +02:00
Eugenij
4198c3ac39 Extend Pleroma.Pagination to support offset-based pagination, use async/await to execute status and account search in parallel 2019-07-11 13:55:31 +00:00
Egor Kislitsyn
93397fce3d Contain search for unauthenticated users 2019-06-05 16:37:43 +07:00
Aaron Tinio
eb02edcad9 Add virtual :thread_muted? field
that may be set when fetching activities
2019-05-21 00:35:46 +08:00
Sergey Suprunenko
e2b3a27204 Add Reports to Admin API 2019-05-16 19:09:18 +00:00
Aaron Tinio
793f1834d2 Use named binding to conditionally join object 2019-05-16 06:25:14 +08:00
Egor Kislitsyn
5e2b491276 Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-05-14 18:15:56 +07:00
Alexander Strizhakov
bfeb33e951 Merge develop
Merge conflict in lib/pleroma/activity.ex
2019-05-08 14:34:36 +00:00
rinpatch
4c5125dedc Remove bookmarks assoc and add a fake bookmark assoc instead 2019-05-07 19:33:22 +00:00
rinpatch
be067ec2ab Use with_preloaded_bookmark in create_by_object_ap_id_with_object 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
rinpatch
f841eb7cdb Preload bookmarks wherever the object is preloaded 2019-05-07 19:33:22 +00:00
Egor Kislitsyn
1557b99beb Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-05-07 16:51:11 +07:00
Alexander Strizhakov
ce6ca0fefe Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into feature/845-improve-status-deletion 2019-05-06 16:45:22 +00:00
Egor Kislitsyn
e8c2f9a73a Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-04-22 13:08:30 +07:00
rinpatch
9238dccac1 Add a guard to fetching reply activity 2019-04-18 21:40:40 +03:00
rinpatch
4c289e924e Fix delete-by_ap_id to expect not only embeded objects 2019-04-17 16:35:01 +03:00
rinpatch
8e4d950f31 Remove updating reply count for embeded objects 2019-04-17 15:54:09 +03:00
rinpatch
627e5a0a49 Merge branch 'develop' into feature/database-compaction 2019-04-17 12:22:32 +03:00
rinpatch
5d73dca064 Remove inReplyToStatusId 2019-04-15 11:50:36 +03:00
Egor Kislitsyn
db4badc6aa move user disable into deactivation 2019-04-11 17:22:42 +07:00
Egor Kislitsyn
0f2f7d2cec Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-04-11 15:51:52 +07:00
eugenijm
b3870df51f Handle scheduled_at on status creation. 2019-04-06 23:55:58 +03:00
eugenijm
568e348588 Increment replies_count on replies (MastoAPI) 2019-03-26 15:27:04 +03:00
William Pitcock
26b0c802c3 fix up missing announcements with preloads 2019-03-25 07:38:09 +00:00
William Pitcock
4aa699271c activity: use left join instead of inner join when fetching activities that may or may not have a child object 2019-03-23 03:17:50 +00:00
William Pitcock
f9d5c13b21 activity: add get_by_ap_id_with_object() 2019-03-23 03:05:13 +00:00
William Pitcock
a6973a668e formatting 2019-03-23 00:28:16 +00:00
William Pitcock
59518cbcd8 activity: fix credo nitpick 2019-03-23 00:26:12 +00:00
William Pitcock
092cedede5 activity: add with_preloaded_object() convenience 2019-03-23 00:09:56 +00:00
William Pitcock
62bccddde0 object: add support for preloading objects when walking an activity graph in normal form 2019-03-22 23:51:12 +00:00
rinpatch
b92a16aa00 Merge branch 'ecto-3-migration' into 'develop'
Ecto 3.0.7 (ecto_sql 3.0.5) migration

See merge request pleroma/pleroma!957
2019-03-21 16:24:57 +00:00
rinpatch
9a7b817c9a Ecto 3.0.5 migration
kms
2019-03-20 15:59:54 +03:00
eugenijm
1588688a11 Added support for exclude_types, limit, and min_id in Mastodon
notifications.

Unify Mastodon-compatible pagination logic.
2019-03-18 11:27:27 +03:00
Haelwenn (lanodan) Monnier
a3a9cec483
[Credo] fix Credo.Check.Readability.AliasOrder 2019-03-13 04:26:54 +01:00
eugenijm
6038c8a753 Broadcast deleted activity id on deletion to conform to MastoAPI streamig spec 2019-03-11 09:02:03 +03:00
Egor Kislitsyn
eb84de0143 allow users to disable their own account 2019-03-04 19:55:11 +07:00
Egor
bff9eb5ef7 Reports 2019-02-20 16:51:25 +00:00
Haelwenn (lanodan) Monnier
6a6a5b3251
de-group alias/es 2019-02-09 16:31:17 +01: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
lain
2de208817c Merge branch 'develop' into rename/pleroma_activity_consistency 2019-01-23 13:05:58 +01:00
href
28d77e373c
Flake Ids for Users and Activities 2019-01-23 11:26:27 +01:00
rinpatch
e460820fcf Add get_by_id to activity.ex 2019-01-22 10:55:10 +03:00