Commit graph

137 commits

Author SHA1 Message Date
Maksim Pechnikov
179fa32dd5 Merge branch 'develop' into tests/mastodon_api_controller.ex 2019-09-23 21:41:57 +03:00
Egor Kislitsyn
39dc9b470c Cleanup Pleroma.Activity and Pleroma.Web.ActivityPub.Utils 2019-09-13 12:44:59 +07:00
Maksim Pechnikov
d8a178274b fix Activity.get_by_id 2019-09-13 07:12:34 +03: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
Haelwenn (lanodan) Monnier
7390192c03
Activity: mix format (2 empty lines) 2019-01-21 08:00:41 +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
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
4ad5a0abb9
Activity: all_by_object_ap_id_q/1 → create_by_object_ap_id/1 2019-01-21 07:51:01 +01:00
Haelwenn (lanodan) Monnier
75e4c8f0b2
Activity: all_non_create_by_object_ap_id_q → by_object_ap_id 2019-01-21 07:50:57 +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
William Pitcock
980b5288ed update copyright years to 2019 2018-12-31 15:41:47 +00:00
Maksim Pechnikov
523848d1fd Salmon# fixed publish an activity to remote accounts 2018-12-29 12:48:54 +03:00
William Pitcock
2791ce9a1f add license boilerplate to pleroma core 2018-12-23 20:56:42 +00:00
href
ec0e613eca
Pleroma.Activity.mastodon_notification_type/1 2018-12-14 13:22:10 +01:00
William Pitcock
5d753e1c7c activity: add helpers for updating activities in the database 2018-12-04 04:52:09 +00:00
William Pitcock
5ea64f4bf9 activity: minor cleanups to normalization functions to align them with the object normalizers 2018-12-04 04:52:09 +00:00
William Pitcock
663007b42c activity: clean up direct use of object data 2018-12-04 04:52:09 +00:00
William Pitcock
f3f736afc4 activity: add helper to fetch an activity's parent 2018-10-25 02:47:55 +00:00
William Pitcock
29b5e30c46 activity: drop recipients_to/recipients_cc fields 2018-08-29 18:41:02 +00:00
William Pitcock
81673b8136 activity: add recipients_to and recipients_cc fields 2018-08-29 08:42:33 +00:00
William Pitcock
b036a19c21 activity: add normalize() to find a complete activity given either URI or partial structure 2018-06-27 13:07:12 +00:00
lain
0f70e83e8c Better error handling in TwitterApiController. 2018-06-03 19:11:22 +02:00
lain
4afbef39f4 Format the code. 2018-03-30 15:01:53 +02:00
lain
37e5014d3e Reduce OP fetching queries. 2018-03-27 18:18:24 +02:00
Lain Iwakura
4a13b84887 Add recipients field to activities.
Also do some very basic checks for AP message insertion.
2017-12-12 18:07:14 +01:00
Lain Iwakura
ef2322bdb7 Delete notifications on activity deletion. 2017-12-08 18:17:30 +01:00
Roger Braun
f1d27a5fbb Add actor column to activities. 2017-11-09 10:41:19 +01:00
Roger Braun
b35ff8f755 Use index in basic activity query. 2017-10-23 18:36:53 +02:00
Roger Braun
9f417fd5e9 Speed up deletion and related queries. 2017-10-23 18:30:09 +02:00
Roger Braun
61adf676d5 Add basic mastodon notification support. 2017-09-11 18:53:19 +02:00
Roger Braun
552cfdbe11 Fix deletion not deleting relevant actions. 2017-08-16 16:29:25 +02:00
Roger Braun
f226f46a09 Add basic incoming deletions. 2017-08-01 17:05:07 +02:00
Roger Braun
9cf38d6796 Use more efficient queries. 2017-06-20 16:18:42 +02:00
Roger Braun
14a9dd468b Use more efficient query. 2017-06-20 16:02:17 +02:00
Roger Braun
56bacc90d1 Fix specs, add local marker to actitivies. 2017-05-02 10:43:35 +02:00
Roger Braun
9d7c3190cc Get create activity from created object id.
This is useful for Ostatus federation because ostatus doesn't have
different ids for objects and activities...
2017-04-30 11:16:41 +02:00
Roger Braun
f97c8e4379 Add utility functions for objects and activities. 2017-04-13 15:49:42 +02:00
Roger Braun
8de523c8ae Basic AP objects. 2017-03-21 09:21:52 +01:00