Commit graph

6202 commits

Author SHA1 Message Date
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
Roman Chvanikov
604a83ae3e merge develop 2020-06-08 19:21:07 +03: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
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
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
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
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
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
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