Commit graph

10,312 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
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
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
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
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
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
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
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
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
Phantasm
5cb141a54e MRF InlineQuotePolicy: Don't inline quoted post URL in Mastodon quotes 2025-11-29 18:12:32 +01:00
nicole mikołajczyk
26a058935a Merge branch 'filter-user-capabilities' into 'develop'
Allow filtering users with `accepts_chat_messages` capability

See merge request pleroma/pleroma!4372
2025-11-29 17:26:01 +01:00
nicole mikołajczyk
6e98c7a1ca Merge branch 'rich-media-user-agent' into 'develop'
Allow setting custom user-agent for fetching rich media content

See merge request pleroma/pleroma!4390
2025-11-29 17:25:18 +01:00
nicole mikołajczyk
428e038c58 Merge branch 'notification-view-deduplicate' into 'develop'
remove duplicated code from notificationview

See merge request pleroma/pleroma!4356
2025-11-29 17:21:44 +01:00
Atsuko Karagi
ef41378fa2 Respect restrict_unauthenticated in /api/v1/accounts/lookup
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-29 17:18:38 +01:00
nicole mikołajczyk
be0146afb3 Improve example
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-29 17:10:24 +01:00
nicole mikołajczyk
d2f6cc1445 Use separate schemas for muted/blocked accounts lists
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-29 17:10:24 +01:00
nicole mikołajczyk
f61fad0663 Pin/unpin chats
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-29 16:53:56 +01:00
nicole mikołajczyk
0dfcc24d30 Merge branch 'translation-provider-translatelocally' into 'develop'
Support translateLocally translation provider

See merge request pleroma/pleroma!4377
2025-11-29 16:50:42 +01:00
nicole mikołajczyk
ba8b5682cc Merge branch 'stream-marker-updates' into 'develop'
Stream marker updates

See merge request pleroma/pleroma!4354
2025-11-29 16:49:29 +01:00
nicole mikołajczyk
cc51ee8662 analysis
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-29 16:46:08 +01:00
nicole mikołajczyk
367d5c65f6 Merge branch 'outgoing_follow_requests' into 'develop'
Add /api/v1/pleroma/outgoing_follow_requests

See merge request pleroma/pleroma!4310
2025-11-28 16:36:40 +01:00
nicole mikołajczyk
78c4332218 spec, changelog
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-28 16:32:51 +01:00
nicole mikołajczyk
a80776b260 make it work
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-28 16:10:02 +01:00
nicole mikołajczyk
f1586f0230 im bad at merge conflicts
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-28 16:01:00 +01:00
FloatingGhost
1fd94ed001 ensure only pickable frontends can be returned 2025-11-28 15:59:18 +01:00
nicole mikołajczyk
fd177a363b cleanup
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-28 15:59:07 +01:00
Paweł Świątkowski
8827e51170 Fix OpenAPI spec for preferred_frontend endpoint
The spec was copied from another endpoint, including the operation id,
leading to scrubbing the valid parameters from the request and simply
not working.

Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-28 15:56:42 +01:00
FloatingGhost
bb44501a9e Add frontend preference route 2025-11-28 15:53:01 +01:00
FloatingGhost
004f9fa69b add selection UI 2025-11-28 15:45:05 +01:00