Commit graph

93 commits

Author SHA1 Message Date
Laura Hausmann
e1c5a99ab3
[backend/api] Fix remote emoji lookup pagination 2025-02-07 17:14:48 +01:00
pancakes
36c6092fd2
Revert "[backend/api] Add missing inclusions of user avatar and banner"
This reverts commit b4084b8e2222d0935fb536feac78d5ed31dc6fa5.
2025-02-06 13:09:49 +01:00
pancakes
6f69ae6ffb
[backend/api] Add missing inclusions of user avatar and banner 2025-02-06 13:09:48 +01:00
Laura Hausmann
045ce709aa
[backend] Switch to Iceshrimp.EntityFrameworkCore.Extensions 2025-01-31 16:56:11 +01:00
pancakes
f40c0e2499
[backend/api] Simplify GetAvatar and GetBanner database queries 2025-01-30 11:11:22 +01:00
pancakes
fdadc41c61
[backend/federation] Include alt text for avatar and banner in UserRenderer 2025-01-30 11:11:21 +01:00
Laura Hausmann
a762a9201e
[backend/core] Revert IAsyncEnumerable naming 2024-11-20 01:12:32 +01:00
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
752c22980d
[backend/federation] Fix FilterHidden with except userId failing to translate
This seems to be an EF 9 specific bug, though I can't reproduce it in an isolated query. Benchmarks say the resulting queries perform identically, so I don't think this is much of an issue.
2024-11-18 19:02:41 +01:00
Laura Hausmann
90a6b06410
[backend/api] Fix race condition causing simultaneous DbContext access in NotificationRenderer 2024-10-27 18:12:17 +01: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
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
pancakes
30ff0d77b2 [backend/api] Add bite back endpoint 2024-10-23 05:04:55 +02:00
Laura Hausmann
d62ac94d5e
[backend/core] Fix migrations that move more than 50 followers failing 2024-10-05 23:46:09 +02:00
Laura Hausmann
f1b7218c60
[backend/api-shared] Fix typo 2024-09-27 19:52:41 +02:00
Laura Hausmann
5192b58150
[backend/api-shared] Also filter renotes & quotes mentioning muted/blocked users 2024-09-27 19:50:39 +02:00
Laura Hausmann
c68e0bbd94
[backend/core] Fix AsChunkedAsyncEnumerable pagination 2024-09-26 02:14:20 +02:00
Laura Hausmann
304d9f2750
[backend/masto-client] Enforce RestrictedNoMedia public preview mode 2024-09-24 01:02:05 +02:00
Laura Hausmann
1c2079e1ee
[backend] Rework GracefulException throws without additional detail 2024-09-24 00:45:18 +02:00
Laura Hausmann
2bf714b8e1
[backend/core] Fix typo 2024-09-23 00:47:43 +02:00
Laura Hausmann
1d9864a214
[backend/federation] Handle incoming ASMove activities (ISH-118) 2024-09-23 00:21:57 +02:00
Laura Hausmann
afe62b0aab
[sln] Code cleanup 2024-09-13 21:44:31 +02:00
Kopper
9d6d892091 [backend/akko-client] Fix notifications, including emoji reaction notifications 2024-09-13 17:30:05 +02:00
Laura Hausmann
649fc267c8
[backend/core] Fix typo 2024-08-13 04:50:18 +02:00
Laura Hausmann
3132b6b8c9
[backend/core] Fix note thread mute handling inconsistencies 2024-08-13 03:11:09 +02:00
Laura Hausmann
ca9a2b77e9
[backend/masto-client] Respect renoteUri/replyUri on /accounts/{id}/statuses when exclude_replies or exclude_reblogs are set 2024-07-30 02:05:02 +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
c67984c411
[backend] Manually reformat difficult-to-read switch expressions that got hard wrapped 2024-07-11 17:46:34 +02:00
Laura Hausmann
0a89a228e3
[backend] Refactor Controllers folder 2024-07-04 18:17:50 +02:00
Laura Hausmann
e65c678a35
[backend/core] Revert to heuristic-based home timeline query
There can be performance issues with the other query, so we have to revert this for now.
2024-06-26 22:56:36 +02:00
Laura Hausmann
d0eaf13b6b
[backend] Code cleanup 2024-06-26 21:57:22 +02:00
Laura Hausmann
c290c546f4
[backend/core] Move FilterByFollowingAndOwn back into QueryableExtensions 2024-06-26 21:57:22 +02:00
Laura Hausmann
7a57862048
[backend/core] Improve heuristics query performance, move timeline-related extensions into its own file 2024-06-26 21:54:16 +02:00
Laura Hausmann
8b36f1aecf
[backend/masto-client] Paginate likes & bookmarks based on their identifier (instead of the note identifier) 2024-06-15 16:57:06 +02:00
Laura Hausmann
c46a5bd93d
[backend/masto-client] Correctly handle offset pagination (ISH-358) 2024-06-07 18:44:48 +02:00
Laura Hausmann
498ac154a7
[backend/masto-client] Move offset pagination into QueryableExtensions 2024-05-16 00:38:16 +02:00
Laura Hausmann
39296bbc25
[backend/core] Include quote-renotes when rendering notifications 2024-05-14 15:54:09 +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
d866d360d9
[backend/core] Refactor home timeline heuristic helper function 2024-04-20 02:14:15 +02:00
Laura Hausmann
0f0726b172
[backend/core] Add comments for the magic following query constant & function 2024-04-19 02:06:42 +02:00
Laura Hausmann
d6153beaeb
[backend/masto-client] Return replies to self (threads) on account statuses requests with excludeReplies param set 2024-04-06 18:24:18 +02:00
Laura Hausmann
8811e3c2b9
[frontend] Cleanup template assets, add placeholders 2024-04-01 21:24:29 +02:00
Laura Hausmann
6bc2b8d57c
[frontend] Bootstrap shared DTOs, API abstractions, SignalR & more 2024-04-01 20:22:45 +02:00
Laura Hausmann
62dde50af2
[backend/core] Support note filters (ISH-97) 2024-03-31 23:56:55 +02:00
Laura Hausmann
fa75409923
[backend/api] Note context endpoints (ISH-236) 2024-03-27 16:06:42 +01:00
Laura Hausmann
715f47cafc
[backend/masto-client] Fix notification pagination (ISH-204) 2024-03-26 20:13:47 +01:00