Mark Felder
425329bacd
Add fix to ensure URL is encoded when reverse proxying
2025-07-30 17:32:08 -07:00
Mark Felder
49ba6c8865
Rework the URL encoding so it is a public function: Pleroma.HTTP.encode_url/1
2025-07-30 17:07:22 -07:00
Mark Felder
842090945a
Ensure Hackney and Finch both get the default middleware
2025-07-30 15:42:49 -07:00
Mark Felder
404e091260
Credo
2025-07-30 13:48:16 -07:00
Mark Felder
4217ababfc
Improve design so existing tests do not break
2025-07-30 13:17:50 -07:00
Mark Felder
11d27349e3
Fix HTTP client making invalid requests due to no percent encoding processing or validation.
2025-07-30 12:29:37 -07:00
feld
ece089abab
Merge branch 'improved-reachability' into 'develop'
...
Reachability refactor
See merge request pleroma/pleroma!4366
2025-07-29 21:13:48 +00: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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