Commit graph

17,070 commits

Author SHA1 Message Date
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
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
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
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
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
4d4174c339 fix a few typos
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
2025-03-28 18:47:00 +01:00
lain
254b31bf1c Merge branch 'more-emoji-likes' into 'develop'
More emoji likes

Closes #3364

See merge request pleroma/pleroma!4342
2025-03-20 09:12:09 +00:00
lain
81960dccf2 Merge branch 'translate-posts' into 'develop'
Support translation providers (DeepL, LibreTranslate)

See merge request pleroma/pleroma!4102
2025-03-20 09:11:57 +00:00
feld
3e802240b1 Merge branch 'fix-releases' into 'develop'
Fix releases by not relying on Mix

See merge request pleroma/pleroma!4344
2025-03-19 18:01:18 +00:00
Mark Felder
638d047a5c Fix releases by not relying on Mix 2025-03-19 10:47:32 -07:00
feld
7107901f60 Merge branch 'truncate-rich-media' into 'develop'
Truncate the length of Rich Media title and description fields

See merge request pleroma/pleroma!4343
2025-03-19 17:42:11 +00:00
Mark Felder
7763b9a87f Truncate the length of Rich Media title and description fields
Some sites like Instagram are serving obnoxiously long metadata fields
2025-03-19 10:29:45 -07:00
mkljczk
25a3ee2256 InstanceView: do not repeat information
Signed-off-by: mkljczk <git@mkljczk.pl>
2025-03-19 17:59:42 +01:00
mkljczk
08de5f94e3 Merge remote-tracking branch 'origin/develop' into translate-posts
Signed-off-by: mkljczk <git@mkljczk.pl>
2025-03-19 17:59:24 +01:00
lain
6e1223a1ed Merge branch 'language-detection' into 'develop'
Implement language detection with fastText

See merge request pleroma/pleroma!4103
2025-03-19 14:40:46 +00:00
Lain Soykaf
f9bff8f5e5 Transmogrifier: Keep likes as likes if the content is obviously wrong 2025-03-19 16:00:27 +04:00
Lain Soykaf
950bf60765 LikeHandlingTest: Add test for invalid content 2025-03-19 15:57:08 +04:00
Lain Soykaf
ef216c922f Add changelog 2025-03-18 15:54:33 +04:00
Lain Soykaf
e19ca7606d Transmogrifier: Also accept mitra emoji likes. 2025-03-18 15:53:27 +04:00
Lain Soykaf
fc7ca2ccf4 Federator: More specific logging for rejections 2025-03-18 15:25:54 +04:00
lain
7328235c64 Merge branch 'speed-improvement' into 'develop'
Migrations: Add activities_actor_type index

See merge request pleroma/pleroma!4341
2025-03-18 08:33:09 +00:00
Lain Soykaf
016df5093d Config: Use advisory lock 2025-03-16 12:23:22 +04:00
Lain Soykaf
ad79912a07 Create the index concurrently 2025-03-14 19:53:06 +04:00
Lain Soykaf
bee8b64fa7 Migrations: Add activities_actor_type index 2025-03-14 19:41:46 +04:00
mkljczk
fa76bb66f9 Merge remote-tracking branch 'origin/develop' into language-detection
Signed-off-by: mkljczk <git@mkljczk.pl>
2025-03-11 20:38:56 +01:00
lain
f25ef1aa7f Merge branch 'stable' into 'develop'
Stable

See merge request pleroma/pleroma!4339
2025-03-11 16:59:48 +00:00
lain
66687bedda Merge branch 'release/2.9.1' into 'stable'
Release/2.9.1

See merge request pleroma/pleroma!4338
2025-03-11 16:04:14 +00:00
Lain Soykaf
5ce612b272 Linting 2025-03-11 18:21:27 +04:00
Lain Soykaf
4c8a8a4b62 Update changelog 2025-03-11 18:06:43 +04:00
Lain Soykaf
0a93a7b0c9 Mix: Update version 2025-03-11 18:04:54 +04:00
Lain Soykaf
3c2b51c7cb Changelog: Add missing changelog entries 2025-03-11 17:57:45 +04:00
Lain Soykaf
2293d0826a Tests: Fix tests. 2025-03-11 17:53:05 +04:00
Lain Soykaf
51c1d6fb2d Containment: Never fetch locally 2025-03-11 16:37:17 +04:00
Lain Soykaf
b0c2ec5fb9 Fetcher Tests: Add tests validating the content-type 2025-03-11 16:15:14 +04:00
Lain Soykaf
adb5cb96d3 Object.Fetcher: Don't do cross-site redirects. 2025-03-11 15:50:17 +04:00