Commit graph

1,719 commits

Author SHA1 Message Date
Henry Jameson
d9e75192ad Merge remote-tracking branch 'origin/feature/bounded-retention' into shigusegubu-new 2026-11-05 18:01:42 +02:00
lain
3e9dc477c9 Merge pull request 'Uploads: replace exiftool with the built-in exif_stripper' (#8028) from lambadalambda/pleroma:feature/exif-stripper into develop
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/8028
2026-10-31 07:48:00 +00:00
lain
ca44028928 Merge pull request 'Federation: reject stale and incomplete HTTP signatures' (#8033) from lambadalambda/pleroma:fix/signature-freshness into develop
Reviewed-on: https://git.pleroma.social/pleroma/pleroma/pulls/8033
2026-10-29 09:35:47 +00:00
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
f57e97bf18
feat(signature): add a freshness and coverage policy for incoming signatures
Signature.check_signature_policy/2 requires date or (created) to be
signed and within signature_max_age (2 h) / signature_max_clock_skew
(1 h), and requires a signed, hashed digest for requests with a body.

Based on Akkoma's http_signatures fork (required headers, max_sig_age)
and Mastodon's SignedRequest (clock skew margin).
2026-10-27 21:46:40 +04:00
Lain Soykaf
e083a299c3
docs(upload): mention TIFF and the XMP limit in the Exif filter docs 2026-10-27 18:14:34 +04:00
Lain Soykaf
114d683683
docs: drop exiftool from install docs and Docker images 2026-10-27 17:35:38 +04:00
Lain Soykaf
df280b1d6b
feat(instance): enable Exif upload filters without exiftool check 2026-10-27 17:29:44 +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
Lain Soykaf
e93f05a79f
fix(retention): keep threads whose post a local user quoted
A quote has a context of its own, so the quoted remote thread counted as
untouched and was evicted, breaking the local quote. On lain.com 45 of
134 quoted posts went this way. The objects_quote_url index keeps the
lookup at one probe per post.
2026-09-25 08:50:41 +04: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
Lain Soykaf
3cbcae2de3
fix(retention): keep threads younger than a day over the watermark
Over the watermark the walk went up to the present, so posts that had
just arrived could be evicted while people were reading them.
2026-09-23 08:23:05 +04:00
Lain Soykaf
1a0212bf9a
fix(retention): pin threads addressed to a local user
A mention or DM was only pinned by its notification, so clearing
notifications let retention evict a user's direct messages. Check the
activity recipients instead, which does not go away.
2026-09-23 08:22:14 +04: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
Lain Soykaf
89e684dc9c
docs(retention): describe the cursor walk and its limits 2026-09-02 12:32:09 +04:00
Lain Soykaf
c1f8d75019
docs: document the bounded retention mode 2026-09-02 11:53:42 +04: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