Commit graph

23 commits

Author SHA1 Message Date
Laura Hausmann
24b412bd75
[sln] Reformat code 2024-11-20 00:48:29 +01:00
Laura Hausmann
7dec2514da
[sln] Apply code style 2024-11-20 00:48:29 +01:00
Laura Hausmann
f2853d2d40
[backend] Fix typo 2024-11-02 22:56:52 +01:00
Laura Hausmann
1bc3fc9b39
[backend/api] Fix incorrect rate limits being applied to note thread mute endpoints 2024-10-27 22:54:22 +01: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
Lilian
6e30b667b2
[sln] Code cleanup 2024-10-24 18:49:17 +02:00
Laura Hausmann
c134e9f87c
[backend/api] Return stripped reply data in note ascendants endpoint 2024-10-24 18:20:48 +02:00
Laura Hausmann
a37d4c141d
[backend/api] Return stripped reply data in note descendants endpoint 2024-10-24 18:20:48 +02:00
Lilian
4caace8214
[backend/api] Use RestPagination for Renotes and Quotes endpoints 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
Lilian
5dc54826e4
[backend/api] Add quotes enpoint 2024-10-24 18:20:48 +02:00
Lilian
a30693e596
[backend/api] Add renotes endpoint 2024-10-24 18:20:48 +02:00
Lilian
3a4738d1fd
[backend/web] Add "likes" endpoint 2024-10-24 18:20:48 +02:00
pancakes
82ed8b583b [backend/api] Prevent users from biting notes they can't see 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
a5a2c0b169
[backend/core] Add basic reject policies, along with a highly extensible system for rewrite policies (ISH-16) 2024-10-09 04:34:23 +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
374d9d5ebf
[backend/api] Add note refetch endpoint (ISH-352) 2024-07-04 18:57:17 +02:00
Laura Hausmann
0a89a228e3
[backend] Refactor Controllers folder 2024-07-04 18:17:50 +02:00
Renamed from Iceshrimp.Backend/Controllers/NoteController.cs (Browse further)