Commit graph

6429 commits

Author SHA1 Message Date
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
Haelwenn 18b050dfd1 Merge branch 'openapi/update-admin-api/status' into 'develop'
Update OpenAPI spec for AdminAPI.StatusController

See merge request pleroma/pleroma!2624
2020-06-03 14:04:12 +00:00
lain 903955b189 FollowingRelationship: Remove meaningless change 2020-06-03 14:40:44 +02:00
lain 7f5c5b11a5 Chats: Remove unread from the db, calculate from unseen messages. 2020-06-03 14:26:50 +02:00
lain 73127cff75 Credo fixes. 2020-06-03 13:17:29 +02:00
lain 2591745fc2 ChatMessageReferences: Move tests 2020-06-03 12:56:39 +02:00
Egor Kislitsyn 8a43611e01
Use AdminAPI.StatusView in api/admin/users 2020-06-03 14:53:46 +04:00
lain f3ccd50a33 ChatMessageReferences: Adjust views 2020-06-03 12:49:53 +02:00
lain aa22fce8f4 ChatMessageReference: Introduce and switch in chat controller. 2020-06-03 12:30:12 +02:00
feld 6c1c2cddec Merge branch 'fix/1794-hashtag-search-results' into 'develop'
[#1794] Improvements to hashtags extraction from search query

Closes #1794

See merge request pleroma/pleroma!2611
2020-06-02 16:30:03 +00:00
Egor Kislitsyn 7922e63825
Update OpenAPI spec for AdminAPI.StatusController 2020-06-02 19:08:09 +04:00
Egor Kislitsyn 68cb152a08
Merge branch 'develop' into openapi/admin/relay 2020-06-02 18:50:37 +04:00
lain 879304dcd9 Merge branch 'replies-domain-block' into 'develop'
Replies domain block

Closes #1650

See merge request pleroma/pleroma!2622
2020-06-02 14:14:23 +00:00
lain 5da38c15cd Merge branch 'openapi/admin/oauth-apps' into 'develop'
Add OpenAPI spec for AdminAPI.OAuthAppContoller

See merge request pleroma/pleroma!2582
2020-06-02 14:13:24 +00:00
lain 6977500ef7 Merge branch 'tagline' into 'develop'
Update default instance description

See merge request pleroma/pleroma!2600
2020-06-02 14:10:53 +00:00
lain 022d975a39 Merge branch 'openapi/admin/invites' into 'develop'
Add OpenAPI spec for AdminAPI.InviteController

See merge request pleroma/pleroma!2585
2020-06-02 14:10:21 +00:00
lain 2860c66e88 Merge branch 'feature/embeddable-posts' into 'develop'
Add embeddable posts

Closes #1288

See merge request pleroma/pleroma!2319
2020-06-02 14:04:34 +00:00
lain 2c6ebe709a Credo fixes 2020-06-02 15:14:52 +02:00
lain 6cd2fa2a4c Migrations: Add a migration to backfill notification types. 2020-06-02 15:13:19 +02:00
lain 38dce485c4 Notification: Add function to backfill notification types 2020-06-02 14:50:10 +02:00
lain 904295d53b Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-02 14:28:01 +02:00
lain 37542a9dfa Activity: Remove notifications-related functions. 2020-06-02 14:22:16 +02:00
lain 127ccc4e1c NotificationController: Don't return chat_mentions by default. 2020-06-02 14:05:53 +02:00
lain cd2abcc0e3 Merge branch 'fix/invisible-repeats' into 'develop'
Do not include activities of invisible users unless explicitly requested

Closes #1833

See merge request pleroma/pleroma!2620
2020-06-02 11:32:03 +00:00
lain 805ab86933 Notifications: Make notifications save their type. 2020-06-02 13:24:34 +02:00
rinpatch 165a4b2a69 Do not include activities of invisible users unless explicitly requested
Closes #1833
2020-06-02 13:34:12 +03:00
lain d111eae798 Merge branch 'feature/status-by-id-account-view' into 'develop'
another view for account in admin-fe status_show

Closes #1783

See merge request pleroma/pleroma!2543
2020-06-02 08:49:24 +00:00
lain 8e1db6a835 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-02 10:43:13 +02:00
Alexander Strizhakov 19f468c5bc
replies filtering for blocked domains 2020-06-02 09:00:10 +03:00
rinpatch 6fb900a496 Merge branch 'user-updates' into 'develop'
AccountController: Federate user account changes.

Closes pleroma-support#33 and #1801

See merge request pleroma/pleroma!2617
2020-06-01 20:48:11 +00:00
Alexander Strizhakov 7e6ec778d9
exclude replies on blocked domains 2020-06-01 21:17:32 +03:00
Egor Kislitsyn 6b84c62d4a
Merge remote-tracking branch 'origin/develop' into feature/embeddable-posts 2020-06-01 17:38:57 +04:00
lain af9090238e CommonAPI: Newlines -> br for chat messages. 2020-06-01 15:14:22 +02:00
Egor Kislitsyn a7627bdc7a
Merge remote-tracking branch 'origin/develop' into global-status-expiration 2020-06-01 15:48:51 +04:00
lain 8ff3425828 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-06-01 13:34:13 +02:00
lain d4d4b92f75 TimelineController: Only return Create in public timelines. 2020-06-01 13:17:56 +02:00
lain 9460983032 AccountController: Federate user account changes.
Hotfixy commit, will be moved to the pipeline.
2020-06-01 13:03:22 +02:00
Haelwenn e96765df6b Merge branch 'chore/bump-hackney' into 'develop'
mix.lock: update hackney to 1.16.0

Closes #1612

See merge request pleroma/pleroma!2614
2020-05-30 15:51:19 +00:00
rinpatch 0cb7b0ea84 hackney adapter helper: support tlsv1.3 and remove custom opts
- partitial_chain is no longer exported, but it seems to be the default anyway.
- The bug that caused sni to not be sent automatically seems to be fixed -
https://github.com/benoitc/hackney/issues/612
2020-05-30 15:36:55 +03:00
lain 6ff079ca9f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-30 12:31:12 +02:00
lain 8bdf18d7c1 CommonAPI: Linkify chat messages. 2020-05-30 12:30:31 +02:00
lain 2c9465cc51 SafeText: Let through basic html. 2020-05-30 12:17:18 +02:00
lain b004c427a0 Merge branch 'conversation-pagination' into 'develop'
Conversation pagination

See merge request pleroma/pleroma!2601
2020-05-30 10:02:37 +00:00
Steven Fuchs 6d4b80822b Conversation pagination 2020-05-30 10:02:37 +00:00
Ivan Tashkinov 24f40b8a26 [#1794] Fixed search query splitting regex to deal with Unicode. Adjusted a test. 2020-05-30 10:29:08 +03:00
Ivan Tashkinov 78c80a261a Merge remote-tracking branch 'remotes/origin/develop' into fix/1794-hashtag-search-results 2020-05-30 08:51:38 +03:00
rinpatch d23b3701d8 Merge branch 'bugfix/csp-unproxied' into 'develop'
http_security_plug.ex: Fix non-proxied media

See merge request pleroma/pleroma!2610
2020-05-29 21:23:49 +00:00
rinpatch 109af93227 Apply suggestion to lib/pleroma/plugs/http_security_plug.ex 2020-05-29 21:15:07 +00:00
rinpatch 660d49227b Merge branch 'connect-src' into 'develop'
Add blob: to connect-src CSP, fixes #1827

Closes #1827

See merge request pleroma/pleroma!2608
2020-05-29 19:26:54 +00:00
Ivan Tashkinov c181e555db [#1794] Improvements to hashtags extraction from search query. 2020-05-29 22:03:14 +03:00
Alex Gleason d38f28870e
Add blob: to connect-src CSP 2020-05-29 11:08:17 -05:00
lain 219d2b3146 Merge branch 'fix-streaming' into 'develop'
Fix argument error in streamer

See merge request pleroma/pleroma!2609
2020-05-29 15:42:43 +00:00
feld 81db758e8e Merge branch 'mix/database-vacuum-options' into 'develop'
Database vacuum mix task

See merge request pleroma/pleroma!2599
2020-05-29 15:33:35 +00:00
kPherox de0e262839
Fix argument error in streamer
`Repo.exists` can't use `nil` as it is unsafe.
Use parent object instead of activity because currently Announce activity's context is null.
2020-05-30 00:31:18 +09:00
Haelwenn (lanodan) Monnier da1e31fae3
http_security_plug.ex: Fix non-proxied media 2020-05-29 17:20:09 +02:00
Haelwenn (lanodan) Monnier a43b435c0a
AP C2S: allow limit & order on outbox & read_inbox 2020-05-29 16:14:45 +02:00
Haelwenn (lanodan) Monnier 2c18830d0d
Bugfix: router: allow basic_auth for outbox 2020-05-29 16:14:45 +02:00
Haelwenn (lanodan) Monnier b3b367b894
Bugfix: Reuse Controller.Helper pagination for APC2S 2020-05-29 16:14:45 +02:00
lain 3898dd69a6 SideEffects: Ensure a chat is present before streaming something out. 2020-05-29 16:05:02 +02:00
lain 767ce8b803 StreamerView: Actually send Chats, not ChatMessages. 2020-05-29 16:02:45 +02:00
lain 863c02b25d SideEffects: Stream out chat messages. 2020-05-29 15:44:03 +02:00
lain c86a88edec Streamer: Add a chat message stream. 2020-05-29 15:24:41 +02:00
lain 9848978109 Merge branch 'fix-relay-repeat-notification' into 'develop'
Fix relay repeat notification

See merge request pleroma/pleroma!2590
2020-05-29 10:42:49 +00:00
lain af6d01ec93 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-29 12:36:17 +02:00
kPherox 228ff3760e
Use User.is_internal_user? instead 2020-05-29 19:07:05 +09:00
kPherox 9df5b1e6ae
Don't make relay announce notification 2020-05-29 19:06:38 +09:00
rinpatch 396bc69aee Merge branch 'fix/mediaproxy-bypass-emoji' into 'develop'
Fix profile emojis bypassing mediaproxy and harden CSP

Closes #1810

See merge request pleroma/pleroma!2596
2020-05-29 09:46:31 +00:00
rinpatch 27180611df HTTP Security plug: make starting csp string generation more readable 2020-05-29 12:32:48 +03:00
Egor Kislitsyn 06f20e9181
Add OpenApi spec to AdminAPI.ConfigController 2020-05-28 23:11:12 +04:00
Egor Kislitsyn d1ee3527ef
Move config actions to AdminAPI.ConfigController 2020-05-28 22:23:15 +04:00
lain 1d30608e20 Merge branch 'fix/1557-gets-local-pack' into 'develop'
get-packs for local generated pack

Closes #1557

See merge request pleroma/pleroma!2604
2020-05-28 17:08:30 +00:00
lain f6ddf0cc50 Merge branch 'feature/1792-update-actor-type' into 'develop'
Validate actor type

See merge request pleroma/pleroma!2593
2020-05-28 16:58:28 +00:00
Alex Gleason d4a18d44fe
Update default instance description 2020-05-28 11:56:30 -05:00
Alexander Strizhakov ae05792d2a
get-packs for local generated pack 2020-05-28 19:41:34 +03:00
Mark Felder 92fba24c74 Alpha sort 2020-05-27 17:17:06 -05:00
Mark Felder 30f96b19c1 Abstract out the database maintenance. I'd like to use this from AdminFE too. 2020-05-27 16:40:51 -05:00
Mark Felder 0d57e06626 Make clearer that this is time and resource consuming 2020-05-27 16:31:37 -05:00
Mark Felder 73ca57e4f1 Make it obvious a full vacuum can take a while 2020-05-27 16:27:29 -05:00
Mark Felder a2f57bd82b Permit easy access to vaccum full and analyze via a mix task 2020-05-27 16:27:07 -05:00
Mark Felder 95f6240889 Fix minor spelling error 2020-05-27 14:34:37 -05:00
rinpatch 29ff6d414b HTTP security plug: Harden img-src and media-src when MediaProxy is enabled 2020-05-27 21:41:19 +03:00
rinpatch 455a402c8a HTTP Security plug: rewrite &csp_string/0
- Directives are now separated with ";" instead of " ;",
according to https://www.w3.org/TR/CSP2/#policy-parsing
the space is optional
- Use an IO list, which at the end gets converted to a binary as
opposed to ++ing a bunch of arrays with binaries together and joining
them to a string. I doubt it gives any significant real world advantage,
but the code is cleaner and now I can sleep at night.
- The static part of csp is pre-joined to a single binary at compile time.
Same reasoning as the last point.
2020-05-27 21:31:47 +03:00
rinpatch 8f6d428880 AccountView: Use mediaproxy URLs for emojis
Also use atom keys in emoji maps instead of binaries

Closes #1810
2020-05-27 19:44:02 +03:00
kPherox 48fd9be65a
Exclude post actor from to of relay announce 2020-05-27 23:51:15 +09:00
rinpatch d35be02e70 Merge branch 'refactor-add-mention-step-one' into 'develop'
Fix ObjectView calling into strange functions

Closes #1807

See merge request pleroma/pleroma!2580
2020-05-27 14:17:12 +00:00
rinpatch 91f73a7592 Merge branch 'notification-fixes' into 'develop'
Notification performance fixes

See merge request pleroma/pleroma!2595
2020-05-27 13:45:14 +00:00
Alexander Strizhakov 047a11c48f Apply suggestion to lib/pleroma/web/admin_api/controllers/admin_api_controller.ex 2020-05-27 10:55:42 +00:00
Egor Kislitsyn c6290be682
Fix typo 2020-05-27 14:42:21 +04:00
lain b8e029b5ea Notification: Actually preload objects. 2020-05-27 12:41:06 +02:00
lain b9e2678b9e Merge branch 'fav-speedup' into 'develop'
ActivityPub: Change ordering to `nulls last` in favorites query

See merge request pleroma/pleroma!2594
2020-05-27 08:02:00 +00:00
lain 7e13200869 ActivityPub: Change ordering to nulls last in favorites query
This makes it use our existing index and speeds up the query.
2020-05-27 09:46:12 +02:00
Alexander Strizhakov 3249141588
validate actor type 2020-05-27 10:14:22 +03:00
rinpatch cf139b06a3 Merge branch 'fav-speedup' into 'develop'
Fix favorites query performance

See merge request pleroma/pleroma!2591
2020-05-26 16:33:13 +00:00
rinpatch 3601c0015c Merge branch '1808-pleroma-sucks' into 'develop'
Resolve "Don't fail message ingestions when we can't update a user"

Closes #1808

See merge request pleroma/pleroma!2576
2020-05-26 15:57:01 +00:00
rinpatch ed08da9135 Merge branch '1813-throttling' into 'develop'
Mastodon API Controllers: Use the correct params for rate limiting.

Closes #1813

See merge request pleroma/pleroma!2586
2020-05-26 15:55:09 +00:00
lain d8d99fd4cf Activity.Queries: Use correct actor restriction. 2020-05-26 17:46:16 +02:00
Egor Kislitsyn 2069ec5006
Fix Oban warnings 2020-05-26 16:11:42 +04:00
lain 51bc6674f6 Mastodon API Controllers: Use the correct params for rate limiting. 2020-05-26 13:45:54 +02:00
Egor Kislitsyn fca48154a2
Add AdminAPI.InviteView 2020-05-26 15:21:33 +04:00
Egor Kislitsyn 2a4f965191
Add OpenAPI spec for AdminAPI.InviteTokenController 2020-05-26 15:03:07 +04:00
Egor Kislitsyn 95ebfb9190
Move invite actions to AdminAPI.InviteTokenController 2020-05-26 15:03:07 +04:00
Alexander Strizhakov 8f08384d80
another view for account in admin-fe status_show 2020-05-26 13:48:39 +03:00
Ivan Tashkinov d7a57004ef [#1501] Made user feed contain public and unlisted activities. 2020-05-25 23:27:47 +03:00
Egor Kislitsyn 0ba1f2631a
Add OpenAPI spec for AdminAPI.OAuthAppContoller 2020-05-25 22:04:06 +04:00
lain dbd07d29a3 Streamer: Don't crash on streaming chat notifications 2020-05-25 17:27:45 +02:00
lain 6bd7070b00 Transmogrifier: Use a simpler way to get mentions. 2020-05-25 15:08:43 +02:00
lain 5fef405208 User: Change signature of get_users_from_set 2020-05-25 15:06:35 +02:00
Egor Kislitsyn cbcd592300
Add OpenAPI spec for AdminAPI.RelayController 2020-05-25 16:51:16 +04:00
lain f20dff451e Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into 1808-pleroma-sucks 2020-05-25 14:01:16 +02:00
lain ee35bb5ac2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms 2020-05-25 13:57:27 +02:00
lain ec470c4c77 Merge branch 'openapi/admin/status' into 'develop'
Add OpenAPI spec for AdminAPI.StatusController

See merge request pleroma/pleroma!2566
2020-05-25 11:40:54 +00:00
lain d0c26956da User: Don't error out if we want to refresh a user but can't 2020-05-25 12:46:14 +02:00