Commit graph

6359 commits

Author SHA1 Message Date
Lain Soykaf
ebea518c8c B DedupeTest: Add explicit test for the sharding structure 2024-11-12 12:43:16 +04:00
Mark Felder
d2de251c4d Pleroma.Upload.Filter.Dedupe: sharding directory structure
Dedupe now uses a three-level sharding directory structure to improve performance when many files are uploaded and stored on a filesystem instead of an object store. (note: Minio still affected as it still uses a traditional filesystem)

This does not help if you already have hundreds of thousands of files uploaded. The media URLs are permanently part of the activity so the files cannot be relocated. A motivated user could write a tool to move the files and perhaps write an Nginx or equivalent redirect to make the files still accessible, but that is beyond the scope of this change.
2024-10-29 16:00:18 -04:00
Mark Felder
7d5ef81737 Fix /api/v2/media returning the wrong status code for media processed synchronously
The API should return a 202 only if data cannot be returned yet and a followup GET /api/v1/media/:id should be called to retrieve it. This is something Mastodon does when it needs to transcode large media files. It does not apply to Pleroma and causes apps to waste an API call when posting a status which causes apps to appear to hang on higher latency environments, such as on mobile networks.

https://docs.joinmastodon.org/methods/media/#v2
2024-10-27 21:52:42 -04:00
feld
4557cd960e Merge branch 'remote-report-policy' into 'develop'
Remote report policy

See merge request pleroma/pleroma!4280
2024-10-11 20:23:46 +00:00
feld
dd7f699d4a Merge branch 'tusooa/3331-fix-incoming-block' into 'develop'
Fix incoming Blocks being rejected

Closes #3331

See merge request pleroma/pleroma!4282
2024-10-11 20:22:21 +00:00
feld
3f3f8bc57a Merge branch 'poll-refresh' into 'develop'
Refactor Poll Refreshing

See merge request pleroma/pleroma!4278
2024-10-10 00:46:28 +00:00
Mark Felder
5b04c2bf13 Test the final refresh behavior of a PollWorker poll_end job 2024-10-09 20:15:00 -04:00
marcin mikołajczak
ddedc575e7 Merge branch 'hashtag-feeds-restricted' into 'develop'
Repesct :restrict_unauthenticated for hashtag rss/atom feeds

See merge request pleroma/pleroma!4266
2024-10-09 09:42:53 +00:00
tusooa
f758b6e37c
Fix incoming Blocks being rejected 2024-10-08 23:09:59 -04:00
marcin mikołajczak
07cfbe4ae8 Merge branch 'profile-image-descriptions' into 'develop'
Federate avatar/header descriptions

See merge request pleroma/pleroma!4264
2024-10-06 20:05:36 +00:00
Mint
48af6850fc RemoteReportPolicy: Fix third-party report detection 2024-10-03 20:00:36 +03:00
Mint
fd83b86b99 RemoteReportPolicy: add reject_third_party option 2024-10-03 20:00:15 +03:00
Alex Gleason
b7c91876d2 RemoteReportPolicy: add :reject_all option, fix tests 2024-10-03 19:59:39 +03:00
Alex Gleason
4533f171ab Add RemoteReportPolicy to reject reports without enough information 2024-10-03 19:59:39 +03:00
Mark Felder
fa8de790df Remove test superceded by logic change
We will not be inserting jobs that should be skipped due to updated_at
2024-10-03 10:19:11 -04:00
Mark Felder
ba2ae5e40b Check if a refresh is permitted by comparing timestamps before attempting to insert an Oban job
It's better to avoid inserting an Oban job that will just be rejected if it's not expensive to check.
2024-10-03 10:14:02 -04:00
Mark Felder
0a42a3f2ea Do not attempt to schedule poll refresh jobs for local activities 2024-10-02 11:05:17 -04:00
Mark Felder
b735d9e6e1 Improve assertion 2024-09-30 14:55:38 -04:00
Mark Felder
a1b384f63c Test that a poll refresh is cancelled if updated_at on the object is newer than the poll closing time 2024-09-30 14:45:41 -04:00
Mark Felder
b2340b5b77 Permit backdating the poll closed timestamp 2024-09-30 14:45:13 -04:00
Mark Felder
766edfe5b2 Test Poll refresh jobs stream out updates after refetching the object 2024-09-30 14:32:28 -04:00
Mark Felder
47ce3a4a96 Schedule a final poll refresh before streaming out the notifications 2024-09-30 14:17:35 -04:00
Mark Felder
2380ae6dcc Validate an Oban job is inserted for poll refreshes 2024-09-30 13:38:13 -04:00
Mark Felder
382426e033 Remove Object.get_by_id_and_maybe_refetch/2
This was only used for poll refreshing and is not a good approach to the problem.
2024-09-30 12:41:09 -04:00
Haelwenn (lanodan) Monnier
0fa13c5535
MRF.SimplePolicy: Add id_filter/1 2024-09-21 14:07:26 +02:00
Mark Felder
44b836c94c Fix tests
We do not need to mock and verify connections are closed as the new Pleroma.LDAP GenServer will handle managing the connection lifetime
2024-09-17 13:40:15 -04:00
marcin mikołajczak
e74e0089bf Repesct :restrict_unauthenticated for hashtag rss/atom feeds
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-09-16 17:19:21 +02:00
marcin mikołajczak
8250a9764e Merge branch 'notifications-group-key' into 'develop'
Add `group_key` to notifications

See merge request pleroma/pleroma!4262
2024-09-15 10:07:52 +00:00
marcin mikołajczak
1a120d0130 Federate avatar/header descriptions
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-09-14 21:32:32 +02:00
marcin mikołajczak
c1a1150888 Merge branch 'profile-image-descriptions' into 'develop'
Allow providing avatar/header descriptions

See merge request pleroma/pleroma!4227
2024-09-14 17:46:33 +00:00
marcin mikołajczak
0111659a1f Merge branch 'list-id-visibility' into 'develop'
Include list id in StatusView

See merge request pleroma/pleroma!4246
2024-09-14 17:46:09 +00:00
marcin mikołajczak
17b69c43d5 Add group_key to notifications
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-09-12 14:37:37 +02:00
Mint
9de522ce50 Authentication: convert argon2 passwords, add tests 2024-09-08 05:32:40 +03:00
feld
bb0cb06d8a Merge branch 'well-known' into 'develop'
NodeInfo: Accept application/activity+json requests

See merge request pleroma/pleroma!4242
2024-09-06 16:30:07 +00:00
Mark Felder
1afcfd4845 Add tests for Mastodon mention hashtag class 2024-09-06 11:51:16 -04:00
feld
2c916ccd89 Merge branch 'following-state-bug' into 'develop'
Fix Following status bug

See merge request pleroma/pleroma!4251
2024-09-06 13:27:06 +00:00
Mark Felder
5f573b4095 Credo: comment line length 2024-09-05 17:11:02 -04:00
Mark Felder
1797f5958a App orphans should only be removed if they are older than 15 mins 2024-09-05 20:55:28 +00:00
Mark Felder
fb376ce005 Test Account View does not indicate following if a FollowingRelationship is missing 2024-09-05 16:14:06 -04:00
Mark Felder
a1951f3af7 Add Cron worker to clean up orphaned apps hourly 2024-09-04 10:59:58 -04:00
Mark Felder
7bd0750787 Ensure apps are assigned to users 2024-09-04 10:40:37 -04:00
feld
92d5f0ac14 Revert "Merge branch 'oauth-app-spam' into 'develop'"
This reverts merge request !4244
2024-09-04 02:22:25 +00:00
marcin mikołajczak
6d5ae4d2e9 Include list id in StatusView
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-09-03 15:17:45 +02:00
feld
9077d0925b Merge branch 'oauth-app-spam' into 'develop'
Fix OAuth app spam

See merge request pleroma/pleroma!4244
2024-09-01 18:24:06 +00:00
feld
61e4be396f Merge branch 'drop-unknown-deletes' into 'develop'
Drop unwanted activities from unknown actors

See merge request pleroma/pleroma!4236
2024-09-01 18:08:07 +00:00
Mark Felder
751d63d4bb Support OAuth App updating the website URL 2024-09-01 13:55:45 -04:00
Mark Felder
e3a7c1d906 Test that app scopes can be updated 2024-09-01 12:37:59 -04:00
Mark Felder
5a1144208d Prevent OAuth App flow from creating duplicate entries 2024-09-01 12:27:16 -04:00
Mark Felder
4ae17c6294 NodeInfo: Accept application/activity+json requests 2024-08-30 15:25:21 -04:00
Mark Felder
11ee94ae17 InboxGuardPlug: Add early rejection of unknown activity types 2024-08-30 10:05:09 -04:00