Commit graph

17,227 commits

Author SHA1 Message Date
Ekaterina Vaartis
8ae4ed0807 Make the opts in ActivityPub.Builder.block optional 2025-06-05 22:12:06 +03:00
Phantasm
a817f1800e
Remove forgotten Pleroma.OTPVersion usage in mix.exs
This was used in OTP releases where the normal OTP_VERSION file
is unavailable.

If checking against OTP minor versions and patch levels
is needed again, revert this commit and commit mentioned below.

Context: 1be8deda73
2025-06-05 16:48:58 +02:00
vaartis
8484e09424 Merge branch 'elixir-1.18' into 'develop'
Elixir 1.18 warnings

See merge request pleroma/pleroma!4358
2025-06-05 09:00:39 +00:00
nicole mikołajczyk
ae2c97fad8 Use JSON for DeepL API requests
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-06-04 21:32:30 +02:00
Phantasm
ff69b00eae
Elixir 1.18 Update credo
warning: Credo.CLI.Command.Info.Output.Default.print_after_info/4 is undefined or private. Did you mean:

          * print/2

    │
  4 │   use Credo.CLI.Output.FormatDelegator,
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/credo/cli/command/info/info_output.ex:4: Credo.CLI.Command.Info.InfoOutput.print_after_info/4
2025-06-04 19:18:01 +02:00
Phantasm
dc26f74961
Revert to previous tag_validator behavior
This paritally reverts commit 9710063fdc
and reverts commit 7ddae61414

See thread: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/4358#note_112761
2025-06-04 19:16:59 +02:00
Ekaterina Vaartis
7ddae61414 Change the test that assumes that a hashtag with # will remain as-is
This does not seem to be the intended behaviour, as the code that produces it
did not actually ever do anything and just returned the tag as-is.

See
lib/pleroma/web/activity_pub/object_validators/tag_validator.ex
and
https://git.pleroma.social/pleroma/pleroma/-/merge_requests/4358#note_112681

At least Mastodon and Misskey output tags without the # from their API,
so in reality tags with the hash should rarely happen.
2025-06-04 12:28:59 +03:00
Ekaterina Vaartis
d95e1066b9 Fix formatting 2025-06-04 12:03:54 +03:00
Ekaterina Vaartis
6fa4f08e67 Add back String.downcase that was accidentally removed from tag_validator 2025-06-04 11:43:18 +03:00
Phantasm
1be8deda73
Remove Pleroma.OTPVersion module
Its last use was a check in lib/application.ex that was removed in
commit 0e53cb4940

Major OTP version can be fetched with System.otp_release/0.
If checking against minor versions and patch levels is needed,
revert this commit since it uses the recommended way of getting
a full OTP version string.
2025-06-03 23:17:39 +02:00
Phantasm
0e53cb4940
Remove unreachable checks for OTP < 22.2
OTP 22 is no longer supported at all.

Pleroma's dependencies cannot be built with Elixir 1.13 and
Elixir 1.14 cannot be built with OTP 22 since it depends on features not
present in OTP 22. Hence why these checks cannot get triggered anymore.
2025-06-03 23:11:37 +02:00
Phantasm
9710063fdc
Apply suggestions to 2 files. 2025-06-03 23:11:37 +02:00
Phantasm
9386863019
openbsd: update install docs for 7.7
Explicitely installing OTP 26 is no longer needed.
2025-06-03 23:08:51 +02:00
lain
93ce56418e Merge branch 'permissive-webfinger' into 'develop'
WebFinger query default to return JSON when no or unrecognized accept header is provided.

Closes #3381

See merge request pleroma/pleroma!4345
2025-05-29 08:41:27 +00:00
lain
36be0d32a4 Merge branch 'expiring-blocks' into 'develop'
Add expiring blocks

See merge request pleroma/pleroma!4351
2025-05-29 08:25:21 +00:00
lain
374e8c85a7 Apply lambadalambda's suggestion(s) to 1 file(s) 2025-05-29 08:17:31 +00:00
Phantasm
286204913d
Replace Elixir 1.17 with 1.18 for build unit-testing pipelines 2025-05-24 22:17:38 +02:00
Phantasm
2b513fd450
Elixir 1.18 add changelog 2025-05-24 22:03:23 +02:00
Phantasm
a0dfa12b78
Elixir 1.18 Update supported versions for Erlang OTP and Elixir 2025-05-24 21:59:24 +02:00
mkljczk
4960e040c1 Merge branch 'doc-typo' into 'develop'
Fix typo in account_status function doc

See merge request pleroma/pleroma!4355
2025-05-23 13:42:32 +02:00
mkljczk
25a2831606 Merge branch 'admin-api-docs-fix' into 'develop'
Fix 'Create a user' description in admin api docs

See merge request pleroma/pleroma!4361
2025-05-23 13:42:12 +02:00
Nicole Mikołajczyk
6b38ec310a Fix 'Create a user' description in admin api docs
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
2025-05-22 20:54:16 +02:00
mkljczk
4c8a93a06d Pleroma.User: Mark some functions as private
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
2025-05-19 10:03:48 +02:00
mkljczk
69c80cf904 Merge branch 'admin-api-log-fix' into 'develop'
Fix condition for moderation log force_password_reset action

See merge request pleroma/pleroma!4356
2025-05-18 01:00:36 +02:00
Phantasm
af81f7bf82
Don't use deprecated function invocation syntax
warning: using map.field notation (without parentheses) to invoke function TranslationMock.configured?() is deprecated, you must add parentheses instead: remote.function()
2025-05-14 17:00:19 +02:00
Phantasm
7c13abb3d9
Elixir 1.18 Use NaiveDateTime.compare/2 instead of <>= comparisons
warning: comparison with structs found:

        left <= right

    given types:

        dynamic() <= dynamic(%NaiveDateTime{})

    where "left" (context ExUnit.Assertions) was given the type:

        # type: dynamic()
        # from: test/pleroma/web/plugs/user_tracking_plug_test.exs:25
        left = user.last_active_at

    where "right" (context ExUnit.Assertions) was given the type:

        # type: dynamic(%NaiveDateTime{})
        # from: test/pleroma/web/plugs/user_tracking_plug_test.exs:25
        right = NaiveDateTime.truncate(NaiveDateTime.utc_now(), :second)

    Comparison operators (>, <, >=, <=, min, and max) perform structural and not semantic comparison. Comparing with a struct won't give meaningful results. Structs that can be compared typically define a compare/2 function within their modules that can be used for semantic comparison.

    typing violation found at:
    │
 25 │     assert user.last_active_at <= NaiveDateTime.truncate(NaiveDateTime.utc_now(), :second)
    │                                ~
    │
    └─ test/pleroma/web/plugs/user_tracking_plug_test.exs:25:32: Pleroma.Web.Plugs.UserTrackingPlugTest."test updates last_active_at for a new user"/1
2025-05-14 16:37:43 +02:00
Phantasm
5addbf39fb
Elixir 1.18 Deal with :warnings_as_errors deprecation in compiler_options/1
warning: :warnings_as_errors is deprecated as part of Code.get_compiler_option/1
  (elixir 1.18.3) lib/code.ex:1597: Code.get_compiler_option/1
  (elixir 1.18.3) lib/code.ex:1572: anonymous fn/2 in Code.compiler_options/1
  (elixir 1.18.3) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3
  (elixir 1.18.3) lib/code.ex:1571: Code.compiler_options/1
  (pleroma 2.9.1-77-g8ec49c59-elixir-1-18+test) lib/pleroma/application.ex:104: Pleroma.Application.start/2
  (kernel 10.2.6) application_master.erl:295: :application_master.start_it_old/4

warning: :warnings_as_errors is deprecated as part of Code.put_compiler_option/2, instead you must pass it as a --warnings-as-errors flag. If you need to set it as a default in a mix task, you can also set it under aliases: [compile: "compile --warnings-as-errors"]
  (elixir 1.18.3) lib/code.ex:1710: Code.put_compiler_option/2
  (elixir 1.18.3) lib/code.ex:1573: anonymous fn/2 in Code.compiler_options/1
  (elixir 1.18.3) lib/enum.ex:2546: Enum."-reduce/3-lists^foldl/2-0-"/3
  (elixir 1.18.3) lib/code.ex:1571: Code.compiler_options/1
  (pleroma 2.9.1-77-g8ec49c59-elixir-1-18+test) lib/pleroma/application.ex:104: Pleroma.Application.start/2
  (kernel 10.2.6) application_master.erl:295: :application_master.start_it_old/4
2025-05-13 14:02:47 +02:00
Phantasm
63cbc1208d
Elixir 1.18 Replace Tuple.append/2 with Tuple.insert_at/3
warning: Tuple.append/2 is deprecated. Use insert_at instead
     │
 305 │     Enum.reduce(entity, {}, &Tuple.append(&2, to_elixir_types(&1)))
     │                                    ~
     │
     └─ lib/pleroma/config_db.ex:305:36: Pleroma.ConfigDB.to_elixir_types/1
2025-05-13 14:02:47 +02:00
Phantasm
59d17a5b20
Elixir 1.18 Move Update activity validation to separate function
warning: Pleroma.Web.ActivityPub.ObjectValidators.AcceptRejectValidator.cast_and_validate/2 is undefined or private. Did you mean:

   * cast_and_validate/1

    │
227 │       validator == UpdateValidator -> fn o -> validator.cast_and_validate(o, meta) end
    │                                                         ~
    │
    └─ lib/pleroma/web/activity_pub/object_validator.ex:227:57: Pleroma.Web.ActivityPub.ObjectValidator.validate/2
2025-05-13 14:01:47 +02:00
Phantasm
25e7b12a6b
Elixir 1.18 Remove seemingly unneeded cond
warning: this clause in cond will always match:

<<"#", name::binary>>

since it has type:

binary()

where "name" was given the type:

%{"type" => "Hashtag", "name" => name} = data

   typing violation found at:
   │
55 │         "#" <> name -> name
   │                     ~
   │
   └─ lib/pleroma/web/activity_pub/object_validators/tag_validator.ex:55:21: Pleroma.Web.ActivityPub.ObjectValidators.TagValidator.changeset/2
2025-05-13 10:21:44 +02:00
Phantasm
53d7b205e8
Elixir 1.18 <%# deprecated syntax warning
warning: <%# is deprecated, use <%!-- or add a space between <% and # instead
    │
  5 │       <%# Note: using hidden input with `unchecked_value` in order to distinguish user's empty selection from `scope` param being omitted %>
    │       ~
    │
    └─ lib/pleroma/web/templates/o_auth/o_auth/_scopes.html.eex:5: (file)
2025-05-12 16:17:32 +02:00
mkljczk
68a5c60113 another doc update 2025-05-08 13:45:22 +02:00
mkljczk
63afd9a22d Fix condition for moderation log force_password_reset action 2025-05-07 17:29:27 +02:00
mkljczk
ccb5b81179 Update changelog 2025-05-06 21:48:39 +02:00
mkljczk
31071973b7 Fix typo in account_status function doc 2025-05-06 21:48:17 +02:00
Lain Soykaf
ded40182b0 Public getting stripped from unlisted activity CC: Add possible tests 2025-05-05 15:48:34 +04:00
Ekaterina Vaartis
51a0cee405 Add expiring blocks
- `/api/v1/accounts/:id/block` now has a "duration" parameter
- `/api/v1/blocks` returns "block_expires_at" to indicate when the block
will expire
- MuteExpireWorker also processes block expiration
- Remove unused OpenAPI parameters from mute endpoint
- Add pleroma:block_expiration to nodeinfo features
2025-04-15 12:55:09 +03:00
feld
99fbe0418a Merge branch 'gins-tonic' into 'develop'
Improved performance of status search queries using the default GIN index

See merge request pleroma/pleroma!4352
2025-04-10 22:01:25 +00:00
Mark Felder
1266b180b9 Improved performance of status search queries using the default GIN index 2025-04-10 14:32:31 -07:00
Nicole Mikołajczyk
7234aa8c18 Merge remote-tracking branch 'origin/develop' into instance-markup-info
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
2025-04-03 10:32:25 +02:00
lain
1775a4db08 Merge branch 'siteinfo-baseurls' into 'develop'
Provide media proxy and upload base urls in siteinfo

See merge request pleroma/pleroma!4349
2025-04-02 13:00:42 +00:00
lain
8322134a21 Edit siteinfo-baseurls.add 2025-04-02 12:30:32 +00:00
Moon Man
93aa563cfe implemented 2025-04-02 07:00:45 -04:00
mkljczk
4f78a9142a Merge branch 'typo' into 'develop'
fix a few typos

See merge request pleroma/pleroma!4347
2025-04-02 10:48:07 +00:00
feld
2651058fa4 Merge branch 'fix-freebsd-rc' into 'develop'
Set PATH in the FreeBSD rc script to avoid failures starting the service

Closes #3367

See merge request pleroma/pleroma!4348
2025-04-01 03:21:30 +00:00
Mark Felder
f60a1e7d44 Set PATH in the FreeBSD rc script to avoid failures starting the service 2025-03-31 20:17:18 -07:00
Nicole Mikołajczyk
d1b9d03302 update changelog
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
2025-03-28 18:48:30 +01:00
Nicole Mikołajczyk
4d4174c339 fix a few typos
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
2025-03-28 18:47:00 +01:00
marcin mikołajczak
890ac8ff86 Expose markup configuration in InstanceView
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
2025-03-28 17:00:01 +01:00
Moon Man
43a124bb14 formatting 2025-03-20 12:51:43 -04:00