Commit graph

1,707 commits

Author SHA1 Message Date
Lain Soykaf
fa8541309c
fix(search): set gin_fuzzy_search_limit only for search queries
The limit was a connection parameter, so it applied to every GIN index
scan, not only full-text search: recipient lookups and Oban job queries
could return incomplete, random results. Set it with SET LOCAL around
the search query only, configurable under Pleroma.Search.DatabaseSearch.

The default stays 500 for search: measured on a 74M-object database,
higher limits or none make searches for common words exceed the query
timeout. Remote fetches for URL queries run outside the transaction.

Based on Akkoma 811f0a468.

Co-authored-by: Oneric <oneric@oneric.stub>
2026-10-29 11:26:02 +04:00
Lain Soykaf
a766335679
fix(federation): do not deliver to instances rejected by SimplePolicy
Public activities went to every inbox, so followers on an instance in
the SimplePolicy reject list still got our posts. With authorized fetch
mode on, signed fetches from those instances were also accepted, unless
the instance was in :instance, :rejected_instances too.

Check the SimplePolicy reject and accept lists for deliveries and signed
fetches, when the policy is enabled. Quarantine keeps its meaning (no
private activities). An inbox without a host no longer crashes.

Based on the Akkoma changes 90c4785b8, ca000f830, 03662501c and d2b0d8647.

Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Co-authored-by: Atsuko Karagi <atsuko.karagi@localhost>
2026-10-27 12:38:18 +04:00
lain
745926189f Merge pull request 'OAuth: require security scopes for /api/oauth_tokens' (#8013) from lambadalambda/pleroma:fix/oauth-tokens-scopes into develop
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/8013
2026-10-27 07:08:34 +00:00
Lain Soykaf
530ae4b339
feat(oauth): support the profile scope
A token with only the profile scope can call verify_credentials, as in
Mastodon 4.3. The answer is the public account, so apps can use it to
log users in without seeing their email or settings.
2026-10-26 12:29:51 +04:00
Lain Soykaf
c686b701dd
fix(oauth): require security scopes to list and revoke tokens
/api/oauth_tokens skipped the scope check, so a token with any scope
could list the user's sessions and revoke them.
2026-10-26 12:28:04 +04:00
Lain Soykaf
9ea8d37e9f
Merge branch 'audit-mix-audit-report' (#69) into release/2.11
# Conflicts:
#	lib/pleroma/http/adapter_helper/hackney.ex
2026-10-22 16:37:08 +04:00
Lain Soykaf
b2e4580a81
feat(http): make Gun the default HTTP client
Hackney 4 reads every response completely before Pleroma can check its
size, so max_body no longer limits downloads or memory there; Gun stops
at the limit. Document the Hackney limitation for those who switch back.
2026-10-22 16:36:16 +04:00
Lain Soykaf
1f2179872a
docs: require Elixir 1.17 and OTP 27 in the install guides 2026-10-22 16:25:03 +04:00
Lain Soykaf
8d8d9d3354
docs: recommend the published admin-fe stable build 2026-10-22 13:54:18 +04:00
Lain Soykaf
3faf7dd1c8
docs: only list published admin-fe builds
Only develop has a package. stable (2022) and the old tags have no
Woodpecker config, so they get no build.
2026-10-22 13:04:20 +04:00
Lain Soykaf
a03e5df39c
fix: install admin-fe from the package registry 2026-10-22 13:04:20 +04:00
Phantasm
0421e8b2e3
Docs New Elixir/Erlang: Clarify that mise builds Erlang on Debian 2026-10-04 21:20:19 +02:00
Phantasm
1659fd99d3
Docs: Add missing curl dependency for asdf 2026-10-04 21:18:13 +02:00
Phantasm
62d4258d79
Docs OpenBSD: Mention running cap_mkdb after making new login class 2026-09-29 10:44:10 +02:00
Phantasm
4515f9139c
Docs OpenBSD: Bump recommended datasize login.conf limit
Under OpenBSD datasize not only includes allocated memory using malloc,
but also anonymous memory mapped via mmap.
2026-09-29 10:44:03 +02:00
Phantasm
62b6a24d5d Docs: move paragraph 2026-09-24 20:11:38 +02:00
Phantasm
0061f62355 Docs Newer Elixir/Erlang guide: Recommend upgrading OS release instead 2026-09-24 20:11:38 +02:00
Phantasm
775ae5d504 Docs New Elixir/Erlang versions install: Add maintenance chapter 2026-09-24 20:01:55 +02:00
Phantasm
f61cf55676
Docs: Add newer Elixir/Erlang versions installation documentation
Also splits generic dependencies into elixir/erlang and the rest.
Generic depenencies then import the elixir/erlang snippets to preserve
previous layout.
2026-09-22 22:44:20 +02:00
Phantasm
5ecc936444
Docs: split wall of install commands, fix downloading OTP bundle
Bundle could not be downloaded, because sudo does not cope with the
previous syntax that double quoted the whole command, and the download
link was single quoted.
2026-08-13 23:52:06 +02:00
Phantasm
2dda6cb52a
Docs: Update OTP bundle links left behind in the Forgejo migration 2026-08-13 23:26:44 +02:00
Lain Soykaf
478b021fbe
fix(migrations): make Rebased rollback safe 2026-07-29 15:22:13 +04:00
mkljczk
2e59dcb9f6
style
Signed-off-by: mkljczk <git@mkljczk.pl>
2026-07-29 15:22:13 +04:00
mkljczk
e516c43411
Add docs for Rebased migration
Signed-off-by: mkljczk <git@mkljczk.pl>
2026-07-29 15:22:13 +04:00
lain
16581a2f6d Merge pull request 'Update Debian and Ubuntu installation requirements' (#7806) from gitlab-mr-iid-4429 into develop
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7806
2026-07-27 12:16:12 +00:00
Lain Soykaf
be5a3957b2
docs: explain libvips dependency 2026-07-27 16:12:21 +04:00
Lain Soykaf
3b71770cfa
docs: update Debian and Ubuntu requirements 2026-07-27 15:31:59 +04:00
lain
8ab0e046b1 Merge pull request 'Allow creating accounts without a password in the AdminAPI, update docs' (#7937) from mkljczk/pleroma:admin-api-passwordless-user-creation into develop
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7937
2026-07-27 07:17:14 +00:00
Lain Soykaf
03e75d3b3e
fix(webhooks): merge develop and harden delivery 2026-07-26 17:00:14 +04:00
Lain Soykaf
cece76e4cb
docs(search): document ParadeDB operations 2026-07-26 12:32:24 +04:00
Lain Soykaf
a9862dcaa0
chore: merge develop into ParadeDB backend 2026-07-26 11:24:37 +04:00
lain
cc1b95c88e Merge pull request 'Rework Gun connection pooling' (#7934) from issue-2263-gun-validation into develop
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7934
2026-07-25 05:44:39 +00:00
Lain Soykaf
836f4a2d69
fix(admin-api): reject explicit empty passwords 2026-07-24 22:52:23 +04:00
Lain Soykaf
d090aeb2bb
fix(http): forward plain HTTP proxy requests 2026-07-22 20:35:51 +04:00
nicole mikołajczyk
36bc7b116d Allow creating accounts without a password in the AdminAPI, update docs
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-07-20 19:01:02 +02:00
Lain Soykaf
d0d6c986f4
docs(http): document Gun pool behavior 2026-07-17 20:35:40 +04:00
Lain Soykaf
719b5d65b5
Require webhook events 2026-05-26 15:51:46 +04:00
Lain Soykaf
cd28c2089c
Fix ParadeDB search indexing 2026-05-25 18:45:47 +04:00
lain
133fc64472 Merge branch 'develop' into webhooks 2026-05-06 07:53:46 +00:00
Mark Felder
2cc7b8356c Merge remote-tracking branch 'origin/develop' into paradedb-search-backend 2026-03-25 15:09:19 -07:00
Phantasm
ad7ab7741b Elixir 1.19: Update dependencies in docs
Elixir 1.15 support only OTP>=24
2026-03-25 19:35:46 +00:00
Phantasm
a5bd4e0d92 Partially revert "Elixir 1.19: Refactor Logger configuration to what Elixir 1.15+ expects"
This partially reverts commit fc35204cc1d718ba7815cc5e1b08746202b4f7dc.
2026-03-25 19:35:46 +00:00
Phantasm
0393f0f92d Elixir 1.19: Move Logger backends under a specific config key 2026-03-25 19:35:46 +00:00
Phantasm
926cad3a76 Elixir 1.19: Refactor Logger configuration to what Elixir 1.15+ expects
Elixir 1.19 started emitting warnings about our use of:
config :logger, :console and
config :logger, backends: []
which got split in 1.15 to :default_handler, :default_formatter, and
LoggerBackends.add(backend) respectively.

On Pleroma startup it is now necessary to add the additional logger
backends at runtime (done with configure_logger() in application.ex).
New config key :pleroma, :logger_backends: [] has replaced the older
backends array. The logger_backends package is now used to facilitate
usage of other logger backends besides the default one (:logger_std_h
from OTP).

Warnings were added to Pleroma startup to warn about the usage of
:logger, backends and additional logic was introduced to make addition
of ExSyslogger to admin's configuration less dumb.

Ref: https://hexdocs.pm/logger/1.15.0/Logger.html#module-backends-and-backwards-compatibility
2026-03-25 19:35:46 +00:00
nicole mikołajczyk
40bc79e5ce Merge pull request 'Various bookmark folders-related improvements' (#7829) from mkljczk/pleroma:bookmark-folders into develop
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/7829
2026-03-06 16:50:30 +00:00
lain
865ddfdce0 Merge branch 'develop' into paradedb-search-backend 2026-03-05 15:02:32 +00: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
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
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