Commit graph

9641 commits

Author SHA1 Message Date
a9da110ac6 Add rate limiting for events actions
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-12-02 23:11:28 +01:00
marcin mikołajczak
9fc7362240 Merge branch 'fix-rel-me' into 'develop'
Add missing rel_me cache

See merge request soapbox-pub/rebased!220
2022-12-02 21:24:08 +00:00
Alex Gleason
642c322388 Merge branch 'fix-remote-follow-redirect' into 'develop'
Fix remote follow redirect

See merge request soapbox-pub/rebased!217
2022-12-02 16:43:58 +00:00
d4904b392a Actually fix verified_at
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-12-02 17:41:38 +01:00
marcin mikołajczak
0ab061f375 Add missing rel_me cache 2022-12-02 11:20:48 +00:00
f21ec80ea2 Fix race condition, update tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-12-01 00:34:39 +01:00
60a51cd047 Auto join own events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-30 23:36:40 +01:00
e4b568b963 Use origin URL for remote_url
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-30 11:24:34 +01:00
c2f6a4c452 Add events to features
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-29 19:59:40 +01:00
ave
0f88c2bca4 Change follow_operation schema to use type BooleanLike 2022-11-28 00:13:34 +00:00
ec4b8ab4f6 Merge remote-tracking branch 'soapbox/develop' into pleroma-events 2022-11-27 23:34:12 +01:00
Alex Gleason
f2a1acf1a8
Fix closing a report where the reporter is deactivated
Fixes https://gitlab.com/soapbox-pub/rebased/-/issues/133
2022-11-27 12:10:03 -06:00
7fa342bd76 Cleanup, language detection
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-27 19:08:50 +01:00
0424697a2e mix format
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-27 15:28:29 +01:00
58c70c88c2 Only allow valid content types, again
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-27 14:08:58 +01:00
Hélène
542bb17258 ArticleNotePageValidator: fix replies fixing
Some software, like GoToSocial, expose replies as ActivityPub
Collections, but do not expose any item array directly in the object,
causing validation to fail via the ObjectID validator. Now, Pleroma will
drop that field in this situation too.
2022-11-27 04:54:19 +01:00
FloatingGhost
747311f623 fix resolution of GTS user keys 2022-11-27 04:54:18 +01:00
Tusooa Zhu
11d5ad24c5 Make local-only posts stream in local timeline 2022-11-27 04:39:32 +01:00
Tusooa Zhu
e46c3a0595 Do not stream out Create of ChatMessage 2022-11-27 04:39:32 +01:00
Tusooa Zhu
09ab51eebb Make mutes and blocks behave the same as other lists 2022-11-27 04:21:58 +01:00
Haelwenn (lanodan) Monnier
7ec3469bea Transmogrifier: Use validating regex for "mediaType" 2022-11-27 04:21:31 +01:00
Haelwenn (lanodan) Monnier
8640d217b1 AttachmentValidator: Use custom ecto type and regex for "mediaType" 2022-11-27 04:21:31 +01:00
Haelwenn (lanodan) Monnier
da71092003 EctoType: Add MIME validator 2022-11-27 04:21:31 +01:00
Ilja
4504c81080 Delete report notifs when demoting from superuser
When someone isn't a superuser any more, they shouldn't see the reporsts any more either.
Here we delete the report notifications from a user when that user gets updated from being a superuser to a non-superuser.
2022-11-27 04:20:11 +01:00
Alex Gleason
2899feb4d9
Fix remote follow redirect 2022-11-26 13:57:08 -06:00
7b165deb05 api/v1/pleroma/events/joined_events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-23 23:38:00 +01:00
e9a83d03fc Add only_events param to timelines
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-23 20:03:42 +01:00
92716dd605 Merge remote-tracking branch 'soapbox/develop' into pleroma-events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-23 20:01:51 +01:00
adfbd3d756 Merge remote-tracking branch 'soapbox/develop' into pleroma-events 2022-11-23 19:50:09 +01:00
marcin mikołajczak
13c61e59e7 Merge branch 'merge-pleroma' into 'develop'
Merge pleroma/develop

See merge request soapbox-pub/rebased!216
2022-11-23 16:08:38 +00:00
marcin mikołajczak
32bcd7fdf6 Merge branch 'link-verification' into 'develop'
Verify link ownership with rel="me"

See merge request soapbox-pub/rebased!214
2022-11-23 16:08:36 +00:00
052d5e768a don't use restrict_filtered twice
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-23 15:34:59 +01:00
1d6b91c071 Merge remote-tracking branch 'pleroma/develop' into merge-pleroma
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-23 15:33:54 +01:00
7510688bb1 Use correct domain for fqn and InstanceView
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-22 23:34:23 +01:00
marcin mikołajczak
eca1f581d0 Merge branch 'privacy-policy-api' into 'develop'
/api/v1/instance/domain_blocks endpoint

See merge request soapbox-pub/rebased!212
2022-11-21 21:01:40 +00:00
db050332cb Do not verify links in bio
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-21 20:36:34 +01:00
0a3f523329 fix tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-21 16:28:12 +01:00
Haelwenn
7f0b3161ea Merge branch 'akoma/deactivated-users' into 'develop'
Timeline query performance improvements

See merge request pleroma/pleroma!3779
2022-11-20 23:40:58 +00:00
86d1358b4f fix
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-20 23:48:05 +01:00
b001a2c2c8 Verify link ownership with rel="me"
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-20 23:19:52 +01:00
tusooa
9d99e76a3a
Fix unit tests 2022-11-20 00:57:04 -05:00
tusooa
0e0c316c76
Fix report api 2022-11-20 00:35:52 -05:00
tusooa
a69e9ae2ef
Flag an Object, not an Activity 2022-11-19 23:51:43 -05:00
HJ
a31d3589ed Update http_security_plug.ex 2022-11-17 12:03:01 -05:00
HJ
79bd363a68 Update lib/pleroma/web/plugs/http_security_plug.ex 2022-11-17 12:03:01 -05:00
Henry Jameson
db76ea578a try to fix ruffle on chrome 2022-11-17 12:03:01 -05:00
2e7a713e58 Merge remote-tracking branch 'soapbox/develop' into pleroma-events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-16 00:06:25 +01:00
b7879d58f3 Merge remote-tracking branch 'pleroma/develop' into HEAD
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-15 23:27:58 +01:00
1175127549 Only keep domain_blocks for now
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-14 19:41:40 +01:00
9126ba7695 Add domain_blocks and extended_description endpoints
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-14 16:31:53 +01:00
feld
a9d991d31e Merge branch 'develop' into 'akoma/deactivated-users'
# Conflicts:
#   CHANGELOG.md
2022-11-14 14:03:11 +00:00
f9dfe64ba4 Privacy policy API
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-14 14:28:58 +01:00
lain
0e1356ef9c Merge branch 'akkoma/delete-improvements' into 'develop'
Alter priority of Delete activities to be lowest

See merge request pleroma/pleroma!3782
2022-11-14 07:24:46 +00:00
lain
76ed0da09f Merge branch 'bugfix/reset-unreachable-on-fetch' into 'develop'
Object.Fetcher: Set reachable on successful fetch

See merge request pleroma/pleroma!3780
2022-11-14 07:22:33 +00:00
Mark Felder
2e0089dd5c Alter priority of Delete activities to be lowest
This will prevent a user with a large number of posts from negatively affecting performance of the outgoing federation queue if they delete their account.
2022-11-13 14:11:48 -05:00
Haelwenn
a2db64b12b Merge branch 'fix-typo-in-csp-report-to-header-name' into 'develop'
Fix typo in CSP Report-To header name

See merge request pleroma/pleroma!3768
2022-11-13 18:53:59 +00:00
Mark Felder
47b9847edd Deletes do not generate notifications of any kind, so skip trying 2022-11-13 12:25:52 -05:00
Haelwenn (lanodan) Monnier
b2713357b9 Object.Fetcher: Set reachable on successful fetch 2022-11-13 16:51:12 +01:00
Mark Felder
edaf0a05f8 Add same optimized join for excluding invisible users 2022-11-12 18:06:28 -05:00
Mark Felder
749445dd50 Fix reports which do not have a user
The check for deactivated users was being applied to report activities.
2022-11-12 17:54:11 -05:00
FloatingGhost
4d321be05c Extract deactivated users query to a join 2022-11-12 17:52:28 -05:00
feld
3d1828f43b Merge branch 'oban-timeouts' into 'develop'
Define sane Oban Worker timeouts

See merge request pleroma/pleroma!3777
2022-11-12 22:13:28 +00:00
tusooa
1b0e47b79b Merge branch 'from/upstream-develop/tusooa/no-strip-report' into 'develop'
Give admin the choice to not strip reported statuses

Closes #2887

See merge request pleroma/pleroma!3773
2022-11-12 17:55:50 +00:00
Mark Felder
8be7f87e1f Define sane Oban Worker timeouts 2022-11-11 13:46:27 -05:00
Mark Felder
6b87b3f2ea Remove Quack logging backend 2022-11-11 12:36:29 -05:00
e675fed7e9 Fix instance view
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-10 22:15:49 +01:00
tusooa
717c5901f8
Render a generated reported activity properly 2022-11-09 23:02:27 -05:00
tusooa
6f047cc308
Do not strip reported statuses when configured not to 2022-11-09 22:36:57 -05:00
8661703c16 Merge remote-tracking branch 'soapbox/develop' into pleroma-events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-09 17:08:18 +01:00
Alex Gleason
6dc55531db
mix format 2022-11-08 17:47:17 -06:00
Alex Gleason
f844c4ba13
ActivityDraft: detect language from content_html so it can strip links 2022-11-08 17:23:41 -06:00
Alex Gleason
728643b623
LanguageDetector: strip non-language text to (hopefully) improve accuracy 2022-11-08 17:06:16 -06:00
c9e9f25f00 Merge remote-tracking branch 'soapbox/develop' into post-languages
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-08 23:11:05 +01:00
1553b651dc Add supported languages list to /api/v2/instance
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-08 23:09:42 +01:00
Haelwenn (lanodan) Monnier
648e012022 ObjectAgePolicy: Make strip_followers behavior for followers-only explicit 2022-11-07 14:58:47 +01:00
Alex Gleason
22edf882a5
MediaProxy: use SHA-256 2022-11-06 12:02:42 -06:00
Alex Gleason
28c8948765 Merge branch 'reject-anon-report' into 'develop'
Add RemoteReportPolicy to reject reports without enough information

See merge request soapbox-pub/rebased!202
2022-11-06 14:39:06 +00:00
Alex Gleason
ee58bcafc9
DeepL: endpoint to_string() 2022-11-06 08:29:03 -06:00
Alex Gleason
5e6bb2aed0
DeepL: fix endpoint 2022-11-06 08:24:54 -06:00
Alex Gleason
fc81e325e7 DeepL: not_empty_string 2022-11-06 14:16:56 +00:00
Alex Gleason
04fe485015 Merge branch 'remove-shout' into 'develop'
Remove Shout feature

See merge request soapbox-pub/rebased!200
2022-11-06 14:11:39 +00:00
marcin mikołajczak
6500fee83f Merge branch 'post-languages' into 'develop'
Allow to specify post language, add content translations and language auto-detection

See merge request soapbox-pub/rebased!196
2022-11-05 22:08:34 +00:00
4f042374d8 Deepl: use :base_url
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-05 21:41:58 +01:00
2c62043ef9 Merge remote-tracking branch 'soapbox/develop' into pleroma-events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-05 21:08:08 +01:00
19885d9347 Fix fasttext for multiline posts
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-05 20:16:32 +01:00
Alex Gleason
3957167a9d
RemoteReportPolicy: add :reject_all option, fix tests 2022-11-05 14:07:37 -05:00
Alex Gleason
87e9bbf86c
Add RemoteReportPolicy to reject reports without enough information 2022-11-05 13:56:56 -05:00
0c1eaf2634 Add contact account to InstanceView
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-05 13:05:14 +01:00
6649eb84a2 Add all 639-1 languages to @supported_locales
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-04 21:54:20 +01:00
ade5796337 Improve getting language from context, add more tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-04 20:52:25 +01:00
Thomas Citharel
bdedc41cbc
Fix typo in CSP Report-To header name
The header name was Report-To, not Reply-To.

In any case, that's now being changed to the Reporting-Endpoints HTTP
Response Header.
https://w3c.github.io/reporting/#header
https://github.com/w3c/reporting/issues/177

CanIUse says the Report-To header is still supported by current Chrome
and friends.
https://caniuse.com/mdn-http_headers_report-to

It doesn't have any data for the Reporting-Endpoints HTTP header, but
this article says Chrome 96 supports it.
https://web.dev/reporting-api/

(Even though that's come out one year ago, that's not compatible with
Network Error Logging which's still using the Report-To version of the
API)

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-11-04 09:43:13 +01:00
85105e0049 Detect language for incoming posts
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-03 23:33:22 +01:00
4442fc40e6 Add test
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-03 22:43:20 +01:00
Alex Gleason
39d7093ff5
Remove Shout feature 2022-11-03 13:29:52 -05:00
Alex Gleason
4576a5c440
ObjectValidators: fix validate_required on embeds_many fields 2022-11-03 11:56:20 -05:00
Mark Felder
7c64f705f6 Update to Phoenix 1.6 and chase dependencies
Also bump minimum Elixir to 1.11
2022-11-03 16:13:07 +00:00
Alexander Strizhakov
8407e26b0c rebase fix 2022-11-03 10:06:36 -04:00
Alexander Strizhakov
5a9ea98baf XML WebFinger user representation correct domain 2022-11-03 09:48:59 -04:00
Alexander Strizhakov
4121bca895 expanding WebFinger 2022-11-03 09:48:24 -04:00
4c1d0dbb69 Language detection
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-11-03 00:17:27 +01:00
Alex Gleason
920ba8ddec
Return an error if replying to a deleted status
Fixes https://gitlab.com/soapbox-pub/rebased/-/issues/119
2022-11-02 10:04:32 -05:00
d094cdf55b Rename
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-31 22:42:03 +01:00
9cdce15a42 Update description.exs
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-30 23:07:30 +01:00
68c00fa749 Fix get_language_from_context
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-30 21:59:48 +01:00
55cb9b29fe Do not translate non-public statuses
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-30 21:57:05 +01:00
c1f5138f73 Add tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-30 21:06:31 +01:00
25a9ff0f3d Expose translation service availability
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-30 18:53:29 +01:00
65fb5abc73 Merge remote-tracking branch 'soapbox/develop' into post-languages 2022-10-30 18:47:47 +01:00
8243be681b WIP Translation backends support
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-30 18:47:41 +01:00
972498cac4 Store remote post language information
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-30 10:41:09 +01:00
Haelwenn
da0ef154a6 Merge branch 'from/upstream-develop/tusooa/2930-get-or-fetch' into 'develop'
Fix User.get_or_fetch/1 with usernames starting with http

Closes #2930

See merge request pleroma/pleroma!3751
2022-10-30 00:38:21 +00:00
1b9b03b494 Add internal (not managable from API) webhooks
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-29 22:20:05 +02:00
6a8a8f2a2e StatusView: display language
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-29 19:49:52 +02:00
marcin mikołajczak
6778334542 Merge branch 'colors-override' into 'develop'
Use color overrides from frontend configuration

See merge request soapbox-pub/rebased!191
2022-10-29 14:38:31 +00:00
ff35b13b52 Allow to specify post language
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-29 16:22:57 +02:00
0ff7f6d03c Do not use contentMap if content is not empty
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-29 15:01:17 +02:00
Alex Gleason
74c360e4d6 Merge branch 'feature/add-prom_ex' into 'develop'
Add PromEx

See merge request soapbox-pub/rebased!193
2022-10-28 20:58:56 +00:00
dea3110ef5 Merge remote-tracking branch 'soapbox/develop' into instance-v2
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-28 20:12:29 +02:00
a77a7a3620 Add /api/v2/instance route
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-28 20:10:10 +02:00
Josh Adams
7edf9d4990 Replace deprecated @view_module
See https://gist.github.com/chrismccord/e53e79ef8b34adf5d8122a47db44d22f#update-your-layouts
2022-10-27 21:03:06 -05:00
Josh Adams
36dc0fee1e Don't use a fake ecto feature
See https://github.com/elixir-ecto/ecto/issues/3889
2022-10-27 20:14:55 -05:00
Josh Adams
ec4dc4adac Remove unnecessary newline
L I N T E R S
2022-10-27 20:03:45 -05:00
Josh Adams
ec6ee11ea7 Add most (all?) the promex setup 2022-10-27 19:47:37 -05:00
Alex Gleason
bddd4375bf
Expose favicon URL in instance API 2022-10-27 13:51:25 -05:00
Alex Gleason
35f16d9c47
Render title and favicon on all pages that serve index.html 2022-10-27 13:29:36 -05:00
Alex Gleason
f303a02e86
Let favicon be configurable 2022-10-27 13:15:15 -05:00
tusooa
9fbf01f7a9 Merge branch 'push-updates' into 'develop'
Push.Impl: support edits

See merge request pleroma/pleroma!3760
2022-10-27 12:51:29 +00:00
27fb0c80ba Use color overrides from frontend configuration
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-27 00:12:39 +02:00
feld
7a519b6a66 Merge branch 'fix-deprecation-text' into 'develop'
Fix deprecation warning for Gun timeout

See merge request pleroma/pleroma!3759
2022-10-24 14:22:49 +00:00
Haelwenn (lanodan) Monnier
16b06160ac CommonAPI: generate ModerationLog for all admin/moderator deletes
As a side-effect it also changes the ChatMessage delete ID to an
Activity.id rather than MessageReference.id

Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/2958
2022-10-14 18:51:08 +02:00
5f54228e38 Send event updates to participants
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-12 23:57:05 +02:00
8221504ecb Merge remote-tracking branch 'soapbox/develop' into pleroma-events 2022-10-12 21:52:36 +02:00
Ekaterina Vaartis
5a39866388 Specifically strip mentions for search indexing 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
6256822afd Check for updateId, not uid 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
5ac6763238 Make add_to_index and remove_from_index report errors 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
102ebb42bd Make search a callback 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
119b2b847b Instead of checking string length, explicitly check for "" and "." 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
e20f74c71b Remove duplicate function call 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
84608be87e Change updateId to uid because apparently that's the new name 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
1e23f527e3 Change the meilisearch key auth to conform to 0.25.0 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
3387935e83 Don't try removing deleted users and such from index as posts 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
d89dc5518b Fix meilisearch tests and jobs for oban 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
2bc21c6f18 Use oban for search indexing 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
6f2f457751 Add a search backend behaviour 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
571533ae26 Don't support meilisearch < 0.24.0, since it breaks things 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
3179ed0921 Make chunk size configurable 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
a12f63bc81 Implement suggestions from the Meilisearch MR
- Index unlisted posts
- Move version check outside of the streaming and only do it once
- Use a PUT request instead of checking manually if there is need to insert
- Add error handling, sort of
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
a6946048fb Rename Activity.Search to Search.DatabaseSearch 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
0fae71f88d Rename search.ex to database_search.ex and add search/2 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
39e596a5b5 Style fixes 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
7009ef5672 Move the search.ex file so credo doesn't complain 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
9c1a930707 Support reindexing meilisearch >=0.24.0
It has has a different error code key
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
e928e307f3 Add a reindex option
Signed-off-by: Ekaterina Vaartis <vaartis@kotobank.ch>
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
4445421297 Only add local posts to index in activity_pub
Remote ones are already added in another place
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
0b4fd0d342 Set content-type to application/json 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
e4b7a3f51f Modify some meilisearch variables 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
cf558208c2 Use proper deleted object for removing from index 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
95cb2bb694 Don't try removing from index again in common_api
It's already removed in the side effects of the pipeline
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
6beef2d117 Move add_to_index / remove_from_index to Pleroma.Actitivy.Search 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
40280cc273 Reorder ranking rules for (maybe) better results 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
d9ef7e0758 Fix activity being passed to objec_to_search_data 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
09a1ae1b6e Add the meilisearch.stats command 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
a67f9da5cc Add a message with a count of posts to index 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
2c7d973af7 Implement meilisearch auth 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
410c8cb765 Make indexing logs rewrite themselves 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
35e9192ced Rework task indexing to share code with the main module
The code in the main module now scrubs new posts too
2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
3dedadf192 Adjust content indexing to skip more unneeded stuff 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
9f16ca80e0 Mark only content as searchable for meilisearch 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
2b2e409ad7 Also index incoming federated posts 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
e35d87ea54 Make the chunk size smaller 2022-10-10 20:19:09 +03:00
Ekaterina Vaartis
00c48a33ac Use content instead of source and scrub it 2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
9beaebd97e Tweak search ordering to hopefully return newer results 2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
38996f551a Make meilisearch sort on publish date converted to unix time 2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
ea6a6a1287 Make the indexing batch differently and more, show number indexed 2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
365024abec Ensure only indexing public posts and implement clearing and delete 2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
0318e9a599 Add logging to milisiearch index and make it use desc(id) 2022-10-10 20:19:08 +03:00
Ekaterina Vaartis
e154ebbf79 Initial meilisearch implementation, doesn't delete posts yet 2022-10-10 20:19:08 +03:00
Alex Gleason
0447197378 Merge branch 'merge-pleroma' into 'develop'
Merge Pleroma

See merge request soapbox-pub/rebased!184
2022-10-10 01:22:54 +00:00
Alex Gleason
0ee413400f
FEP-e232: support Link mediaType "application/activity+json" 2022-10-09 15:25:34 -05:00
Alex Gleason
ddaeb09e54
Merge remote-tracking branch 'pleroma/develop' into merge-pleroma 2022-10-09 13:46:48 -05:00
Alex Gleason
11dfc2589a
Add support for FEP-e232 quotes without quoteUrl 2022-10-09 13:27:16 -05:00
Tusooa Zhu
dd82fd234f
Merge branch 'release/2.4.4' into mergeback/2.4.4 2022-10-08 22:15:09 -04:00
678b6ce17c Add more tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-06 00:06:34 +02:00
e187aff5dd Add some tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-03 23:10:02 +02:00
c45612badd Update spec, fix tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-03 20:13:44 +02:00
73e7549d94 Update scheduled notitfications on edit
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-02 16:32:34 +02:00
Alex Gleason
0cd15c997c
TagValidator: allow Link tags, don't go nuclear for unrecognized Tag types 2022-10-01 19:56:11 -05:00
1b238a4fad Push.Impl: support edits
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-01 23:28:02 +02:00
0612c32c6e Add notifications for updates in events you joined
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-01 22:26:35 +02:00
9ff0eb5c4b Fix event updates
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-10-01 18:01:52 +02:00
58e0ca0d68 Merge remote-tracking branch 'soapbox/develop' into pleroma-events 2022-09-30 20:04:29 +02:00
Mark Felder
1958f23fe7 Fix deprecation warning for Gun timeout 2022-09-30 12:22:06 -04:00
Alex Gleason
544be36c80
Merge remote-tracking branch 'pleroma/develop' into merge-pleroma 2022-09-28 17:29:53 -05:00
c6fddd6e0a Add migration cooldown period
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-28 23:48:45 +02:00
Haelwenn
3f1c31b7cd Merge branch 'fix/exclude-deactivated-in-search' into 'develop'
User: search: exclude inactive users from user search

See merge request pleroma/pleroma!3755
2022-09-27 23:58:45 +00:00
f7d9f42243 event editing?
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-27 23:56:20 +02:00
Haelwenn
5d7d623390 Merge branch 'bugfix/elixir-1.14' into 'develop'
Bugfix: Elixir 1.14

See merge request pleroma/pleroma!3740
2022-09-27 21:46:03 +00:00
daccdc179c Only allow event author to accept/reject joins
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-27 21:01:48 +02:00
31d2f9a255 Store internal location data
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-25 23:19:08 +02:00
ba9fe4c6f2 Fix participation requests query
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-25 22:01:34 +02:00
5039c5ca80 Fix notification display
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-24 22:04:44 +02:00
f5fe5b4544 Add shortcuts and share_target to manifest.json
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-24 18:34:09 +02:00
Ilja
2d7ea263a1 Add extra routes to :users_manage_credentials privilege 2022-09-24 13:52:28 +02:00
0b65d205c9 Store participation_request_count
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-22 23:42:28 +02:00
c3f59eb9ec format
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-18 13:14:11 +02:00
tusooa
1a7107f4a5 Merge branch 'remove_from_followers' into 'develop'
MastoAPI: POST /api/v1/accounts/:id/remove_from_followers

See merge request pleroma/pleroma!3647
2022-09-16 23:24:13 +00:00
3b498061ed Merge remote-tracking branch 'rebased/develop' into pleroma-events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-16 21:24:22 +02:00
a1batross
7f63b4c315 User: search: exclude deactivated users from user search
This way we don't pollute search results with deactivated and deleted users
2022-09-16 00:49:16 +03:00
Tusooa Zhu
ea60c4e709
Fix wrong relationship direction 2022-09-14 20:24:04 -04:00
Alex Gleason
f5e77a3eaa
soapbox-fe --> soapbox 2022-09-13 15:26:28 -05:00
Hélène
0b19625bfb
ObjectView: do not fetch an object for its ID
Non-Create/Listen activities had their associated object field
normalized and fetched, but only to use their `id` field, which is both
slow and redundant. This also failed on Undo activities, which delete
the associated object/activity in database.

Undo activities will now render properly and database loads should
improve ever so slightly.
2022-09-11 04:54:04 +02:00
marcin mikołajczak
98ccf6cbdc Merge branch 'webfinger-expanding' into 'develop'
Webfinger expanding

See merge request soapbox-pub/rebased!96
2022-09-10 22:03:10 +00:00
Tusooa Zhu
50923f5438
Fix User.get_or_fetch/1 with usernames starting with http 2022-09-08 11:58:17 -04:00
f169b9ee3b Use paths from mastodon groups implementation
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-07 15:03:57 +02:00
Alex Gleason
ce9bacc3be Merge branch 'fix-subscriptions' into 'develop'
Create notifications async with NotificationWorker, #91

See merge request soapbox-pub/rebased!173
2022-09-06 16:33:02 +00:00
86cb1897f5 Fixes, add/update tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-05 23:34:25 +02:00
Alex Gleason
05a20c8d6d
Create notifications async with NotificationWorker, #91 2022-09-05 12:38:30 -05:00
a84d9b78f6 Display location, mix format
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-05 18:24:37 +02:00
Haelwenn
b8d6cb5845 Merge branch 'from/upstream-develop/tusooa/2892-backup-scope' into 'develop'
Make backups require its own scope

Closes #2892

See merge request pleroma/pleroma!3721
2022-09-05 15:42:02 +00:00
Haelwenn
346c130ddc Merge branch 'fix/user-private-key-generation' into 'develop'
User: generate private keys on user creation

See merge request pleroma/pleroma!3737
2022-09-05 15:38:15 +00:00
tusooa
f7c2073103 Merge branch 'bump/min-elixir-1.10' into 'develop'
Bump minimum Elixir version to 1.10

See merge request pleroma/pleroma!3741
2022-09-05 15:19:34 +00:00
tusooa
9874b4c985 Merge branch 'develop' into 'from/upstream-develop/tusooa/2892-backup-scope'
# Conflicts:
#   CHANGELOG.md
2022-09-05 15:00:19 +00:00
d4eccd86b3 Merge remote-tracking branch 'pleroma/develop' into merge-pleroma
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-05 15:30:14 +02:00
f1607c3d3b Add geospatial package dependency
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-05 13:53:13 +02:00
Hélène
cd237d22f1
User: generate private keys on user creation
This fixes a race condition bug where keys could be regenerated
post-federation, causing activities and HTTP signatures from an user to
be dropped due to key differences.
2022-09-05 03:51:17 +02:00
tusooa
f8afba95b2 Merge branch 'fix/gts-federation' into 'develop'
GoToSocial federation fixes

See merge request pleroma/pleroma!3725
2022-09-05 01:10:34 +00:00
tusooa
20347898e2 Merge branch 'fix/federation-context-issues' into 'develop'
Fix reply context fixing (Pleroma replies to Misskey threads) and removal of context objects

See merge request pleroma/pleroma!3717
2022-09-04 18:43:36 +00:00
Haelwenn
c63cf954de Merge branch 'from/upstream-develop/tusooa/streaming-fix' into 'develop'
Streaming fix

Closes #2796

See merge request pleroma/pleroma!3738
2022-09-03 18:24:28 +00:00
Hélène
4477c6baff
Metadata/Utils: use summary as description if set
When generating OpenGraph and TwitterCard metadata for a post, the
summary field will be used first if it is set to generate the post
description.
2022-09-03 17:17:48 +02:00
cdf454bfd2 Merge remote-tracking branch 'pleroma/develop' into HEAD 2022-09-03 17:04:02 +02:00
marcin mikołajczak
0312f6770c Merge branch 'develop' into 'edits'
# Conflicts:
#   priv/static/schemas/litepub-0.1.jsonld
2022-09-03 14:14:25 +00:00
Haelwenn
257601d67d Merge branch 'ssh-bbs-improvements' into 'develop'
BBS: add functionnalities and readability

See merge request pleroma/pleroma!3675
2022-09-03 11:15:07 +00:00
Haelwenn
299255b9bb Merge branch 'from/upstream-develop/tusooa/assoc-object-id' into 'develop'
Add function to calculate associated object id

Closes #2307

See merge request pleroma/pleroma!3692
2022-09-03 02:50:40 +00:00
Haelwenn
e40c221c31 Merge branch 'from/upstream-develop/tusooa/edits' into 'develop'
Editing

Closes #1429, #2859, and #2288

See merge request pleroma/pleroma!3678
2022-09-03 02:16:42 +00:00
Haelwenn
07ef72f493 Merge branch 'from/develop/tusooa/2807-remote-xact-post' into 'develop'
Remote interaction with posts

Closes #2807 and #978

See merge request pleroma/pleroma!3587
2022-09-03 02:03:48 +00:00
Haelwenn (lanodan) Monnier
ec80a1e405 Bump minimum Elixir version to 1.10
1.9 being end-of-life
2022-09-03 03:58:22 +02:00
Haelwenn (lanodan) Monnier
e124776d14 Elixir 1.14 formatting 2022-09-03 03:58:22 +02:00
Haelwenn (lanodan) Monnier
21ab7369ca Bump minimum Elixir version to 1.10
With the release of Elixir 1.14, Elixir 1.9 is now end-of-life.

Elixir 1.10 Release Notes:
https://github.com/elixir-lang/elixir/releases/tag/v1.10.0
2022-09-02 22:53:54 +02:00
2fbbf9eec1 EventController.create: Use location_id
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-09-01 23:08:10 +02:00
Alex Gleason
9578013fc2
Use "Pleroma" in user-agent 2022-09-01 08:03:34 -05:00
Tusooa Zhu
20a0dd6516
Exclude Announce instead of restricting to Create in visibility_tags 2022-08-31 22:14:54 -04:00
Tusooa Zhu
ffd379456b
Do not stream out Announces to public timelines 2022-08-31 15:57:06 -04:00
a7687b197d Handle banner_id
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-30 11:05:34 +02:00
a15bf235cf Merge remote-tracking branch 'pleroma/develop' into HEAD
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-30 10:15:07 +02:00
ee8f11b085 Export to ical
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-30 10:05:39 +02:00
Tusooa Zhu
f9b86c3c22
Make local-only posts stream in local timeline 2022-08-27 19:34:56 -04:00
Tusooa Zhu
3afa1903ee
Do not stream out Create of ChatMessage 2022-08-27 17:51:41 -04:00
62add6cfbd WIP location handling
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-27 22:57:54 +02:00
tusooa
a546e6f042 Merge branch 'feature/emoji-15-support' into 'develop'
emoji-test: update to latest 15.0 draft

See merge request pleroma/pleroma!3726
2022-08-27 00:59:22 +00:00
Alex Gleason
8833ea7a1b Merge branch 'rebased-fixes' into 'develop'
Fix Rebased --> Pleroma instance version

See merge request soapbox-pub/rebased!167
2022-08-25 19:28:51 +00:00
Alex Gleason
d230d70170
Nodeinfo: fix Rebased --> Pleroma 2022-08-25 14:11:28 -05:00
Alex Gleason
a4c9739965
Fix Rebased --> Pleroma instance version 2022-08-25 14:02:38 -05:00
64d515df28 Use colors from frontend configuration
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-25 14:58:28 +02:00
d967e1f55e Add some controller tests, fixes
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-24 23:28:59 +02:00
tusooa
59109f8f74 Merge branch 'fix_flaky_test_user_relationship_test.exs_81' into 'develop'
fix flaky test_user_relationship_test.exs:81

See merge request pleroma/pleroma!3697
2022-08-24 15:24:07 +00:00
Ilja
47e3a72b6e fix flaky test_user_relationship_test.exs:81 2022-08-24 15:24:07 +00:00
Hélène
439c1baf25
OAuthPlug: use user cache instead of joining
As this plug is called on every request, this should reduce load on the
database by not requiring to select on the users table every single
time, and to instead use the by-ID user cache whenever possible.
2022-08-24 03:40:05 +02:00
2aae16d810 Event reminder notifications
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-22 22:47:55 +02:00
ff5ddd040e Validate event datetime
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-21 23:23:35 +02:00
d90d00d77c Fix tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-21 13:14:55 +02:00
Tusooa Zhu
c59ee1f172
Expose availability of GET /main/ostatus via instance 2022-08-20 21:19:31 -04:00
Tusooa Zhu
4ec9eeb3f8
Make remote interaction page translatable 2022-08-20 21:14:26 -04:00
Tusooa Zhu
1218adacc5
Display status link in remote interaction form 2022-08-20 21:13:52 -04:00
Tusooa Zhu
b7c75db0f7
Lint 2022-08-20 21:13:51 -04:00
Tusooa Zhu
779457d9a4
Add GET endpoints for remote subscription forms
There are two reasons for adding a GET endpoint:

0: Barely displaying the form does not change anything on the server.

1: It makes frontend development easier as they can now use a link,
instead of a form, to allow remote users to interact with local ones.
2022-08-20 21:13:51 -04:00
Tusooa Zhu
a243a217a7
Fix form item name in status_interact.html 2022-08-20 21:13:51 -04:00
Tusooa Zhu
2701628786
Add remote interaction ui for posts 2022-08-20 21:13:51 -04:00
Tusooa Zhu
3885ee182a
Switch to associated_object_id index 2022-08-20 20:43:46 -04:00
Tusooa Zhu
a31d6bb52c
Execute session disconnect in background 2022-08-19 20:24:24 -04:00
Tusooa Zhu
f459c1260b
Lint 2022-08-19 20:24:24 -04:00
Tusooa Zhu
c62a4f1c17
Disconnect streaming sessions when token is revoked 2022-08-19 20:22:45 -04:00
Hélène
0cee3c6e93
emoji-test: update to latest 15.0 draft 2022-08-20 00:21:07 +02:00
b3700afdd3 Notification for participation request/accepted participation
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-19 23:20:00 +02:00
4d9ddd4f4b Include join state in StatusView
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-19 16:42:29 +02:00
Hélène
4661b56720
ArticleNotePageValidator: fix replies fixing
Some software, like GoToSocial, expose replies as ActivityPub
Collections, but do not expose any item array directly in the object,
causing validation to fail via the ObjectID validator. Now, Pleroma will
drop that field in this situation too.
2022-08-19 02:45:49 +02:00
a0923b96a0 Fix voters_count in polls from remote Pleroma instances
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-18 23:39:07 +02:00
322e00e45a Revert "Merge branch 'revert-f6e02270' into 'develop'"
This reverts commit 5b8ad6bc91, reversing
changes made to f6e02270c3.
2022-08-18 23:06:18 +02:00
Hélène
61254111e5
HttpSignaturePlug: accept standard (request-target)
The (request-target) used by Pleroma is non-standard, but many HTTP
signature implementations do it this way due to a misinterpretation of
the draft 06 of HTTP signatures: "path" was interpreted as not having
the query, though later examples show that it must be the absolute path
with the query part of the URL as well.

This behavior is kept to make sure most software (Pleroma itself,
Mastodon, and probably others) do not break, but Pleroma now accepts
signatures for a (request-target) containing the query, as expected by
many HTTP signature libraries, and clarified in the draft 11 of HTTP
signatures.

Additionally, the new draft renamed (request-target) to @request-target.
We now support both for incoming requests' signatures.
2022-08-18 17:01:34 +02:00
marcin mikołajczak
4de58c2b2c Revert "Merge branch 'polls' into 'develop'"
This reverts merge request !152
2022-08-18 06:38:03 +00:00
FloatingGhost
f41d970a59
fix resolution of GTS user keys 2022-08-16 18:51:34 +02:00
fa9106bb1b Merge remote-tracking branch 'soapbox/develop' into polls 2022-08-16 07:42:22 +02:00
Hélène
88c1c76d3e
Migrations: delete contexts with BaseMigrator
Due to the lengthiness of this task, the migration has been adapted into
a BaseMigrator migration, running in the background instead.
2022-08-15 01:47:09 +02:00
Hélène
bb02ee99f5
CommonFixes: more predictable context generation
`context` fields for objects and activities can now be generated based
on the object/activity `inReplyTo` field or its ActivityPub ID, as a
fallback method in cases where `context` fields are missing for incoming
activities and objects.
2022-08-15 01:46:55 +02:00
Alex Gleason
dae909ad34
Revert "Merge branch 'from/upstream-develop/tusooa/sync-settings' into 'develop'"
This reverts commit 93f12c0d0d, reversing
changes made to 6ce3f76b5d.
2022-08-13 14:06:21 -05:00
Alex Gleason
55c15ea81e
Merge remote-tracking branch 'pleroma/develop' into merge-pleroma 2022-08-13 13:42:11 -05:00
9ffb4d055a Handle voters count correctly
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-12 23:49:20 +02:00
3482b5d3a3 wip events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-12 23:11:34 +02:00
Haelwenn
06f9324afe Merge branch 'from/upstream-develop/tusooa/2912-receiver-reject-mrf' into 'develop'
Treat MRF rejects as success in Oban worker

Closes #2912

See merge request pleroma/pleroma!3720
2022-08-12 01:37:40 +00:00
Haelwenn
837d4dc87f Merge branch 'fix_flaky_tests_where_we_sometimes_loose_db_connections' into 'develop'
Fix flaky tests with DB connections; Allow higher amount of restarts for Pleroma.Repo during testing

See merge request pleroma/pleroma!3696
2022-08-12 01:36:11 +00:00
Haelwenn
93f12c0d0d Merge branch 'from/upstream-develop/tusooa/sync-settings' into 'develop'
Synchronized settings for apps (frontends)

See merge request pleroma/pleroma!3698
2022-08-12 01:34:36 +00:00
Haelwenn
6ce3f76b5d Merge branch 'from/upstream-develop/floatingghost/follow-state' into 'develop'
Backport: bugfix/follow-state

Closes #2902

See merge request pleroma/pleroma!3718
2022-08-12 01:32:20 +00:00
Alex Gleason
2edb44789d
Merge remote-tracking branch 'origin/develop' into odic 2022-08-11 18:17:44 -05:00
Alex Gleason
54838c959f
Expose oauth_consumer_strategies in instance API 2022-08-11 17:58:54 -05:00
Mark Felder
cbdc13b767 Fix Varnish 7 support by ensuring Media Preview Proxy fetches headers with a capitalized HEAD verb 2022-08-10 17:09:58 -04:00
2833287bee wip
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-10 14:21:50 +02:00
Hélène
3b6784b1de
CreateGenericValidator: fix reply context fixing
Incoming Pleroma replies to a Misskey thread were rejected due to a
broken context fix, which caused them to not be visible until a
non-Pleroma user interacted with the replies.

This fix properly sets the post-fix object context to its parent Create
activity as well, if it was changed.
2022-08-10 02:29:38 +02:00
Hélène
def0f5dc2e
StatusView: implement pleroma.context field
This field replaces the now deprecated conversation_id field, and now
exposes the ActivityPub object `context` directly via the MastoAPI
instead of relying on StatusNet-era data concepts.
2022-08-10 02:29:38 +02:00
Tusooa Zhu
738ca484fd
Update api spec to reflect OAuth scope change 2022-08-09 18:15:25 -04:00
Hélène
a9111bcaf2
StatusView: clear MSB on calculated conversation_id
This field seems to be a left-over from the StatusNet era.
If your application uses `pleroma.conversation_id`: this field is
deprecated.

It is currently stubbed instead by doing a CRC32 of the context, and
clearing the MSB to avoid overflow exceptions with signed integers on
the different clients using this field (Java/Kotlin code, mostly; see
Husky and probably other mobile clients.)

This should be removed in a future version of Pleroma. Pleroma-FE
currently depends on this field, as well.
2022-08-09 20:10:43 +02:00
Hélène
7f71e3d0fe
CommonFields: remove context_id 2022-08-09 20:10:43 +02:00
Hélène
f3e061c964
Object: remove context_id field
30 to 70% of the objects in the object table are simple JSON objects
containing a single field, 'id', being the context's ID. The reason for
the creation of an object per context seems to be an old relic from the
StatusNet era, and has only been used nowadays as an helper for threads
in Pleroma-FE via the `pleroma.conversation_id` field in status views.
An object per context was created, and its numerical ID (table column)
was used and stored as 'context_id' in the object and activity along
with the full 'context' URI/string.

This commit removes this field and stops creation of objects for each
context, which will also allow incoming activities to use activity IDs
as contexts, something which was not possible before, or would have been
very broken under most circumstances.

The `pleroma.conversation_id` field has been reimplemented in a way to
maintain backwards-compatibility by calculating a CRC32 of the full
context URI/string in the object, instead of relying on the row ID for
the created context object.
2022-08-09 20:10:43 +02:00
538a210f70 Merge remote-tracking branch 'soapbox/develop' into pleroma-events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-09 15:30:34 +02:00
8c8f648168 Merge remote-tracking branch 'soapbox/develop' into webfinger-expanding 2022-08-09 13:11:27 +02:00
Tusooa Zhu
a7f01ffc1d
Make backups require its own scope 2022-08-09 00:34:04 -04:00
0412cdcb32 Merge remote-tracking branch 'soapbox/develop' into edits
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-08 17:01:48 +02:00
Tusooa Zhu
d487e0160c
Treat containment failure as cancel in ReceiverWorker 2022-08-08 08:41:33 -04:00
3d7d1870b5 Expose nonAnonymous field from Smithereen polls
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-07 23:56:52 +02:00
10753eeb6b wip events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-07 20:19:56 +02:00
a665aaaad2 Merge remote-tracking branch 'tusooa/from/upstream-develop/tusooa/edits' into edits 2022-08-06 14:41:12 +02:00
Tusooa Zhu
a0166e92fa
Treat MRF rejects as success in Oban worker 2022-08-06 00:33:18 -04:00
55c62d19a8 Merge remote-tracking branch 'pleroma/develop' into merge-pleroma
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-03 23:42:48 +02:00
floatingghost
f2a9285ff0
bugfix/follow-state (#104)
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/104
2022-08-03 01:07:53 -04:00
Tusooa Zhu
a4fa286d20
Use actor_types() to determine whether the Update is for user 2022-08-02 10:37:28 -04:00
marcin mikołajczak
fdea5d2df6 Merge branch 'stream_markers' into 'develop'
Stream marker updates

See merge request soapbox-pub/soapbox-be!144
2022-08-02 07:35:37 +00:00
Haelwenn
b2ba307f4d Merge branch 'from/upstream-develop/tusooa/2871-fix-local-public' into 'develop'
local only fixes

Closes #2871

See merge request pleroma/pleroma!3660
2022-08-02 05:39:50 +00:00
Haelwenn
7299795eb4 Merge branch 'from/upstream-develop/tusooa/backup-without-email' into 'develop'
Allow users to create backups without providing email address

See merge request pleroma/pleroma!3665
2022-08-02 05:23:49 +00:00
fe0c02f2c8 Stream marker updates
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-08-01 19:07:17 +02:00
tusooa
c80096522c Merge branch 'develop' into 'from/develop/tusooa/emit-move'
# Conflicts:
#   CHANGELOG.md
#   test/pleroma/user_test.exs
2022-07-31 21:32:49 +00:00
5d3d6a58f7 Use duration param for mute expiration duration
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-31 17:22:34 +02:00
3a6274f29a wip events
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-28 11:07:21 +02:00
Haelwenn
0814d0e0cb Merge branch 'fix/proper-emoji-qualification' into 'develop'
Emoji: implement full-qualifier using combinations

See merge request pleroma/pleroma!3709
2022-07-28 04:46:15 +00:00
Haelwenn
0f9f3d2897 Merge branch 'from/upstream-develop/tusooa/2384-pagination' into 'develop'
Make mutes and blocks behave the same as other lists

Closes #2384

See merge request pleroma/pleroma!3693
2022-07-28 04:37:10 +00:00
Hélène
7167de592e
Emoji: apply recommended tail call changes
Behavior matches previous code.

Co-authored-by: Tusooa Zhu <tusooa@kazv.moe>
2022-07-27 02:08:46 +02:00
cca794e5fe Merge remote-tracking branch 'soapbox/develop' into webhooks
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-26 19:12:52 +02:00
965f1de57e Revert "Document way to do notice compatibility routes with Nginx reverse-proxy instead"
This reverts commit 64e16e6a4b.

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-26 07:12:23 +02:00
Hélène
b99f5d6183
Emoji: split qualification variation into a module 2022-07-26 02:04:12 +02:00
234e09af3b Merge remote-tracking branch 'tusooa/from/upstream-develop/tusooa/edits' into edits 2022-07-25 23:55:21 +02:00
a8540c3797 Merge Pleroma
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-25 23:51:14 +02:00
Hélène
fb3f6e1975
EmojiReactValidator: use new qualification method 2022-07-25 16:49:23 +02:00
Hélène
01d396585e
Emoji: implement full-qualifier using combinations
This implements fully_qualify_emoji/1, which will return the
fully-qualified version of an emoji if it knows of one, or return the
emoji unmodified if not.
This code generates combinations per emoji: for each FE0F, all possible
combinations of the character being removed or staying will be
generated. This is made as an attempt to find all partially-qualified
and unqualified versions of a fully-qualified emoji.

I have found *no cases* for which this would be a problem, after
browsing the entire emoji list in emoji-test.txt. This is safe, and,
sadly, most likely the sanest too.
2022-07-25 16:20:12 +02:00
Hélène
388bbc4978
EmojiReactValidator: fix emoji qualification
Tries fully-qualifying emoji when receiving them, by adding the emoji
variation sequence to the received reaction emoji.

This issue arises when other instance software, such as Misskey, tries
reacting with emoji that have unqualified or minimally qualified
variants, like a red heart. Pleroma only accepts fully qualified emoji
in emoji reactions, and refused those emoji. Now, Pleroma will attempt
to properly qualify them first, and reject them if checks still fail.

This commit contains changes to tests proposed by lanodan.

Co-authored-by: Haelwenn <contact+git.pleroma.social@hacktivis.me>
2022-07-24 13:36:06 +02:00
Tusooa Zhu
997f08b350
Make AntiLinkSpamPolicy history-aware 2022-07-24 00:18:09 -04:00
Tusooa Zhu
d877d2a4e7
Make HashtagPolicy history-aware 2022-07-24 00:02:39 -04:00
Tusooa Zhu
82c8fc1ede
Make NoEmptyPolicy work with Update 2022-07-23 23:24:25 -04:00
Tusooa Zhu
46a5c06853
Make NormalizeMarkup history-aware 2022-07-23 22:50:38 -04:00
Tusooa Zhu
fc7ce5f93c
Make NoPlaceholderTextPolicy history-aware 2022-07-23 22:41:04 -04:00
Tusooa Zhu
dce7e42928
Make MediaProxyWarmingPolicy history-aware 2022-07-23 22:34:03 -04:00
Tusooa Zhu
0a337063e1
Make ForceMentionsInContent history-aware 2022-07-23 22:23:57 -04:00
Tusooa Zhu
cd19537f39
Make EnsureRePrepended history-aware 2022-07-23 17:48:39 -04:00
Tusooa Zhu
eba9b0760f
Make MRF Keyword history-aware 2022-07-23 15:56:36 -04:00
tusooa
301ce5bc62 Merge branch 'mute-expiration' into 'develop'
MastoAPI: Show mutes expiration date

See merge request pleroma/pleroma!3682
2022-07-23 00:34:15 +00:00
Haelwenn
cfb21d011f Revert "Merge branch 'fix/emoji-react-qualification' into 'develop'"
This reverts merge request !3684
2022-07-22 23:19:49 +00:00
Haelwenn (lanodan) Monnier
eba1666575 AttachmentValidator: fix_media_type/1 fallback to application/octet-stream 2022-07-22 20:30:45 +02:00
Haelwenn (lanodan) Monnier
be98900904 ArticleNotePageValidator: Fix when attachments are a Map (ie. owncast) 2022-07-22 20:30:45 +02:00
tusooa
c589b8445f Merge branch 'birthday_fix' into 'develop'
Allow to unset birthday

See merge request pleroma/pleroma!3702
2022-07-21 21:27:16 +00:00
Haelwenn
454f892f37 Merge branch 'fix/emoji-react-qualification' into 'develop'
EmojiReactValidator: fix emoji qualification

See merge request pleroma/pleroma!3684
2022-07-21 17:45:47 +00:00
Tusooa Zhu
4350a205a4
Merge remote-tracking branch 'upstream/develop' into HEAD 2022-07-21 13:44:16 -04:00
Haelwenn
1f18ab36b5 Merge branch 'resolve/notice-compatibility-routes-nginx' into 'develop'
Document way to do notice compatibility routes with Nginx reverse-proxy, fixes #2900

Closes #2900

See merge request pleroma/pleroma!3701
2022-07-20 16:57:05 +00:00
marcin mikołajczak
8c537f7b99 Merge branch 'quotes-count' into 'develop'
Count and display post quotes

See merge request soapbox-pub/soapbox-be!133
2022-07-19 20:02:15 +00:00
0c9e64265c Store event information
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-19 13:18:25 +02:00
207d8f391f Merge remote-tracking branch 'soapbox/develop' into webfinger-expanding 2022-07-18 18:34:40 +02:00
2f28aba5a4 Revert "StatusController: deleting a status returns the original media IDs"
This reverts commit a6598128ca.

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-18 18:18:15 +02:00
f073443c79 Merge remote-tracking branch 'tusooa/from/upstream-develop/tusooa/edits' into edits
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-17 19:54:14 +02:00
fb268c4378 Allow to unset birthday
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-17 19:46:29 +02:00
Haelwenn
bb4860e222 Merge branch 'from/upstream-develop/tusooa/config-translatable' into 'develop'
Translatable config descriptions

Closes pleroma-meta#65

See merge request pleroma/pleroma!3695
2022-07-17 17:34:21 +00:00
abe13622e6 Merge remote-tracking branch 'pleroma/develop' into merge-pleroma
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-17 16:08:26 +02:00
Sean King
64e16e6a4b
Document way to do notice compatibility routes with Nginx reverse-proxy instead 2022-07-16 23:44:37 -06:00
tusooa
8aba7c08d1 Merge branch 'notification_types' into 'develop'
MastoAPI: Use `types` for filtering notifications

See merge request pleroma/pleroma!3648
2022-07-17 03:17:43 +00:00
597f56b4c4 Use :utc_datetime
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-16 16:28:22 +02:00
Tusooa Zhu
8371fd8ca2
Implement settings api 2022-07-16 01:20:25 -04:00
Tusooa Zhu
1d7e8d6e01
Pass in msgctxt for config translation strings 2022-07-14 17:41:33 -04:00
floatingghost
28626eafc1 Allow higher amount of restarts for Pleroma.Repo during testing
This was done by floatingghost as part of a bigger commit in Akkoma.
See <37ae047e16/lib/pleroma/application.ex (L83)>.

As explained in <https://ihatebeinga.live/objects/860d23e1-dc64-4b07-8b4d-020b9c56cff6>

> there are so many caches that clearing them all can nuke the supervisor, which by default will become an hero if it gets more than 3 restarts in <5 seconds

And further down the thread

> essentially we've got like 11 caches (37ae047e16/lib/pleroma/application.ex (L165))
> then in test we fetch them all (https://akkoma.dev/AkkomaGang/akkoma/src/branch/develop/test/support/data_case.ex#L50) and call clear on them
> so if this clear fails on any 3 of them, the pleroma supervisor itself will die

How it fails?

> idk maybe cachex dies, maybe :ets does a weird thing
> it doesn't log anything, it just consistently dies during cache clearing so i figured it had to be that

> honestly my best bet is locksmith and queuing
> https://github.com/whitfin/cachex/blob/master/lib/cachex/actions/clear.ex#L26
> clear is thrown into a locksmith transaction

> locksmith says
> >If the process is already in a transactional context, the provided function will be executed immediately. Otherwise the required keys will be locked until the provided function has finished executing.

> so if we get 2 clears too close together, maybe it locks, then doesn't like the next clear?
2022-07-14 13:50:44 +02:00
Ilja
c045a49909 Add privilege for announcements 2022-07-14 08:40:26 +02:00
Ilja
44d14e8a9c Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into fine_grained_moderation_privileges 2022-07-14 07:07:19 +02:00
Tusooa Zhu
7473868880
Fix compile error 2022-07-13 18:46:21 -04:00
Tusooa Zhu
20588517fc
Make admin api use translated config descriptions 2022-07-13 18:31:35 -04:00
Tusooa Zhu
b2a0718e83
Extract config descriptions for translation 2022-07-13 18:01:47 -04:00
tusooa
fdc71f6051 Merge branch 'short-description' into 'develop'
Add short_description instance field

Closes #2865

See merge request pleroma/pleroma!3651
2022-07-13 04:42:24 +00:00
Tusooa Zhu
c1874bc8f9
Make mutes and blocks behave the same as other lists 2022-07-12 19:03:18 -04:00
tusooa
311fda32f3 Merge branch 'fix/case-sensitivity-restricted-nicknames-blacklisted-domains' into 'develop'
Make checking blacklisted domains and restricted nicknames case-insensitive

Closes #2894 and #2888

See merge request pleroma/pleroma!3687
2022-07-11 04:04:36 +00:00
Tusooa Zhu
8bb2e52d2e
Make lint happy 2022-07-10 23:43:49 -04:00
Haelwenn
420da14b61 Merge branch 'from/upstream-develop/tusooa/2830-remote-fo-mp' into 'develop'
Pass remote follow avatar into media proxy

Closes #2830

See merge request pleroma/pleroma!3690
2022-07-10 16:19:16 +00:00
Tusooa Zhu
2efc0ffcf0
Pass remote follow avatar into media proxy 2022-07-10 00:12:53 -04:00
Tusooa Zhu
04ded94a50
Fix remote emoji in subject disappearing after edits 2022-07-09 18:00:42 -04:00
Tusooa Zhu
069554e925
Guard against outdated Updates
It is possible for an earlier Update to be received by us later.
For this, we now
(1) only allows Updates to poll counts if there is no updated field,
    or the updated field is the same as the last updated date or
    creation date;
(2) does not allow updating anything if the updated field
    is older than the last updated date or creation date;
(3) allows updating updatable fields otherwise (normal updates);
(4) if only the updated field is changed, it does not create
    a new history item on its own.
2022-07-07 15:11:29 -04:00
Sean King
6e7b919637
Make validation functions for restricted nicknames and blacklisted domains; do restricted nickname validation in LDAP account registration 2022-07-06 20:15:49 -06:00
Tusooa Zhu
f84ed44cea
Fix cannot get full history on object fetch 2022-07-06 01:19:53 -04:00
Sean King
0d4aceb9b0
Make checking blacklisted domains and restricted nicknames case-insenstive 2022-07-05 20:36:47 -06:00
Ilja
f88ed1df75 Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into fine_grained_moderation_privileges 2022-07-05 12:05:19 +02:00
Tusooa Zhu
5ce118d970
Validate object data for incoming Update activities
In Create validator we do not validate the object data,
but that is because the object itself will go through the
pipeline again, which is not the case for Update. Thus,
we added validation for objects in Update activities.
2022-07-03 20:21:46 -04:00
Tusooa Zhu
4367489a3e
Pass history items through ObjectValidator for updatable object types 2022-07-03 20:02:52 -04:00
Tusooa Zhu
4edc867b87 Merge branch 'develop' into 'from/upstream-develop/tusooa/edits'
# Conflicts:
#   lib/pleroma/constants.ex
2022-07-03 22:24:57 +00:00
Haelwenn
de37583c49 Merge branch 'image_description_from_exif_data' into 'develop'
Use EXIF data of image for image description

See merge request pleroma/pleroma!3535
2022-07-03 21:14:25 +00:00
Haelwenn
a15b45a589 Merge branch 'bugfix/mime-validation-no-list' into 'develop'
Bugfix: Validate mediaType only by it's format

See merge request pleroma/pleroma!3597
2022-07-03 21:04:41 +00:00
Haelwenn
6b937d1473 Merge branch 'from/upstream-develop/tusooa/server-announcements' into 'develop'
Server announcements (1st pass)

See merge request pleroma/pleroma!3643
2022-07-03 20:58:20 +00:00
b8a566229b tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-07-03 20:21:05 +02:00
Ilja
42d4bd3a5d Rename pipelines and add forgotten tags
I renamed some tags before, but forgot to rename the pipelines
I also had some tags which I forgot to add to the config, description, etc.

These have now been done/added
2022-07-02 08:55:14 +02:00
Ilja
c0e4b1b3e2 Fix typo's
priviledge |-> privilege
2022-07-02 07:52:39 +02:00
Ilja
56227ef7ba Descriptions from exif data with only whitespeces are considered empty
I noticed that pictures taken with Ubuntu-Touch have whitespace in one of the fields
This should just be ignored imo
2022-07-01 13:47:23 +02:00
Ilja
8c761942b1 update moduledoc 2022-07-01 12:15:02 +02:00
Ilja
81afaee374 Better way of getting keys
I used keyword_list[:key], but if the key doesn't exist, it will return nil. I actually expect a list and further down the code I use that list.
I believe the key should always be present, but in case it's not, it's better to return an empty list instead of nil. That way the code wont fail further down the line.
2022-07-01 12:15:02 +02:00
Ilja
d0d48a9e88 Add deprecation warnings 2022-07-01 12:15:02 +02:00
Ilja
8303af84ce Rename the Exiftool module
No migrations or checks yet
2022-07-01 12:15:02 +02:00
Ilja
551721e41a Rename the new module 2022-07-01 12:13:46 +02:00
Ilja
cd316d7269 Use EXIF data of image to prefill image description
During attachment upload Pleroma returns a "description" field. Pleroma-fe has an MR to use that to pre-fill the image description field, <https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1399>

* This MR allows Pleroma to read the EXIF data during upload and return the description to the FE
    * If a description is already present (e.g. because a previous module added it), it will use that
    * Otherwise it will read from the EXIF data. First it will check -ImageDescription, if that's empty, it will check -iptc:Caption-Abstract
    * If no description is found, it will simply return nil, just like before
* When people set up a new instance, they will be asked if they want to read metadata and this module will be activated if so

This was taken from an MR i did on Pleroma and isn't finished yet.
2022-07-01 12:13:46 +02:00
Ilja
37fdf148b0 Rename privilege tags
I first focussed on getting things working
Now that they do and we know what tags there are, I put some thought in providing better names

I use the form <what_it_controls>_<what_it_allows_you_to_do>

:statuses_read    => :messages_read
:status_delete    => :messages_delete

:user_read        => :users_read
:user_deletion    => :users_delete
:user_activation  => :users_manage_activation_state
:user_invite      => :users_manage_invites
:user_tag         => :users_manage_tags
:user_credentials => :users_manage_credentials

:report_handle    => :reports_manage_reports

:emoji_management => :emoji_manage_emoji
2022-07-01 10:28:09 +02:00
Hélène
11f9f2ef27
EmojiReactValidator: fix emoji qualification
Tries fully-qualifying emoji when receiving them, by adding the emoji
variation sequence to the received reaction emoji.

This issue arises when other instance software, such as Misskey, tries
reacting with emoji that have unqualified or minimally qualified
variants, like a red heart. Pleroma only accepts fully qualified emoji
in emoji reactions, and refused those emoji. Now, Pleroma will attempt
to properly qualify them first, and reject them if checks still fail.
2022-06-28 21:33:57 +02:00
409fd1d9a3 Allow to unset birthday
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-06-25 23:57:43 +02:00
4a57a65695 Mastodon-compatible webhooks
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-06-25 23:26:42 +02:00
Tusooa Zhu
014096aeef
Make outbound transmogrifier aware of edit history 2022-06-25 11:20:46 -04:00