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
Ekaterina Vaartis
871e9e8492
Make unaddressed_message? condsider [] as empty
2025-06-19 23:52:18 +03:00
Ekaterina Vaartis
1df7d428bc
Update preparing and tests for current codebase
2025-06-18 22:10:04 +03:00
tusooa
9d62fca315
Add changelog for anonymizing reports
2025-06-18 19:14:42 +03:00
tusooa
58afb15eab
Make ActivityPub.Publisher aware of the actor change by Transmogrifier
2025-06-18 19:14:37 +03:00
tusooa
b5c97e9ee0
Put strip and anonymize process in prepare_outgoing
...
It is not useful to call maybe_federate() with the processed
activity, because it will only record the activity id, and put
it into the queue. When the job is invoked, it reads from the database
for the activity. This means the changes we just made will be
discarded.
In this commit, I moved the stripping and anonymizing procedures
to Transmogrifier.prepare_outgoing, which is called after the
federator reads the activity from the database.
2025-06-18 19:03:05 +03:00
tusooa
1121f099e9
Ensure actor in Activity is also anonymized
2025-06-18 19:02:26 +03:00
tusooa
58ec4fd1ee
Anonymize reporter before federating
2025-06-18 19:02:26 +03:00
tusooa
27d271b4ef
Add maybe_anonymize_reporter/1
2025-06-18 19:02:25 +03: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
Ekaterina Vaartis
ee37b2d8c6
Return 404 when an activity is sent to a deactivated user's /inbox
...
Also return 404 when the user who sent the activity is believed to be
deactivated. It was already an error, now it just returns a better
reason than "Invalid request". Also send proper errors when either
user is not known at all.
2025-06-18 00:16:46 +03:00
vaartis
d50822c313
Merge branch 'bugfix/toctou-mkdir' into 'develop'
...
backports: Copy mkdir_p TOCTOU fix from elixir PR 14242
See merge request pleroma/pleroma!4320
2025-06-16 12:20:19 +00:00
Ekaterina Vaartis
7ecfb95331
Handle the Dislike activity by transforming into a thumbs-down emote
2025-06-16 14:18:15 +03:00
Haelwenn (lanodan) Monnier
a69e417020
File.mkdir_p -> Pleroma.Backports.mkdir_p
2025-06-16 12:48:47 +02:00
Haelwenn (lanodan) Monnier
00d536d9e2
backports: Copy mkdir_p TOCTOU fix from elixir PR 14242
...
See: https://github.com/elixir-lang/elixir/pull/14242
2025-06-16 12:46:00 +02:00
lain
bc75bb35fa
Merge branch 'relaxed-also-known-as' into 'develop'
...
Relax alsoKnownAs requirements to just being a URI
See merge request pleroma/pleroma!4367
2025-06-14 08:30:13 +00:00
Mark Felder
33cf49e860
Resurrect MRF.QuietReply
...
This was not working correctly because the Publisher was stripping the public address from the cc when federating unlisted activities
2025-06-13 10:28:21 -07:00
feld
774e0cb172
Merge branch 'unlisted-fix' into 'develop'
...
Public getting stripped from unlisted activity CC
See merge request pleroma/pleroma!4353
2025-06-13 06:27:04 +00:00
Mark Felder
7c64bfaace
Include public address in cc if original activity specified it and Publisher param_cc also has values
2025-06-12 22:42:40 -07:00
Mark Felder
fe6d2ecc97
Test for unlisted but Publisher param_cc is not empty
2025-06-12 22:41:39 -07:00
Mark Felder
d3adc3e05e
Split this cc test into two individual cases
2025-06-12 21:59:37 -07:00
Mark Felder
23be24b92f
Fix federation issue where Public visibility information in cc field was lost when sent to remote servers, causing posts to appear with inconsistent visibility across instances
2025-06-12 21:37:50 -07:00
Mark Felder
9f79df7508
Add test demonstrating public getting stripped from unlisted activity CC
2025-06-12 21:32:43 -07:00
Mark Felder
27ec46814c
Revert "Public getting stripped from unlisted activity CC: Add possible tests"
...
This reverts commit ded40182b0 .
2025-06-12 21:27:19 -07:00
Mark Felder
8488362248
Merge remote-tracking branch 'origin/develop' into unlisted-fix
2025-06-12 21:20:34 -07:00
Ekaterina Vaartis
a361b84fc9
Relax alsoKnownAs requirements to just being a URI
2025-06-11 23:24:18 +03:00
Mark Felder
a46a48fb3f
PublisherWorker: change max_attempts to 13 which extends the last delivery attempt to ~4.3 days
2025-06-07 15:13:45 -07:00
Mark Felder
8383584d69
Reapply "Nodeinfo is not universally implemented"
...
This reverts commit 0fe03fc4ee .
2025-06-07 14:57:34 -07:00
feld
f38e9228ef
Merge branch 'tusooa/assign-app-user-oom' into 'develop'
...
Fix AssignAppUser migration OOM
Closes #3358
See merge request pleroma/pleroma!4326
2025-06-07 19:39:57 +00:00
Mark Felder
2748891e12
Change the inboxes assignment in the Publisher to better indicate it's a list containing two lists
...
This clarifies what is really going on here and removes confusion about the nested Enum.each |> Enum.each which both were using an assignment called "inboxes"
2025-06-07 12:26:07 -07:00
Lain Soykaf
3984ba8721
Fix typo in changelog filename
2025-06-07 22:51:26 +04:00
Mark Felder
83c9756825
Remove unncessary NaiveDateTime call.
...
Every non-nil entry in the database is considered unreachable.
2025-06-06 17:10:33 -07:00
Mark Felder
0fe03fc4ee
Revert "Nodeinfo is not universally implemented"
...
This reverts commit b87ec49972 .
2025-06-06 13:44:24 -07:00
feld
5cd8c23634
Merge branch 'mix-otpver' into 'develop'
...
Remove forgotten Pleroma.OTPVersion usage in mix.exs
See merge request pleroma/pleroma!4364
2025-06-06 20:14:14 +00:00