Lain Soykaf
727e9e7749
Fix votersCount inflation in multiple-choice polls
...
increase_vote_count/3 was incrementing votersCount on every vote
activity, causing inflation when a single voter picks multiple options.
Now only increments when the actor is a new unique voter, and preserves
existing votersCount otherwise.
Also adds is_integer guard to voters_count/1 to handle nil safely, and
adds tests for the voters_count clause ordering and edge cases.
2026-05-06 11:33:34 +04:00
Lain Soykaf
6ae02d71bd
Align inbox controller tests with signer mapping
2026-05-03 10:33:42 +04:00
Lain Soykaf
00dd1b5103
Add failed-signature retry regression tests
2026-05-03 10:19:33 +04:00
Lain Soykaf
4337e0eb1b
Fail closed on unresolved signed payloads
...
Reject unknown remote Update targets and invalidate signed payloads when their signer identity cannot be mapped, avoiding crashes and fail-open signature state.
2026-05-01 12:33:26 +04:00
Lain Soykaf
7756f491d5
Split failed-signature inbox retries
...
Route failed-signature ActivityPub inbox retries through a dedicated worker so legacy and malformed retry jobs fail closed before processing.
2026-05-01 08:43:42 +04:00
Lain Soykaf
bd45704dba
Clarify cross-domain spoofing regressions
2026-04-30 17:21:40 +04:00
Lain Soykaf
9c540995b4
Use Mox in spoofing regression tests
2026-04-30 15:36:55 +04:00
Lain Soykaf
80e72b79f5
Add spoofing regression tests
2026-04-30 14:31:06 +04:00
Phantasm
cb2271978e
UpdateValidator: fix tests
2026-04-30 00:17:59 +02:00
Phantasm
eb69576154
fix test after embed route got added back
2026-03-31 16:23:21 +02:00
Phantasm
c8baad165b
lint: fix warnings throughout codebase
2026-03-31 16:23:11 +02:00
feld
9db47790bb
Merge pull request 'reverse_proxy,endpoint,uploaded_media: add immutable cache-control flag' ( #7835 ) from Yonle/pleroma:develop into develop
...
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7835
2026-03-26 21:28:50 +00:00
nicole mikołajczyk
9e22baa66a
Merge pull request 'Federate votersCount correctly' ( #7858 ) from mkljczk/pleroma:poll-voters-count into develop
...
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7858
2026-03-26 11:55:36 +00:00
nicole mikołajczyk
5aa3c8a06e
Federate votersCount correctly
...
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
Assisted-by: your mother
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-03-26 12:42:59 +01:00
feld
63c9c7ea92
Merge pull request 'Harden rate limiter to deal with configuration issues' ( #7795 ) from gitlab-mr-iid-4418 into develop
...
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7795
2026-03-25 19:55:08 +00:00
feld
eabfb2bd47
Merge pull request 'Fix LiveDashboard redirect not working when user added a path segment' ( #7830 ) from live-dashboard-fix-redirect into develop
...
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7830
2026-03-25 19:49:40 +00:00
feld
876913d2af
Merge pull request 'Fix error codes for missing static files' ( #7850 ) from shibao/pleroma:static-fix into develop
...
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7850
Reviewed-by: Phantasm <phnt@noreply.git.pleroma.social>
2026-03-25 19:49:05 +00:00
Phantasm
645211812e
Elixir 1.19 MRFTest: Replace matchable_regexes with regexes_match! func
2026-03-25 11:15:45 -07:00
Phantasm
ee55764501
lint
2026-03-25 11:14:42 -07:00
Phantasm
a9ad6297b7
Elixir 1.19: Fix Mastodon StatusControllerTest DateTime difference
2026-03-25 11:14:38 -07:00
Phantasm
6a3b5b3218
Elixir 1.19: Fix MRFTest regex tests
...
It is no longer possible to match regexes. Instead at least match that
the sources of the regexes (regexes themselves) are the same.
Notice the +1 Reference number below.
2) test subdomain_match/2 wildcard domains with one subdomain (Pleroma.Web.ActivityPub.MRFTest)
test/pleroma/web/activity_pub/mrf_test.exs:36
Assertion with == failed
code: assert regexes == [~r/^(.*\.)*unsafe.tld$/i]
left: [%Regex{opts: [:caseless], re_pattern: {:re_pattern, 1, 0, 0, #Reference<0.378940835.3277193222.129648>}, source: "^(.*\\.)*unsafe.tld$"}]
right: [%Regex{opts: [:caseless], re_pattern: {:re_pattern, 1, 0, 0, #Reference<0.378940835.3277193222.129649>}, source: "^(.*\\.)*unsafe.tld$"}]
stacktrace:
test/pleroma/web/activity_pub/mrf_test.exs:39: (test)
2026-03-25 11:14:33 -07:00
Phantasm
b8a66c22b3
Elixir 1.19: Fix typing violation in MediaControllerTest
...
warning: a struct for Plug.Upload is expected on struct update:
%Plug.Upload{image | filename: "../../../../../nested/file.jpg"}
but got type:
dynamic()
where "image" was given the type:
# type: dynamic()
# from: test/pleroma/web/mastodon_api/controllers/media_controller_test.exs:132:42
%{conn: conn, image: image}
when defining the variable "image", you must also pattern match on "%Plug.Upload{}".
hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of:
user = some_function()
%User{user | name: "John Doe"}
it is enough to write:
%User{} = user = some_function()
%{user | name: "John Doe"}
typing violation found at:
│
133 │ image = %Plug.Upload{
│ ~
│
└─ test/pleroma/web/mastodon_api/controllers/media_controller_test.exs:133:15: Pleroma.Web.MastodonAPI.MediaControllerTest."test Upload media Do not allow nested filename"/1
2026-03-25 11:10:37 -07:00
Phantasm
93e8f9d7d1
Elixir 1.19: Fix typing violations in ActivityPubTest
2026-03-25 11:10:13 -07:00
nicole mikołajczyk
6bbfba7f6e
Merge pull request 'Allow fine-grained announce visibilities (ported from Akkoma)' ( #7832 ) from mkljczk/pleroma:boost-visibilities into develop
...
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7832
2026-03-21 20:45:30 +00:00
nicole mikołajczyk
d0ef58a59d
Merge pull request 'Normalize Hubzilla alsoKnownAs from string to array' ( #7821 ) from phnt/pleroma:normalize-alsoKnownAs into develop
...
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7821
2026-03-10 12:05:22 +00:00
nicole mikołajczyk
d1787966a6
Merge branch 'develop' into exclusive-lists
2026-03-10 12:03:13 +00:00
shibao
4e1ba489ec
fix 404s for missing static files
2026-03-08 11:28:21 +00:00
nicole mikołajczyk
0592f111f6
update tests
...
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-03-06 18:10:07 +01:00
nicole mikołajczyk
a1bb81bddb
Merge pull request 'Don't use the confusing TwitterAPI namespace' ( #7841 ) from mkljczk/pleroma:twitter-api-removal into develop
...
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7841
2026-03-06 16:24:33 +00:00
Phantasm
3760480813
lint
2026-03-05 20:21:19 +00:00
Phantasm
5f321b0b5b
Favicon Plug: Halt Plug pipeline when favicon not found
2026-03-05 20:21:19 +00:00
Phantasm
d0db1f00c3
Favicon Plug: assert HTTP 200 status in tests
2026-03-05 20:21:19 +00:00
Phantasm
2388964b14
Favicon Plug: Add tests
2026-03-05 20:21:19 +00:00
Phantasm
ca38217898
Fix AccountController Plug warning
...
the URI path used in plug tests must start with "/", got: "api/v1/blocks"
(plug 1.19.1) lib/plug/adapters/test/conn.ex:14: Plug.Adapters.Test.Conn.conn/4
(phoenix 1.7.14) lib/phoenix/test/conn_test.ex:236: Phoenix.ConnTest.dispatch_endpoint/5
(phoenix 1.7.14) lib/phoenix/test/conn_test.ex:225: Phoenix.ConnTest.dispatch/5
test/pleroma/web/mastodon_api/controllers/account_controller_test.exs:2099: Pleroma.Web.MastodonAPI.AccountControllerTest."test getting a list of blocks"/1
(ex_unit 1.19.5) lib/ex_unit/runner.ex:528: ExUnit.Runner.exec_test/2
(ex_unit 1.19.5) lib/ex_unit/capture_log.ex:121: ExUnit.CaptureLog.with_log/2
(ex_unit 1.19.5) lib/ex_unit/runner.ex:477: anonymous fn/3 in ExUnit.Runner.maybe_capture_log/3
(stdlib 7.2) timer.erl:599: :timer.tc/2
(ex_unit 1.19.5) lib/ex_unit/runner.ex:450: anonymous fn/6 in ExUnit.Runner.spawn_test_monitor/4
2026-03-03 23:11:39 +01:00
nicole mikołajczyk
19025563e2
fixes
...
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-03-03 17:32:32 +01:00
nicole mikołajczyk
65c7d0c7b9
Merge pull request 'Update comment for prepare_object, rename prepare_outgoing' ( #7818 ) from mkljczk/pleroma:update-comment into develop
...
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7818
2026-03-03 12:49:50 +00:00
nicole mikołajczyk
490cd33bc9
Support lists exclusive param
...
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-03-03 12:48:37 +00:00
Oneric
b645643cfb
Merge pull request 'Allow fine-grained announce visibilities' ( #941 ) from Oneric/akkoma:announce-visibility into develop
...
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/941
Reviewed-by: floatingghost <hannah@coffee-and-dreams.uk>
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-03-03 12:48:12 +00:00
nicole mikołajczyk
c3b779036d
Merge branch 'develop' into pleroma-database-config-whitelist
2026-03-01 22:44:08 +00:00
nicole mikołajczyk
120719f28c
Don't use the confusing TwitterAPI namespace
...
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-02-27 19:53:25 +01:00
Phantasm
699a7e57e8
Fix LiveDashboard redirect not working when user added a path segment
...
/phoenix/live_dashboard -> /pleroma/live_dashboard would work
/phoenix/live_dashboard/ecto_stats -> /pleroma/live_dashboard/ecto_stats
would not work and instead reply with FE.
2026-02-17 21:10:56 +01:00
nicole mikołajczyk
3d9ac413af
Move avatar_description and header_description fields to the account object
...
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-02-17 14:00:21 +01:00
Phantasm
f80c5744b1
Normalize Hubzilla alsoKnownAs from string to array
2026-02-12 18:47:22 +01:00
nicole mikołajczyk
2e80c786bb
Update comment for prepare_object, rename prepare_outgoing
...
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-02-10 14:37:30 +01:00
nicole mikołajczyk
833e9829ba
Merge branch 'relationship-expires-at' into 'develop'
...
MastoAPI AccountView: Add mute/block expiry to the relationship object (simplified)
See merge request pleroma/pleroma!4433
2026-01-30 07:08:21 +01:00
nicole mikołajczyk
bc0c7fb310
Fix tests, relationship should always define _expires_at
...
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-01-28 13:58:33 +01:00
Phantasm
c1e33bfadb
MastoAPI AccountView AccountController: Add more block/mute expiry tests
2026-01-28 13:50:34 +01:00
Phantasm
e7a4d5ea66
MastoAPI AccountView: Add mute/block expiry to the relationship key
2026-01-28 13:50:23 +01:00
nicole mikołajczyk
80ede85f75
Allow assigning users to reports
...
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-01-28 10:35:19 +01:00
Lain Soykaf
0b871ff1f2
ConfigController: Don't allow updating the whitelist
2026-01-17 12:32:10 +04:00