Commit graph

6440 commits

Author SHA1 Message Date
rinpatch 5c0e1039ce Chunk the notification type backfill migration
Long-term we want that migration to be done entirely in SQL,
but for now this is a hotfix to not cause OOMs on large databases.

This is using a homegrown version of `Repo.stream`, it's worse in
terms of performance than the upstream since it doesn't use the same
prepared query for chunk queries, but unlike the upstream it supports
preloads.
2020-06-16 23:53:13 +03:00
Haelwenn b536e57124 Merge branch '1866-last-status-stuff' into 'develop'
Resolve "/api/v1/conversations returns the wrong `last_status`"

Closes #1866

See merge request pleroma/pleroma!2647
2020-06-16 18:10:00 +00:00
Alexander Strizhakov 3c2cee33ad
moving custom ecto types in context folders 2020-06-16 17:50:33 +03:00
Alexander Strizhakov 32c6576b60
naming 2020-06-16 15:54:22 +03:00
Alexander Strizhakov e1603ac8fe
fix attemps to merge map 2020-06-16 15:54:22 +03:00
Alexander Strizhakov 9a4fde9766
Mogrify args as custom tuples 2020-06-16 15:53:28 +03:00
lain 1eb6cedaad ActivityPub: When restricting to media posts, only show 'Creates'. 2020-06-16 13:08:27 +02:00
Maksim Pechnikov b023110799 fixed a visibility of functions 2020-06-15 20:48:22 +03:00
lain e1ee8bc1da User: update_follower_count refactor. 2020-06-15 14:29:34 +02:00
Maksim Pechnikov 579763126f Merge branch 'develop' into issue/1855 2020-06-15 15:24:55 +03:00
Egor Kislitsyn 58e4e3db8b
Merge remote-tracking branch 'origin/develop' into merge-ogp-twitter-parsers 2020-06-15 16:03:40 +04:00
Maksim Pechnikov 62b8c31b7a added tests 2020-06-15 14:55:00 +03:00
lain b7df7436c8 Conversations: Return last dm for conversation, not last message. 2020-06-15 12:27:13 +02:00
Maksim Pechnikov 2e8a236cef fix invalidates media url's 2020-06-14 21:02:57 +03:00
eugenijm b15cfc3d36 Mastodon API: ensure the notification endpoint doesn't return less than the requested amount of records unless it's the last page 2020-06-14 18:27:11 +03:00
rinpatch 271ea5068f Merge branch '1851-favorites-pagination' into 'develop'
StatusController: Correctly paginate favorites.

Closes #1851

See merge request pleroma/pleroma!2636
2020-06-13 17:20:43 +00:00
lain 1d625c29a0 ControllerHelper: Always return id field. 2020-06-13 13:12:43 +02:00
lain 4b865bba10 Apply suggestion to lib/pleroma/web/controller_helper.ex 2020-06-13 10:37:15 +00:00
href cb7be6eef2 Remove use of atoms in MRF.UserAllowListPolicy 2020-06-13 12:08:46 +03:00
Egor Kislitsyn 520367d6fd Fix atom leak in Rich Media Parser 2020-06-13 12:08:46 +03:00
Haelwenn 4115701f71 Merge branch 'recipients-experiments' into 'develop'
ActivityPub: Don't show announces of your own objects in timeline.

See merge request pleroma/pleroma!2637
2020-06-12 16:57:13 +00:00
Egor Kislitsyn 09d31d24de
Return an empty map from Pleroma.Web.RichMedia.Parsers.OGP.parse/2 2020-06-12 18:39:51 +04:00
Egor Kislitsyn 697cf92024
Merge remote-tracking branch 'origin/develop' into merge-ogp-twitter-parsers 2020-06-12 18:25:29 +04:00
lain e557265a03 Merge branch 'global-status-expiration' into 'develop'
Global status expiration

See merge request pleroma/pleroma!2208
2020-06-12 14:14:09 +00:00
Mark Felder 34593d6aa5 Merge branch 'develop' into features/mix-task-reset-mfa 2020-06-12 08:43:50 -05:00
lain 1419c67f4d Merge branch 'feature/cli-reload-emoji' into 'develop'
Add command to reload emoji packs from cli for OTP users

Closes #1814

See merge request pleroma/pleroma!2639
2020-06-12 13:32:59 +00:00
Maksim Pechnikov f9dcf15ecb added admin api for MediaProxy cache invalidation 2020-06-12 14:49:54 +03:00
Ivan Tashkinov 2188097066 [#1794] Fixes URI query handling for hashtags extraction in search. 2020-06-12 14:25:41 +03:00
Haelwenn (lanodan) Monnier 40970f6bb9
New mix task: pleroma.user reset_mfa <nickname> 2020-06-11 22:54:48 +02:00
Egor Kislitsyn 2419776e19
Deprecate Pleroma.Web.RichMedia.Parsers.OGP 2020-06-11 23:11:46 +04:00
Mark Felder 7f7a1a4676 Check for media proxy base_url, not Upload base_url 2020-06-11 11:05:22 -05:00
Mark Felder 8a59fde0e5 Merge branch 'develop' into fix/csp-mediaproxy-base-url 2020-06-11 10:25:00 -05:00
Egor Kislitsyn 1f35acce54
Merge OGP parser with TwitterCard 2020-06-11 17:57:31 +04:00
Ivan Tashkinov b28cec4271 [#1794] Fixes URI query handling for hashtags extraction in search. 2020-06-11 16:05:14 +03:00
lain 5e44e9d698 Apply suggestion to lib/pleroma/web/controller_helper.ex 2020-06-10 18:56:46 +00:00
Mark Felder 7c47f791a8 Add command to reload emoji packs from cli for OTP users
Not useful for source releases as we don't have a way to automate connecting to the running instance.
2020-06-10 13:02:08 -05:00
rinpatch 99afc7f4e4 HTTP security plug: add media proxy base url host to csp 2020-06-10 20:09:16 +03:00
rinpatch 7aa6c82937 Merge branch 'remake-remodel-dms' into 'develop'
Chats / ChatMessages

See merge request pleroma/pleroma!2429
2020-06-10 12:05:45 +00:00
lain 9e411372d0 ActivityPub: Don't show announces of your own objects in timeline. 2020-06-10 12:10:09 +02:00
lain 86fec45f40 ControllerHelper: Fix wrong comparison. 2020-06-10 11:09:45 +02:00
lain b4c50be9df Apply suggestion to lib/pleroma/web/controller_helper.ex 2020-06-10 08:12:29 +00:00
lain be7c322865 Apply suggestion to lib/pleroma/web/controller_helper.ex 2020-06-10 08:02:35 +00:00
lain c4f267b3be Apply suggestion to lib/pleroma/web/controller_helper.ex 2020-06-10 08:02:26 +00:00
lain 1b746cfbbb Merge branch 'add-url-to-admin-account-view' into 'develop'
Add `url` field to AdminAPI.AccountView

See merge request pleroma/pleroma!2633
2020-06-09 12:59:14 +00:00
Egor Kislitsyn 3dd1de61a7 Add url field to AdminAPI.AccountView 2020-06-09 16:02:42 +04:00
lain 063e6b9841 StatusController: Correctly paginate favorites.
Favorites were paginating wrongly, because the pagination headers
where using the id of the id of the `Create` activity, while the
ordering was by the id of the `Like` activity. This isn't easy to
notice in most cases, as they usually have a similar order because
people tend to favorite posts as they come in. This commit adds a
way to give different pagination ids to the pagination helper, so
we can paginate correctly in cases like this.
2020-06-09 10:53:40 +02:00
lain 064c4f86f3 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-09 09:36:07 +02:00
lain 40d5058cc4 Merge branch 'remake-remodel-dms' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-09 09:21:44 +02:00
lain e1bc37d118 MigrationHelper: Move notification backfilling to own module. 2020-06-09 09:20:55 +02:00
lain fc04a138d4 Apply suggestion to lib/pleroma/notification.ex 2020-06-08 20:01:37 +00:00
Haelwenn (lanodan) Monnier fe1cb56fdc
transmogrifier: MIME.valid?/1 for mediaType
No issues with the rest of the network yet but this makes sure it will work
once https://git.pleroma.social/pleroma/pleroma/-/merge_requests/2429
is merged.
2020-06-08 21:04:30 +02:00
Egor Kislitsyn d44843e677
Restrict ActivityExpirationPolicy to Notes only 2020-06-08 17:56:34 +04:00
Egor Kislitsyn da22119c2f
Merge branch 'develop' into global-status-expiration 2020-06-08 17:21:47 +04:00
lain d192492658 Merge branch 'openapi/admin/relay' into 'develop'
Add OpenAPI spec for AdminAPI.RelayController

See merge request pleroma/pleroma!2579
2020-06-08 11:07:01 +00:00
lain c450b248cc Merge branch 'feature/delete-follow-requests-on-user-deletion' into 'develop'
Delete outgoing pending follow requests on user deletion

See merge request pleroma/pleroma!2631
2020-06-08 10:54:43 +00:00
lain 3b5282bef2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-08 11:19:18 +02:00
lain 89b85f6529 ChatController: Remove nonsensical pagination. 2020-06-08 11:09:53 +02:00
lain 7d66dd180a Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-08 10:18:10 +02:00
lain fe2a5d0614 ChatController: Make last_read_id mandatory. 2020-06-07 20:22:08 +02:00
Sergey Suprunenko 8d9e586887
Delete pending follow requests on user deletion 2020-06-07 17:31:37 +02:00
lain 801e668a97 ChatController: Add last_read_id option to mark_as_read. 2020-06-07 15:38:33 +02:00
lain 2cdaac4330 SideEffects: Move streaming of chats to after the transaction. 2020-06-07 14:52:56 +02:00
lain 1a11f0e453 Chats: Change id to flake id. 2020-06-07 14:25:30 +02:00
lain 0365053c8d AttachmentValidator: Check if the mime type is valid. 2020-06-07 09:19:00 +02:00
lain 40fc4e974e Notfication: Add validation of notification types 2020-06-06 16:59:08 +02:00
lain f4cf4ae16e ChatController: Use new oauth scope *:chats. 2020-06-06 16:48:02 +02:00
Haelwenn (lanodan) Monnier e1b07402ab
User: Add raw_bio, storing unformatted bio
Related: https://git.pleroma.social/pleroma/pleroma/issues/1643
2020-06-06 16:23:16 +02:00
lain f77d4a302d Credo fixes. 2020-06-06 15:51:08 +02:00
lain 9189b489ee Migrations: Move Notification migration code to helper 2020-06-06 15:33:02 +02:00
lain 9fa3f0b156 Notification: Change type of type to an enum. 2020-06-06 13:08:45 +02:00
lain ca0e6e702b ChatMessageReference -> Chat.MessageReference 2020-06-06 11:51:10 +02:00
lain 137adef6e0 ChatMessageReference: Use FlakeId.Ecto.Type
No need for compat because this is brand new.
2020-06-06 10:42:24 +02:00
lain 239d03499e Chat: creation_cng -> changeset
Make our usage of this more uniform.
2020-06-06 10:38:45 +02:00
lain 4e8c0eecd5 WebPush: Don't break on contentless chat messages. 2020-06-06 09:46:07 +02:00
Egor Kislitsyn 167812a3f2
Fix pagination 2020-06-05 23:18:29 +04:00
Egor Kislitsyn b02df1803e
Merge remote-tracking branch 'origin/develop' into activity-pub-use-atoms-as-keys 2020-06-05 23:15:10 +04:00
lain f24d2f714f Credo fixes 2020-06-05 17:18:48 +02:00
lain a8ca030d85 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-05 16:53:56 +02:00
Haelwenn d74985af23 Merge branch 'features/apc2s-pagination' into 'develop'
Fix AP C2S pagination

Closes #866 and #751

See merge request pleroma/pleroma!2491
2020-06-05 14:52:09 +00:00
Haelwenn 54bae06b4f Create Pleroma.Maps.put_if_present(map, key, value, value_fun // &{:ok, &1})
Unifies all the similar functions to one and simplify some blocks with it.
2020-06-05 14:48:02 +00:00
lain 115d08a754 Pipeline: Add a side effects step after the transaction finishes
This is to run things like streaming notifications out, which will
sometimes need data that is created by the transaction, but is
streamed out asynchronously.
2020-06-05 16:47:02 +02:00
lain 65689ba9bd If Credo fixes is so good, why is there no Credo fixes 2? 2020-06-05 13:10:48 +02:00
lain f3ea6ee2c8 Credo fixes. 2020-06-05 12:45:25 +02:00
lain 0efa8aa0b9 Transmogrifier: For follows, create notifications last.
As the notification type changes depending on the follow state,
the notification should not be created and streamed out before the
state settles. For this reason, the notification creation has been
delayed until it's clear if the user has been followed or not.

This is a bit hacky but it will be properly rewritten using the
pipeline soon.
2020-06-05 12:26:07 +02:00
lain cc8a7dc205 SideEffects / ChatView: Add an unread cache.
This is to prevent wrong values in the stream.
2020-06-05 12:01:33 +02:00
lain aa2ac76510 Notification: Don't break on figuring out the type of old EmojiReactions 2020-06-04 20:40:46 +02:00
lain d44da91bbf SubscriptionOperation: Let chat mentions through. 2020-06-04 20:28:33 +02:00
Egor Kislitsyn 317e2b8d61
Use atoms as keys in ActivityPub.fetch_* functions options 2020-06-04 21:36:26 +04:00
lain 56dfa0e0fb Transmogrifier: Update notification after accepting. 2020-06-04 19:22:49 +02:00
lain 00748e9650 ChatMessageReferences: Change seen -> unread 2020-06-04 17:14:42 +02:00
minibikini b57e4ad1ab Merge branch 'develop' into 'openapi/admin/relay'
# Conflicts:
#   lib/pleroma/web/admin_api/controllers/admin_api_controller.ex
2020-06-04 13:29:32 +00:00
lain b952f3f379 WebPush: Push out chat message notications. 2020-06-04 14:49:10 +02:00
Egor Kislitsyn 70f054b083
Merge branch 'develop' into openapi/admin/relay 2020-06-04 13:30:14 +04:00
Egor Kislitsyn b4d5bdd6f1
Merge branch 'develop' into openapi/admin/config 2020-06-04 13:28:00 +04:00
lain e46aecda55 Notification: Fix notifications backfill for compacted activities 2020-06-03 20:51:59 +02:00
lain b3407344d3 ChatController: Add function to mark single message as read. 2020-06-03 19:21:23 +02:00
lain c020fd4352 ChatMessageReferenceView: Return read status as unread. 2020-06-03 18:58:58 +02:00
Egor Kislitsyn c16315d055
Add OpenAPI spec for AdminAPI.ReportController 2020-06-03 19:17:05 +04:00
Egor Kislitsyn 9d572f2f66
Move report actions to AdminAPI.ReportController 2020-06-03 19:17:04 +04:00
lain fb4ae9c720 Streamer, SideEffects: Stream out ChatMessageReferences
Saves us a few calles to fetch things from the DB that we already
have.
2020-06-03 16:45:04 +02:00