Commit graph

17,261 commits

Author SHA1 Message Date
Mark Felder
8e0f73e45c Change Oban Notifier to Oban.Notifiers.PG 2025-07-28 17:18:56 -07:00
feld
b1c201d1c0 Merge branch 'dialyzer' into 'develop'
Dialyzer and test fixes

See merge request pleroma/pleroma!4383
2025-07-23 17:39:05 +00:00
Mark Felder
a504c28106 Not changelog worthy 2025-07-23 09:55:03 -07:00
Mark Felder
6da5ca9b2d Prevent test crash if it cannot successfully remove the console Logger backend 2025-07-22 15:21:20 -07:00
Mark Felder
28b69f5c04 Reset Emoji cache between tests
This fixes intermittent test failures
2025-07-22 15:21:20 -07:00
Mark Felder
113261146f Fix account endorsements test
Random failures were caused by the results sometimes being returned out of order.
2025-07-22 15:21:20 -07:00
Mark Felder
b54b19a0f4 Fix test for mix task
Missing assert_receive which would cause the test to randomly fail
2025-07-22 15:21:20 -07:00
Mark Felder
28cff592b1 Fix dialyzer error in MRF remote report policy: Remove unreachable pattern match 2025-07-22 15:21:20 -07:00
Mark Felder
28146ee7d2 Fix dialyzer error in safe_zip: Remove impossible pattern match for {:get_type, _e} 2025-07-22 15:21:20 -07:00
Mark Felder
e0104132a7 Fix dialyzer error in object fetcher: Add proper guard clause for check_crossdomain_redirect/2
Also remove unnecessary and incorrect usage of Mix.env()
2025-07-22 15:21:20 -07:00
Mark Felder
1d4482047f Fix dialyzer error in translation provider: Change Map.t() to map() in callback spec 2025-07-22 15:21:20 -07:00
Mark Felder
47ebbc4d21 Fix dialyzer error in status controller: Add catch-all pattern for translate function 2025-07-22 12:38:43 -07:00
Mark Felder
daad35aeb9 Fix dialyzer error in scopes compiler: Add error handling for extract_all_scopes/0 2025-07-22 12:38:43 -07:00
Mark Felder
9ea55a3888 Fix dialyzer error in API spec: Use then/2 for OpenApiSpex.resolve_schema_modules/1 call 2025-07-22 12:38:43 -07:00
Phantasm
d736d31308
Docs: Add systemctl commands to DB backup/restore 2025-07-21 11:50:05 +02:00
Phantasm
9eb3fc2d3b
Docs: Avoid long DB restore times and update few things
Mostly to avoid long restore times thanks to an index not being built
before it's needed by restoring the DB schema first.
https://blog.freespeechextremist.com/blog/activities-visibility-index-slowness.html

Also updates backup command to compress DB backups, removes Pleroma
users's home directory, replaces "role" with "user" in PostgreSQL contexts
since they are the same now.
2025-07-21 11:50:05 +02:00
mkljczk
b082e1f86b Merge branch 'endorsement-state-fix' into 'develop'
Fix endorsement state display in relationship view

See merge request pleroma/pleroma!4381
2025-07-09 00:05:21 +02:00
nicole mikołajczyk
f031532c41 Fix endorsement state display in relationship view
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-07-08 23:13:40 +02:00
vaartis
f5a5d354f7 Merge branch 'bump-captcha-posix-make' into 'develop'
mix: Bump captcha for OpenBSD make fixes

See merge request pleroma/pleroma!4301
2025-07-08 10:46:18 +00:00
feld
977097e870 Merge branch 'webfinger-regex' into 'develop'
Enforce an exact domain match for WebFinger resolution

See merge request pleroma/pleroma!4380
2025-07-03 19:51:11 +00:00
Mark Felder
17987e3990 Enforce an exact domain match for WebFinger resolution
The regex was not being terminated with an $
2025-07-03 12:08:36 -07:00
Mark Felder
736686b4e2 Add specific tests for Webfinger aliases / also_known_as
Also reorganize similar tests to be grouped together
2025-07-03 11:19:52 -07:00
Mark Felder
122ad4603a Use correct Endpoint host and WebFinger domains in tests 2025-07-03 10:56:07 -07:00
Mark Felder
59844d0202 Rename Instance.delete_users_and_activities/1 to Instance.delete/1 2025-06-28 13:37:06 -07:00
Mark Felder
df0880d8d1 Add Instances.delete_all_unreachable/0 2025-06-28 13:23:37 -07:00
Mark Felder
f06f0bedd3 Clean up ReachabilityWorker jobs and delete from Instances table when deleting all users and activities for an instance 2025-06-28 13:14:01 -07:00
Mark Felder
29f7607910 Add Instances.check_all_unreachable/0 and Instance.check_unreachable/1 2025-06-28 12:51:10 -07:00
Mark Felder
8a05516862 Remove changelog entry that leaked in via 3984ba8721 2025-06-27 18:23:24 -07:00
Mark Felder
2267ace106 Ensure ReachabilityWorker jobs can be scheduled without needing awareness of the phase design 2025-06-27 18:12:18 -07:00
Mark Felder
ff5f88aae3 Instance.set_reachable/1 should delete any existing ReachabilityWorker jobs for that instance 2025-06-27 18:07:46 -07:00
Mark Felder
13db730659 Update Oban to 2.19 which gives us the delete_all_jobs/1 and delete_job/1 functions 2025-06-27 17:52:00 -07:00
Mark Felder
a5e11ad110 Custom pruning is not actually needed because an old job cannot exist in the table due to our use of [replace: true] when retrying jobs or walking it through the different phases 2025-06-27 17:24:02 -07:00
Mark Felder
6e4b5edc25 Reduce pruning of history to anything older than 2 days 2025-06-27 17:13:34 -07:00
Mark Felder
77dca7c3e5 Refactor ReachabilityWorker to use a 5-phase reachability testing approach
It will check reachability for an instance deemed unreachable at the following intervals:

4 attempts, once a minute
4 attempts, once every 15 minutes
4 attempts, once every 60 minutes
4 attempts, once every 8 hours
4 attempts, once every 24 hours

This should be effective and respectful of the resources of instances on the fediverse.

We have the Oban Pruner plugin enabled to keep the Oban Jobs table from growing indefinitely. It prunes every 15 minutes, but this will interfere with our ability to enforce uniqueness on the ReachabilityWorker jobs for a time period longer than 15 minutes. The solution is to exclude the ReachabilityWorker from the pruning operation and instead schedule a custom job that will prune the table for us once a day. The ReachabilityPruner cron task will clean up the history of the ReachabilityWorker jobs older than 6 days.
2025-06-27 17:00:02 -07:00
Mark Felder
59bfa83c9c Remove daily reachability scheduling for unreachable instances 2025-06-27 16:04:08 -07:00
Mark Felder
e58ecd3234 Merge remote-tracking branch 'origin/develop' into improved-reachability 2025-06-27 15:59:46 -07:00
feld
cf6587d344 Merge branch 'delete-instance-improvement' into 'develop'
Queue individual jobs for each user that needs to be deleted when deleting an instance.

See merge request pleroma/pleroma!4377
2025-06-27 20:25:41 +00:00
Mark Felder
ca616e9e73 Fix Instance and Admin API controller tests for deleting instances
Ensure the job was queued, remove the other test validation. We already prove elsewhere that Pleroma.User.delete/1 works, so repeating that here is a waste.
2025-06-27 12:14:17 -07:00
feld
f6c9b003fa Merge branch 'resurrect-mrf-quietreply' into 'develop'
Resurrect MRF.QuietReply

See merge request pleroma/pleroma!4368
2025-06-27 19:13:07 +00:00
Mark Felder
81155a2292 changelog for MRF.QuietReply 2025-06-27 11:26:27 -07:00
Mark Felder
56aab905e8 Queue individual jobs for each user that needs to be deleted when deleting an instance. 2025-06-27 11:13:15 -07:00
vaartis
9be542e272 Merge branch 'handle-dislike' into 'develop'
Handle the Dislike activity by transforming into a thumbs-down emote

Closes #3378

See merge request pleroma/pleroma!4369
2025-06-21 14:18:46 +00:00
vaartis
a708bf4946 Merge branch 'add-tos-setting' into 'develop'
Add tos setting

See merge request pleroma/pleroma!4321
2025-06-20 21:22:29 +00:00
Pleroma User
9d6f201e5e Add tos setting 2025-06-20 21:22:27 +00:00
Mark Felder
37d4ed883c Change MRF logic to match when there is an inReplyTo and the public address is in the "to" field
Update the method to alter the to/cc fields for consistency and modify the tests to work without requiring a specific order items in the list
2025-06-19 14:50:45 -07:00
vaartis
29be5018b0 Merge branch 'ci-variables' into 'develop'
Use manually created variables for CI instead of CI_JOB_TOKEN

See merge request pleroma/pleroma!4373
2025-06-18 14:42:02 +00:00
Ekaterina Vaartis
0151d99202 Use manually created variables for CI instead of CI_JOB_TOKEN
For protected branches, it seems now just CI_JOB_TOKEN is not enough.

https://gitlab.com/gitlab-org/gitlab-foss/-/issues/36898#note_38415655

According to this, the CI_JOB_TOKEN is based on whoever created the
job and creating a pipeline on a protected branch requires special
permissions. Somehow this still did not work for other people who
merged, even though they had access to the docs repo.
2025-06-18 17:36:08 +03:00
vaartis
490a273dc1 Merge branch 'deepl-fix' into 'develop'
Use JSON for DeepL API requests

See merge request pleroma/pleroma!4363
2025-06-18 12:11:35 +00:00
vaartis
ca7dd87e2d Merge branch 'instance-markup-info' into 'develop'
Expose markup configuration in InstanceView

See merge request pleroma/pleroma!4346
2025-06-18 10:48:15 +00:00
vaartis
cda7cbf2a1 Merge branch 'scrobbles' into 'develop'
Change ScrobbleView external link param name to use snake case

See merge request pleroma/pleroma!4243
2025-06-18 10:25:38 +00:00