Commit graph

17,430 commits

Author SHA1 Message Date
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
Mark Felder
0f667761a9 The ap_id is a URL, so we can just pass that to set_reachable/1
Also only bother attempting to mark reachable if it was known to be unreachable
2025-06-06 13:01:32 -07:00
Mark Felder
b87ec49972 Nodeinfo is not universally implemented 2025-06-06 12:55:21 -07:00
Mark Felder
3d422ef325 Reachability refactor
The result of Oban jobs determine the reachability status.

Publisher jobs will cancel themselves at execution time if the target server is now unreachable.

Receiving activities does not immediately mark a server as reachable, but creates a ReachabilityWorker job to validate.

A Cron will execute daily to test all unreachable servers.
2025-06-06 12:32:09 -07:00
feld
7114635997 Merge branch 'private-functions' into 'develop'
Pleroma.User: Mark some functions as private

See merge request pleroma/pleroma!4357
2025-06-06 01:00:43 +00:00
feld
f38123ad2d Merge branch 'openbsd-docs' into 'develop'
Update OpenBSD documentation and installation files

See merge request pleroma/pleroma!4258
2025-06-06 00:59:58 +00:00
feld
7101d8ab1e Merge branch 'fixes' into 'develop'
Fix test fallout from most recent merges

See merge request pleroma/pleroma!4365
2025-06-06 00:58:00 +00:00
Mark Felder
9226963763 Fix test fallout from most recent merges 2025-06-05 17:13:55 -07:00
Mark Felder
db65b35ca3 Fix test Returns JSON when format is not supported (Pleroma.Web.WebFinger.WebFingerControllerTest)
If we want to return JSON when a badly behaving client requests text/html, we still have to accept it at the Plug
2025-06-05 17:11:16 -07:00
Mark Felder
48316d168c Fix failing tests due to Builder.block/2 becoming Builder.block/3 with no default value 2025-06-05 16:55:07 -07:00
Mark Felder
a2ad2d8d23 Remove unused import 2025-06-05 16:54:05 -07:00
Ekaterina Vaartis
8ae4ed0807 Make the opts in ActivityPub.Builder.block optional 2025-06-05 22:12:06 +03:00