Commit graph

10,632 commits

Author SHA1 Message Date
Yonle
8abd25950a endpoint: use favicon plug 2026-03-05 20:21:19 +00:00
Yonle
970e0f9044 endpoint: set cache control for favicon.png
Signed-off-by: Yonle <yonle@proton.me>
2026-03-05 20:21:19 +00:00
Yonle
848b3f5d5b reverse_proxy,endpoint,uploaded_media: add immutable cache-control flag 2026-03-05 20:21:19 +00:00
lain
865ddfdce0 Merge branch 'develop' into paradedb-search-backend 2026-03-05 15:02:32 +00:00
Lain Soykaf
4e65bbf134
Fix ParadeDB fuzzy query parameter casting
Cast the bound search parameter through text before  so Postgrex can handle the prepared statement type inference. Add matching test assertion updates.
2026-03-05 17:34:48 +04:00
Lain Soykaf
7efd296afb
Add fuzzy matching to ParadeDB search
Make ParadeDB search typo-tolerant via configurable fuzzy distance and document the new setting. Add coverage for fuzzy query SQL and id parsing, and keep integration test stability under connection load.
2026-03-05 17:12:03 +04:00
Lain Soykaf
74da3e01f7
Harden ParadeDB search result safety
Re-apply public Create visibility checks when resolving backend hits, improve UUID/FlakeId id parsing, and add tests for poisoned hits and UUID-string ids. Also tighten the docker integration test with localhost-only binding and config restoration.
2026-03-05 16:36:22 +04:00
Lain Soykaf
dee7ac0415
Fix ParadeDB key field handling
Use uuid ids in the ParadeDB documents table to satisfy BM25 key_field requirements and adjust indexing/search to dump FlakeIds consistently. Also fix the ParadeDB backend unit test to avoid invalid pinning on struct fields.
2026-03-04 13:04:41 +04: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
Lain Soykaf
3a87250e15
Add ParadeDB external search backend
Introduce an optional search backend that indexes public/unlisted Notes into a separate ParadeDB (pg_search) Postgres and queries it for status search results.
2026-03-03 12:17:34 +04:00
nicole mikołajczyk
1b182b07dc is this what i was meant to do?
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-03-03 00:23:14 +01:00
nicole mikołajczyk
2086561fbd Various bookmark folders-related improvements
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-03-02 23:41:46 +01:00
nicole mikołajczyk
c3b779036d Merge branch 'develop' into pleroma-database-config-whitelist 2026-03-01 22:44:08 +00:00
nicole mikołajczyk
6405a2e682 Merge pull request 'Move avatar_description and header_description fields to the account object' (#7828) from mkljczk/pleroma:avatar-description-mastodon-api into develop
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7828
2026-03-01 22:40:01 +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
nicole mikołajczyk
a9b5a28c26 Do not use Enum.map for side-effects
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-02-27 16:24:10 +01:00
Phantasm
e32ab8aef2 DB prune: Check if user follows hashtag with no objects before deletion 2026-02-22 21:46:41 +00:00
Phantasm
95c8b4732f
ReverseProxy Hackney: Add redirect handling logging 2026-02-22 11:27:03 +01:00
Phantasm
23a4d68c97 ReverseProxy: Follow redirects recursively until redirect_limit
Test post: https://possum.city/notes/ahqdvbhu3wug0at2
2026-02-22 10:05:50 +00: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
eed4f4bba8
Gopher: Fix crash on (re)boot when ConfigDB is enabled
Ranch listener wasn't being properly stopped when the Gopher GenServer
received a shutdown message due Restarter rebooting Pleroma to apply
ConfigDB configuration (originating from
Config.TransferTask.load_and_update_env/2) when ConfigDB is enabled.

Handle by trapping exits in the GenServer, which causes the terminate/2
function to be called and the Ranch listener to be stopped from there.

23:22:29.871 [error] GenServer Restarter.Pleroma terminating
** (MatchError) no match of right hand side value:

    {:error,
     {{:shutdown,
       {:failed_to_start_child, Pleroma.Gopher.Server,
        {{:badmatch, {:error, {:already_started, #PID<0.4801.0>}}},
         [
           {Pleroma.Gopher.Server, :init, 1,
            [file: ~c"lib/pleroma/gopher/server.ex", line: 25]},
           {:gen_server, :init_it, 2, [file: ~c"gen_server.erl", line: 2276]},
           {:gen_server, :init_it, 6, [file: ~c"gen_server.erl", line: 2236]},
           {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 333]}
         ]}}}, {Pleroma.Application, :start, [:normal, []]}}}

    (restarter 0.1.0) lib/pleroma.ex:104: Restarter.Pleroma.do_restart/1
    (restarter 0.1.0) lib/pleroma.ex:96: Restarter.Pleroma.handle_cast/2
    (stdlib 7.2) gen_server.erl:2460: :gen_server.try_handle_cast/3
    (stdlib 7.2) gen_server.erl:2418: :gen_server.handle_msg/3
    (stdlib 7.2) proc_lib.erl:333: :proc_lib.init_p_do_apply/3
Last message: {:"$gen_cast", {:after_boot, :dev}}
State: %{rebooted: false, need_reboot: false, after_boot: false}
2026-02-17 00:47:57 +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
cb78699a3b Merge branch 'instance-profile-fields' into 'develop'
Add /api/v2/instance profile fields limits info used by Mastodon

See merge request pleroma/pleroma!4434
2026-01-30 23:04:49 +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
bd30d461b0 Add /api/v2/instance profile fields limits info used by Mastodon
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-01-30 07:05:45 +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
nicole mikołajczyk
6fac6ff7f1 MastoAPI AccountView: Add mute/block expiry to the relationship object
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-01-28 13:49:34 +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
Haelwenn (lanodan) Monnier
6f86883cca
Web: remove legacy :set_put_layout plug
Phoenix 1.8 requires a View module with put_layout so can't set it that early.

It was introduced in 2019 with
commit 1097ce6d9f
but nothing seems to provide app.html (anymore?) and it would likely
better be set by something like OAuthController / OAuthView.
2026-01-18 10:40:10 +01:00
Haelwenn (lanodan) Monnier
be327ca982
Switch Phoenix back to upstream
See <https://github.com/phoenixframework/phoenix/pull/6094>
for `:sec_websocket_protocol` -> `:sec_websocket_headers`
2026-01-18 10:40:10 +01:00
Lain Soykaf
a4fb651fac ConfigController: Don't allow whitelist modification. 2026-01-17 13:30:07 +04:00
Lain Soykaf
117b0bd79e Config: Don't crash on falsy whitelist config 2026-01-17 13:03:02 +04:00
Lain Soykaf
3b3e369f83 AP ingest: fill missing attributedTo from activity 2026-01-17 02:46:59 +04:00
Lain Soykaf
e7d2d9bd89 mrf(media_proxy_warming): avoid adapter-level redirects
Drop follow_redirect/force_redirect from the HTTP options used when warming MediaProxy, relying on Tesla middleware instead (Hackney redirect handling can crash behind CONNECT proxies).

Also add a regression assertion in the policy test and document the upstream Hackney issues in ReverseProxy redirect handling.
2026-01-17 02:24:07 +04:00
Lain Soykaf
9912a9f603 AP ingest: accept Emoji icon variants 2026-01-17 01:33:21 +04:00
nicole mikołajczyk
b66b93a94a Add task for filtering non-whitelisted configs
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-01-16 21:35:22 +01:00
nicole mikołajczyk
1af8997462 do not ever allow setting database_config_whitelist to database
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-01-16 21:32:35 +01:00
Lain Soykaf
e9e3d255e5 AP ingest: infer tag type when missing 2026-01-17 00:12:48 +04:00
Lain Soykaf
e781a7ef9b AP ingest: harden attachment parsing 2026-01-17 00:08:19 +04:00
Lain Soykaf
bff67650e1 AP ingest: normalize inReplyTo shapes 2026-01-16 23:57:01 +04:00
Lain Soykaf
6701f61990 AP ingest: normalize quoteUrl fields 2026-01-16 23:27:06 +04:00
Lain Soykaf
39817fa547 AP ingest: normalize object url list 2026-01-16 23:25:07 +04:00
Lain Soykaf
0feb23a308 AP ingest: accept object type as list 2026-01-16 23:16:51 +04:00
Lain Soykaf
346014b897 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into revert-d6888e24 2026-01-16 22:43:10 +04:00
Mark Felder
9b1941366f In-house redirect handler for mediaproxy with Hackney adapter
Also ensure we always pass an absolute URL to Hackney when parsing a redirect response

(cherry picked from commit 00ac6bce8d244eec7e2460358296619e5cacba6b)
2026-01-16 22:14:27 +04:00