Commit graph

13 commits

Author SHA1 Message Date
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
304d9f2750
[backend/masto-client] Enforce RestrictedNoMedia public preview mode 2024-09-24 01:02:05 +02:00
Laura Hausmann
afe62b0aab
[sln] Code cleanup 2024-09-13 21:44:31 +02:00
Laura Hausmann
1e8f1cb964
[backend/database] Migrate references to Note.ThreadId ?? Note.Id to Note.ThreadIdOrId 2024-07-14 22:06:29 +02:00
Laura Hausmann
1d43f2c30b
[backend/api-shared] Add thread mute support (ISH-172) 2024-07-13 01:35:28 +02:00
Laura Hausmann
0776a50cbe
[backend/asp] Refactor controllers
This commit aims to improve readability of MVC controllers & actions. The main change is the switch to custom [ProducesResults] and [ProducesErrors] attributes.
2024-07-06 17:12:22 +02:00
Laura Hausmann
0a89a228e3
[backend] Refactor Controllers folder 2024-07-04 18:17:50 +02:00
Laura Hausmann
98fc1f50a9
[backend/masto-client] Improve performance of conversations endpoints 2024-04-24 02:01:24 +02:00
Laura Hausmann
5fca0620cf
[backend/core] Improve note table query performance by aggregating block/mute checks (ISH-206)
This also implements checking for blocks & mutes users in the mentions field, implementing ISH-225.
2024-04-23 23:04:56 +02:00
Laura Hausmann
62dde50af2
[backend/core] Support note filters (ISH-97) 2024-03-31 23:56:55 +02:00
Laura Hausmann
a408fa247a
[backend] Code cleanup 2024-03-17 13:36:08 +01:00
Laura Hausmann
3ab36f7d70
[backend/core] Enforce blocks & mutes everywhere (ISH-189) 2024-03-14 17:02:29 +01:00
Laura Hausmann
82ff329e34
[backend/mastodon-client] Implement conversations endpoints 2024-02-27 01:07:12 +01:00