Commit graph

6161 commits

Author SHA1 Message Date
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
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
rinpatch
7bc2ec0aa2 Merge branch 'mastodon-migration-compat' into 'develop'
Add compatibility routes for converted mastodon instances

Closes #1797

See merge request pleroma/pleroma!2572
2020-05-24 19:05:57 +00:00
lain
ddbbefeb2e Merge branch 'feature/configure-filename-truncate' into 'develop'
Configurable filename truncation threshold

Closes #1799

See merge request pleroma/pleroma!2573
2020-05-22 16:05:35 +00:00
Roman Chvanikov
5d60b25e69 Apply suggestion to lib/pleroma/web/common_api/utils.ex 2020-05-22 15:44:10 +00:00
Roman Chvanikov
cc82229ba7 Add filename_display_max_length config 2020-05-22 18:19:25 +03:00
lain
91c8467582 OStatusController: Add Mastodon activity compat route. 2020-05-22 17:11:59 +02:00
lain
355aa3bdc7 ActivityPubController: Add Mastodon activity compat route. 2020-05-22 17:06:12 +02:00
lain
8a4bd9e5d1 OStatusController: Add Mastodon compatibility route for objects. 2020-05-22 16:47:22 +02:00
rinpatch
1fa7aa9fc5 Merge branch 'emoji-react-better-errors' into 'develop'
EmojiReactionController: Return more appropriate error.

See merge request pleroma/pleroma!2569
2020-05-22 14:36:08 +00:00
Egor Kislitsyn
ba106aa9c8
Fix notifications mark as read API 2020-05-22 18:15:36 +04:00
lain
ca755f9a73 ActivityPubController: Add Mastodon compatibility route. 2020-05-22 16:15:29 +02:00
lain
bcb549531f EmojiReactionController: Return more appropriate error. 2020-05-22 14:38:28 +02:00
Haelwenn
7b02bfca51 Merge branch 'announce-validator' into 'develop'
Announce validator

See merge request pleroma/pleroma!2567
2020-05-22 05:47:53 +00:00
Haelwenn
a57e7f3503 Merge branch '1113-op-mentioning' into 'develop'
CommonAPI: Change public->private implicit addressing.

Closes #1113

See merge request pleroma/pleroma!2563
2020-05-22 05:22:07 +00:00
lain
ab1154e13f Merge branch 'admin-logo-upload' into 'develop'
Ability to upload background, logo, default user avatar, instance thumbnail, and the NSFW hiding image

See merge request pleroma/pleroma!2388
2020-05-21 14:30:34 +00:00