Commit graph

6,630 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
5c139be42e Add tests
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-28 16:30:03 +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
nicole mikołajczyk
13bc4ba639 Merge remote-tracking branch 'origin/develop' into translation-provider-translatelocally
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-28 15:07:43 +01:00
mkljczk
e458bd953a Add /api/v1/pleroma/outgoing_follow_requests
Signed-off-by: mkljczk <git@mkljczk.pl>
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-28 14:59:55 +01:00
nicole mikołajczyk
5f4c948057 fix typo
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-28 14:53:22 +01:00
nicole mikołajczyk
0476cf4283 Merge branch 'rss-redirect' into 'develop'
Redirect /users/:nickname.rss to /users/:nickname/feed.rss instead of .atom

See merge request pleroma/pleroma!4375
2025-11-28 14:51:11 +01:00
nicole mikołajczyk
e81e0d64c1 Merge branch 'endorsements-api' into 'develop'
Support new Mastodon API for endorsed accounts

See merge request pleroma/pleroma!4361
2025-11-28 14:51:06 +01:00
nicole mikołajczyk
ec51aadc78 Merge branch 'instance-view-timeline-access' into 'develop'
Add `timelines_access` to InstanceView

See merge request pleroma/pleroma!4393
2025-11-28 14:50:46 +01:00
nicole mikołajczyk
b975dce9ba Add timelines_access to InstanceView
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-11-02 00:01:31 +01:00
nicole mikołajczyk
68b4de7558 Merge branch 'authorized-fetch-fix' into 'develop'
Fix fetching public keys with authorized fetch enabled

See merge request pleroma/pleroma!4383
2025-11-01 11:25:17 +01:00
nicole mikołajczyk
1610d39f36 Revert "User.get_or_fetch_public_key_for_ap_id/1 is no longer required."
This reverts commit c0a50b7c3e.
2025-10-21 21:41:33 +02:00
nicole mikołajczyk
ed1cfd6f5e Support translateLocally translation provider
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-10-15 11:00:37 +02:00
nicole mikołajczyk
27223fc5bc Add write:scrobbles and read:scrobbles scope for scrobbling
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-10-15 10:59:53 +02:00
nicole mikołajczyk
50e3cc67fc Redirect /users/:nickname.rss to /users/:nickname/feed.rss instead of .atom
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-10-15 10:27:31 +02:00
Nicole Mikołajczyk
0b8b98f979 Add a failing test
Signed-off-by: Nicole Mikołajczyk <git@mkljczk.pl>
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-10-10 05:36:46 +02:00
nicole mikołajczyk
2012e83e20 Allow filtering users with accepts_chat_messages capability
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-10-10 05:24:13 +02:00