Commit graph

1143 commits

Author SHA1 Message Date
Laura Hausmann
330de26346
[backend/core] Fix race condition causing transient user resolution errors 2024-10-26 06:15:45 +02:00
Laura Hausmann
effe3a7fef
[backend/queue] Fix jobs not being upserted with their correct default values 2024-10-26 04:41:06 +02:00
Kopper
e9d651b66f
[backend] Use HTTP/2 by default 2024-10-26 01:26:01 +02:00
Kopper
61bad29c54 [backend/database] Add warning to AddNoteThread migration that it may take a while 2024-10-25 07:13:03 +03:00
kopper
27ac36d747
[backend] Add config option to sign reply backfills with requesting user
Signed-off-by: Laura Hausmann <laura@hausmann.dev>
2024-10-24 21:18:58 +02:00
kopper
7173373330
[backend/federation] Improved reply backfill
Instead of backfilling every note we come across that has a reply
collection, only schedule a backfill job if someone wants to see the
replies (on GET MastoAPI /context, or Iceshrimp API /descendants)

Reply backfilling is also done on a ThreadIdOrId basis as opposed to the
previous way of backfilling individual notes. This allows us finer
grained control over the recursion and frees up the job queue, alongside
allowing for easier implementation of context collection backfill in the
future (by mapping each context collection to a thread)

---

Currently, note threads are implicit based on the "threadId" column of a
note, which can be null (where it's the same as the note's "id")

This commit turns note threads into an actual entity, and as a part of
that, makes "threadId" non-nullable (by specifically setting it to "id"
for those cases)

This is done to attach extra metadata to the entire thread, currently
just the time of when it was last backfilled, but more may be added in
the future (the context collection associated with this thread, for example)

---

The data format for backfill jobs have backwards-incompatibly changed
since the introduction of the feature. We can drop all old jobs without
causing too much trouble as they will be re-scheduled on demand

---

Signed-off-by: Laura Hausmann <laura@hausmann.dev>
2024-10-24 21:18:57 +02:00
Laura Hausmann
80f275663e
[backend] Remove unused constant 2024-10-24 20:31:29 +02:00
Laura Hausmann
4dc021fcc4
[backend/federation] Fix ASObject.IsUnresolved regression 2024-10-24 20:30:34 +02:00
Laura Hausmann
af2f5a5ef9
[backend/configuration] Improve ParseNaturalDuration 2024-10-24 20:28:44 +02:00
Laura Hausmann
1c2c958dfb
[backend/federation] Preload webfinger JSON-LD context definition 2024-10-24 19:27:10 +02:00
Laura Hausmann
29cbf5cb4b
[backend/asp] Return trace identifier header even when no error has occurred 2024-10-24 19:08:37 +02:00
Laura Hausmann
a37d4c141d
[backend/api] Return stripped reply data in note descendants endpoint 2024-10-24 18:20:48 +02:00
Laura Hausmann
4b5d76961f
[backend/api] Add PaginationWrapper<TData> & associated helper methods 2024-10-24 18:20:48 +02:00
Laura Hausmann
55530f482d
[backend/api] Add pagination data to note likes and note renotes responses 2024-10-24 18:20:48 +02:00
Laura Hausmann
e4074dddbc
[backend/core] Allow manual resetting of the home timeline heuristic 2024-10-24 16:48:06 +02:00
Laura Hausmann
f19a414b27
[backend/federation] Refactor UserResolver (ISH-548) 2024-10-24 01:48:09 +02:00
Laura Hausmann
e753bacb1d
[backend] Code cleanup 2024-10-24 01:41:49 +02:00
Laura Hausmann
dd8a59db13
[backend/federation] Fix typo causing confusing log messages in ActivityHandlerService 2024-10-23 17:48:29 +02:00
Laura Hausmann
0e8aa8963c
[backend/federation] Improve error handling in InboxValidationMiddleware 2024-10-23 17:47:47 +02:00
pancakes
5cf2145bec [backend] Update WebFinger nodeinfo features 2024-10-23 05:04:55 +02:00
pancakes
8cbca253e8 [backend/masto-client] Add Bite extension 2024-10-23 05:04:55 +02:00
pancakes
bf5eb688c5 [backend] Remove unnecessary Compact calls 2024-10-23 05:04:55 +02:00
pancakes
30ff0d77b2 [backend/api] Add bite back endpoint 2024-10-23 05:04:55 +02:00
pancakes
fbbc50e158 [backend] Fix note bite notifications 2024-10-23 05:04:55 +02:00
pancakes
3218de9f56 [backend] Implement RenderBite, BiteService and endpoints for note and user 2024-10-23 05:04:55 +02:00
Laura Hausmann
c55e673cd2
[backend/federation] Don't allow negative voter counts 2024-10-23 04:49:25 +02:00
Laura Hausmann
bb276c57f3
[backend/database] Add job mutex column 2024-10-22 21:11:57 +02:00
Laura Hausmann
75042fc5d5
[backend/drive] Fix drive file cleanup job for locally stored files 2024-10-21 22:10:08 +02:00
Laura Hausmann
4f4a847621
[backend/database] Increase length of follow request activity id field to 512 characters
This should fix federation with brid.gy relays.
2024-10-20 22:05:57 +02:00
Laura Hausmann
4821750dbb
[backend] Code cleanup 2024-10-19 03:03:52 +02:00
Laura Hausmann
0f22bbdbcb
[parsing] Add cw search filter expression (ISH-517) 2024-10-19 03:00:43 +02:00
Laura Hausmann
fa81be967a
[parsing] Add support for advanced MFM (ISH-257) 2024-10-19 02:37:46 +02:00
Laura Hausmann
dc2d65d799
[backend/startup] Improve help text 2024-10-19 01:32:48 +02:00
Laura Hausmann
79014ec4b7
[backend/drive] Report count of orphaned files removed by storage cleanup job on completion 2024-10-19 01:29:25 +02:00
Laura Hausmann
ead9d90029
[backend/drive] Fix drive file expiry leaving orphaned file versions in the storage backend 2024-10-19 01:25:39 +02:00
Laura Hausmann
bfd0feaf95
[backend/drive] Don't fixup media created since the start of the job
This prevents a race condition when the server is running during the operation.
2024-10-19 00:57:44 +02:00
Laura Hausmann
b21d9691e5
[backend/drive] Improve media fixup algorithm 2024-10-19 00:21:01 +02:00
Laura Hausmann
055957f509
[backend/drive] Improve media fixup algorithm performance (ISH-520) 2024-10-18 23:37:19 +02:00
Laura Hausmann
6124eadb53
[backend/drive] Add storage cleanup startup command 2024-10-18 23:18:45 +02:00
Laura Hausmann
9275e3b21a
[backend/drive] Add fixup-media startup command (ISH-520) 2024-10-18 22:43:25 +02:00
Laura Hausmann
b18d24fa57
[backend] Update dependencies 2024-10-18 19:50:02 +02:00
Laura Hausmann
60b18f434f
[backend/queue] Make PostgresJobQueue<T> abstract 2024-10-18 04:32:34 +02:00
Laura Hausmann
5d01c11e35
[backend/queue] Increase inbox job timeout to 120 seconds 2024-10-17 22:54:40 +02:00
Laura Hausmann
6f55afe60a
[backend/core] Improve poll voter count fallback
This should fix erroneous voter counts for polls from instances that don't return as:votersCount.
2024-10-16 22:07:26 +02:00
Laura Hausmann
d625a34e2a
[backend/core] Improve code reuse 2024-10-16 20:59:47 +02:00
Laura Hausmann
3a606a58f1
[backend/core] Code cleanup 2024-10-16 20:53:14 +02:00
Laura Hausmann
e9389d154b
[backend/core] Fix typo 2024-10-16 20:52:37 +02:00
Laura Hausmann
3c96d98932
[backend/core] Only deliver create/update activities to remote users, unify DeliverToConditionalAsync calls 2024-10-16 20:51:40 +02:00
Laura Hausmann
a951217664
[backend/core] Don't retry jobs with like/unlike note resolution failures 2024-10-15 17:19:42 +02:00
Laura Hausmann
300c7d661c
[backend/queue] Set background-task queue timeout to 15 minutes (ISH-532) 2024-10-15 17:13:17 +02:00