Commit graph

94 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 Soykaf
df280b1d6b
feat(instance): enable Exif upload filters without exiftool check 2026-10-27 17:29:44 +04: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
Lain Soykaf
5a4ada881f
test(retention): cover the recipients pin in prune_objects and watermark activity 2026-09-23 08:26:24 +04:00
Lain Soykaf
6c8ed0a3b8
feat(retention): walk activities incrementally with a persisted cursor
Grouping the whole activities table by thread every run is unusable on
a large instance: on a 312 GB database it plans as a seq scan plus a
50M-row on-disk sort. Instead, walk activities in id order (flake ids
are time-ordered) from a persisted cursor up to the id that corresponds
to the deadline, and verify only the threads those activities belong to
through the (type, context) index. Measured on that instance: 147 ms
for a 50k-activity range scan, 349 ms warm / 14 s cold to verify ~700
threads.

The cursor is persisted per chunk so a killed run resumes. The
watermark walk keeps a cursor of its own so it cannot leave the
age-based walk stranded behind the deadline. Adds the retention_cursors
table.
2026-09-02 12:32:09 +04:00
Lain Soykaf
fa4fb00910
refactor(database): reuse retention query in prune_objects
prune_objects --keep-threads now shares the thread selection with
Pleroma.Retention, which additionally keeps threads that mention a
local user or that are referenced by a report. The hashtag cleanup
is shared as well.
2026-09-02 11:53:42 +04:00
Lain Soykaf
03e75d3b3e
fix(webhooks): merge develop and harden delivery 2026-07-26 17:00:14 +04:00
Lain Soykaf
6e73d043ef
test(config): exclude static fixture from test loader 2026-07-26 12:40:38 +04:00
Lain Soykaf
271c3a3dd8
fix(config): keep search startup settings static 2026-07-26 11:58:31 +04:00
Phantasm
41ab347571
Lint 2026-07-18 16:13:39 +02:00
Phantasm
2d307c1487
ConfigDB: Support blacklisting whole config groups 2026-07-18 16:05:14 +02:00
Phantasm
ebd5596ba7
Elixir 1.19: Create ConfigDB blacklist and task for :pleroma, :logger
This option was never configurable with ConfigDB when it lived under
:logger, :backends; no need to be configurable now.
2026-07-17 23:32:43 +02:00
lain
83dcc4ae36 Merge branch 'develop' into webhooks 2026-05-14 09:25:50 +00:00
Lain Soykaf
6b86e31e5d
Add backend MFM support 2026-05-11 14:53:06 +04:00
lain
133fc64472 Merge branch 'develop' into webhooks 2026-05-06 07:53:46 +00:00
nicole mikołajczyk
c3b779036d Merge branch 'develop' into pleroma-database-config-whitelist 2026-03-01 22:44:08 +00:00
Phantasm
ef7be0a1e5 DB prune: Add test for hashtags 2026-02-22 21:46:41 +00:00
Lain Soykaf
77a1d79f92 ConfigTest: Don't crash when whitelist is unset / disabled 2026-01-17 12:31:35 +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
Lain Soykaf
227c7fafa0 Tests: Syncify tests that mutate global state. 2026-01-07 17:59:37 +04:00
nicole mikołajczyk
9d7bdab7a2 Mastodon-compatible webhooks
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2025-09-19 17:07:23 +02:00
Mark Felder
b54b19a0f4 Fix test for mix task
Missing assert_receive which would cause the test to randomly fail
2025-07-22 15:21:20 -07:00
Haelwenn (lanodan) Monnier
a69e417020
File.mkdir_p -> Pleroma.Backports.mkdir_p 2025-06-16 12:48:47 +02:00
Lain Soykaf
5851d787b6 Merge branch and resolve conflict in database_test.exs 2025-02-25 16:23:46 +04:00
Lain Soykaf
bee027e511 DatabaseTest: Include user_follows_hashtag in expected tables 2025-02-25 16:16:15 +04:00
Lain Soykaf
263b02ffcb Tests: Use StaticConfig when possible. 2025-02-23 17:52:17 +04:00
mkljczk
aa74c87443 fix tests
Signed-off-by: mkljczk <git@mkljczk.pl>
2024-12-30 22:41:53 +01:00
Mark Felder
b281ad06de Revert "Custom mix task to retry failed tests once in CI pipeline"
This reverts commit ed2976b237.
2024-08-13 15:49:04 -04:00
Mark Felder
648e94b369 Fix the uploads migration mix task test which leaked a change to the configured Uploader 2024-08-13 15:28:31 -04:00
Mark Felder
52e9bec156 Remove WorkerHelper 2024-07-30 11:34:48 -04:00
Mark Felder
7e37882cf7 Fix order of args for favorite/2 2024-07-22 18:25:37 -04:00
Mark Felder
3aed111a42 Enable capture_log globally 2024-06-18 10:50:31 -04:00
Lain Soykaf
f663135724 DatabaseTest: Fix test. 2024-05-28 18:54:36 +04:00
Lain Soykaf
a041879eaa Linting 2024-05-28 18:26:30 +04:00
faried nawaz
1bf3ae07b6
add options to mix pleroma.database prune_objects to delete more activities 2024-05-09 10:43:34 +05:00
Mark Felder
04366492b2 ConfigDB export to file does not have a consistent order.
Just test a few values to prove it was written
2023-12-29 23:18:45 -05:00
Mark Felder
e35fa60d8a Remove reference to the :federation_publisher_modules setting in our config test 2023-12-28 14:53:40 -05:00
marcin mikołajczak
017e35fbf1 Fix some more typos
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-28 00:17:04 +01:00
Mark Felder
2207fafa91 Fix more Logger warn -> warning 2023-12-20 16:24:19 -05:00
Lain Soykaf
5996bef7cd Fix most tests that call SearchIndexWorker. 2023-11-12 15:54:16 +04:00
tusooa
3b4b84b74c
Force spec for every operation to have a listed tag 2023-01-15 18:31:37 -05:00
lain
e853cfe7c3 Revert "Merge branch 'copyright-bump' into 'develop'"
This reverts merge request !3825
2023-01-02 20:38:50 +00:00
marcin mikołajczak
10886eeaa2 Bump copyright year
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-01-01 12:13:06 +01:00
Mark Felder
6b87b3f2ea Remove Quack logging backend 2022-11-11 12:36:29 -05:00
Ilja
8303af84ce Rename the Exiftool module
No migrations or checks yet
2022-07-01 12:15:02 +02:00
Ilja
551721e41a Rename the new module 2022-07-01 12:13:46 +02:00
Ilja
cd316d7269 Use EXIF data of image to prefill image description
During attachment upload Pleroma returns a "description" field. Pleroma-fe has an MR to use that to pre-fill the image description field, <https://git.pleroma.social/pleroma/pleroma-fe/-/merge_requests/1399>

* This MR allows Pleroma to read the EXIF data during upload and return the description to the FE
    * If a description is already present (e.g. because a previous module added it), it will use that
    * Otherwise it will read from the EXIF data. First it will check -ImageDescription, if that's empty, it will check -iptc:Caption-Abstract
    * If no description is found, it will simply return nil, just like before
* When people set up a new instance, they will be asked if they want to read metadata and this module will be activated if so

This was taken from an MR i did on Pleroma and isn't finished yet.
2022-07-01 12:13:46 +02:00
Haelwenn
d7c53da77a Merge branch 'from/upstream-develop/tusooa/translate-pages' into 'develop'
Translate backend-rendered pages

See merge request pleroma/pleroma!3634
2022-03-20 18:14:37 +00:00
Tusooa Zhu
8b0c2890f9
Fix digest test 2022-03-01 20:27:45 -05:00
Sean King
17aa3644be
Copyright bump for 2022 2022-02-25 23:11:42 -07:00