Commit graph

17,446 commits

Author SHA1 Message Date
Phantasm
df375662d6
AP: simplify visible_for_user? conditions.
`true or true` returns `true`
2025-12-23 17:04:08 +01:00
Phantasm
7c93cd351b
MastoAPI StatusController: add tests for fetching context via Activity 2025-12-23 16:52:45 +01:00
Phantasm
ba8235ef50
lint 2025-12-23 16:51:59 +01:00
Phantasm
b9601ae11a
MastoAPI: Add Announce and EmojiReact attribution tests
Introduces a new EmojiReact Activity factory
2025-12-23 00:17:16 +01:00
Phantasm
01ffaba3d2
MastoAPI: Fix unauth visibility checks when fetching by Activity FlakeID
- Adds another Pleroma.ActivityPub.Visibility.visible_for_user?/2 func
- Modifies existing tests to include a local Activity referencing a
  remote Object
- Changes Announce Activity test factory to reference Objects instead of
  Activities and use a different Actor for the Announce
- Changes ap_id of remote user in Announce test factory to match Objects
- Adds `object_local` option to Note factories that explicitly changes
  the domain in the URL to not match the endpoint URL in the test env
  to properly work with the new visibility func, since we don't store
  locality of Object unlike Activities
2025-12-23 00:07:16 +01:00
Phantasm
c2b40659e7
MastoAPI: Fix misattribution when fetching status by Activity FlakeID 2025-12-22 23:33:00 +01:00
nicole mikołajczyk
c06fcc7f5d Merge branch 'order-favourites-reblogs' into 'develop'
Order favourites and reblogs list from newest to oldest

See merge request pleroma/pleroma!4399
2025-12-16 23:49:01 +01:00
nicole mikołajczyk
d41e2fbaaf Merge branch 'preferred-frontend' into 'develop'
Port Akkoma frontend preference code

See merge request pleroma/pleroma!4398
2025-12-16 20:54:00 +01:00
nicole mikołajczyk
8c9e130cc9 Merge branch 'description-improvement' into 'develop'
Use :list_behaviour_implementations for LanguageDetector and Translation providers

See merge request pleroma/pleroma!4407
2025-12-16 20:53:52 +01:00
nicole mikołajczyk
c6298be9f0 Merge branch 'scrobbles-scope' into 'develop'
Add `write:scrobbles` and `read:scrobbles` scope for scrobbling

See merge request pleroma/pleroma!4379
2025-12-16 20:53:32 +01:00
HJ
de022de4ce Merge branch 'scrubber-span-classes' into 'develop'
Allow "invisible" and "ellipsis" classes for span tags to match Mastodon behavior

See merge request pleroma/pleroma!4357
2025-12-16 16:56:11 +00:00
nicole mikołajczyk
d9baa0980d Merge branch 'normalize-actor-image-hrefs' into 'develop'
Add Actor images normalization from array of urls to string

See merge request pleroma/pleroma!4404
2025-12-16 10:49:51 +01:00
nicole mikołajczyk
c05d2d02c2 Use :list_behaviour_implementations for LanguageDetector and Translation providers
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-12-16 00:04:39 +01:00
Phantasm
4985902b02
Add Actor images normalization from array of urls to string 2025-12-15 00:00:57 +01:00
nicole mikołajczyk
c8fc821a0e Merge branch 'nodeinfo-content-type' into 'develop'
Fix NodeInfo content-type

See merge request pleroma/pleroma!4401
2025-12-11 13:09:43 +01:00
lain
ed931a668f Merge branch 'url-encode-pt2' into 'develop'
Fix URL encoding of HTTP requests Pt2

See merge request pleroma/pleroma!4364
2025-12-10 16:34:31 +00:00
Phantasm
7d8a188967
Disable Hackney URL encoding function
Hackney interferes with out URI encoding and implements older RFC 2396
instead of RFC 3986 which we and Elixir implement. As an example "'"
and "!" will get encoded by it and cause problems with our MediaProxy
making unexpected 302 redirects.

If an admin supplies a different function via *.secret.exs, we
don't override it.

https://github.com/benoitc/hackney/issues/399
2025-12-10 14:56:07 +01:00
Phantasm
73b337245b
Make URI encoding query quirks host-aware 2025-12-10 14:56:06 +01:00
Phantasm
0f7ad318d3
Add encode_url @spec and docs, and a check whether opts are booleans 2025-12-10 14:56:06 +01:00
Phantasm
07ba3bb829
Remove "support" for path encoding quirks
Currently there isn't any known quirk that would be needed
and this is just dead code that does nothing.
2025-12-10 14:56:06 +01:00
Phantasm
bcdd78fba5
Add changelog 2025-12-10 14:56:06 +01:00
Phantasm
0935823be9
Add test for mangling incorrect URL in MediaProxy link generation 2025-12-10 14:56:06 +01:00
Phantasm
bfe8372ad2
Remove "preserve ASCII encoding" test in MediaProxy
issue 580: Should not happen again, tested in HTTPTest
issue 1055: Fixed with quirk support in query encoding, tested
in HTTPTest
2025-12-10 14:56:06 +01:00
Phantasm
c31454fac1
Fix unicode URL encoding test 2025-12-10 14:56:05 +01:00
Phantasm
f290b15987
Move custom URI encoding functions to Pleroma.Utils.URIEncoding 2025-12-10 14:56:05 +01:00
Phantasm
6487c93c47
credo lint 2 2025-12-10 14:56:05 +01:00
Phantasm
f36851acbd
credo lint 2025-12-10 14:56:05 +01:00
Phantasm
cfd2c08ef6
lint 2025-12-10 14:56:05 +01:00
Phantasm
a0f73d0e2f
Reimplement URI.encode_query/2 to support quirks, add Guardian quirk
This solves the issue with Guardian rich media cards not loading, thanks
to them using "," and ":" in queries which get improperly encoded.
Guardian also needs specific ordering of the query keys, this also fixes
that.
2025-12-10 14:56:05 +01:00
Phantasm
1b438fd167
MediaProxy: fix query params test
Elixir and Erlang both add a traling = when encoding queries
2025-12-10 14:56:04 +01:00
Phantasm
d413f9bf70
MediaProxy: fix Pleroma.HTTP.encode_url not being available in test env 2025-12-10 14:56:04 +01:00
Phantasm
004ea90b29
MediaProxy: Fix 424 caused by inconsistent %-encoding from remote instances
Notably this would fail to redirect to original proxied file when
preview generation criteria haven't been met.
2025-12-10 14:56:04 +01:00
Phantasm
9445ab9096
ReverseProxy: Log request after potentional %-encoding 2025-12-10 14:56:04 +01:00
Phantasm
99a1c0890a
URI.encode_query needs an enum, add test for this case 2025-12-10 14:56:04 +01:00
Phantasm
80db6f1328
Fix character escaping test for Pleroma.Upload 2025-12-10 14:56:04 +01:00
Phantasm
0a8423fdf7
Add ability to bypass url decode/parse in Pleroma.HTTP, fix encode in Pleroma.Upload 2025-12-10 14:56:03 +01:00
Phantasm
619f247e38
Add more URL-encoding tests 2025-12-10 14:56:03 +01:00
Phantasm
0f3b1808fd
Check what chars to encode in the path segment of URIs, add list to Constants
https://datatracker.ietf.org/doc/html/rfc3986
2025-12-10 14:56:03 +01:00
HJ
cc14a7e33b Merge branch 'hj-develop-patch-37634' into 'develop'
Allow FediIndex

See merge request pleroma/pleroma!4391
2025-12-08 18:28:55 +00:00
nicole mikołajczyk
40695530a6 Merge branch 'changelog/fix-checker' into 'develop'
changelog-checker: Change changelog entry type

See merge request pleroma/pleroma!4402
2025-12-02 19:36:51 +01:00
nicole mikołajczyk
df1a3b5a70 changelog-checker: Change changelog entry type 2025-12-02 19:36:50 +01:00
nicole mikołajczyk
90686f96d6 Merge branch 'changelog/fix-checker' into 'develop'
Fix changelog checker

See merge request pleroma/pleroma!4395
2025-12-02 19:35:19 +01:00
nicole mikołajczyk
32ab9d628e Add changelog entry
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-12-02 14:39:51 +01:00
Oneric
c1aad0f141 Fix NodeInfo content-type
Fixes: https://akkoma.dev/AkkomaGang/akkoma/issues/852
2025-12-02 14:39:22 +01:00
nicole mikołajczyk
d7b0115124 Merge branch 'mastodon-quotes-updates' into 'develop'
Use Mastodon-compatible route for quotes list and param for quotes count

See merge request pleroma/pleroma!4367
2025-12-02 14:34:16 +01:00
nicole mikołajczyk
21f486c872 Order favourites and reblogs list from newest to oldest
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-30 00:26:30 +01:00
nicole mikołajczyk
ca03d94f52 Merge branch 'pin-chats' into 'develop'
Chats: pin/unpin chats

See merge request pleroma/pleroma!3637
2025-11-29 18:45:42 +01:00
nicole mikołajczyk
6b8bc3bb4c Merge branch 'blocked-muted-swagger' into 'develop'
Use separate schemas for muted/blocked accounts lists

See merge request pleroma/pleroma!4359
2025-11-29 18:45:33 +01:00
nicole mikołajczyk
f443b6d1d7 Merge branch 'lookup-restrict-unauthenticated' into 'develop'
Respect restrict_unauthenticated in /api/v1/accounts/lookup

See merge request pleroma/pleroma!4355
2025-11-29 18:13:53 +01:00
nicole mikołajczyk
2330c50666 Merge branch 'inlinequotes-mastodon' into 'develop'
MRF InlineQuotePolicy: Don't inline quoted post URL in Mastodon quotes

See merge request pleroma/pleroma!4371
2025-11-29 18:12:33 +01:00