Iceshrimp.NET/Iceshrimp.Backend/Core/Database/Tables
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
..
AbuseUserReport.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
AllowedInstance.cs [backend/database] Make allowlist/blocklist imported flag optional (defaulting to false) 2024-04-14 19:01:31 +02:00
Announcement.cs [backend/database] Refactor Index attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
AnnouncementRead.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
Antenna.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
AttestationChallenge.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
Bite.cs [backend] Use User.IsLocalUser / .IsRemoteUser instead of null-checks where applicable (ISH-370) 2024-06-17 17:25:29 +02:00
BlockedInstance.cs [backend/database] Make allowlist/blocklist imported flag optional (defaulting to false) 2024-04-14 19:01:31 +02:00
Blocking.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
CacheEntry.cs [backend/database] Refactor Index attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
Channel.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
ChannelFollowing.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
ChannelNotePin.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
Clip.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
ClipNote.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
DriveFile.cs [backend/drive] Refactor ImageProcessor into a modular system 2024-08-12 03:21:03 +02:00
DriveFolder.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
Emoji.cs [backend] Add sensitive field to emojis 2024-10-04 00:36:38 +02:00
Filter.cs [backend/api] Add filter endpoints (ISH-339) 2024-07-13 00:36:49 +02:00
Following.cs [backend] Apply formatting rules 2024-06-29 01:06:19 +02:00
FollowRequest.cs [backend/database] Increase length of follow request activity id field to 512 characters 2024-10-20 22:05:57 +02:00
GalleryLike.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
GalleryPost.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
Hashtag.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
Instance.cs [backend/database] Increase instance softwareName and softwareVersion max length to 256 2024-04-27 21:26:54 +02:00
Job.cs [backend/database] Add job mutex column 2024-10-22 21:11:57 +02:00
Marker.cs [backend/database] Remove redundant index on the marker table 2024-04-19 20:19:51 +02:00
MessagingMessage.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
Meta.cs [backend] Code cleanup: switch to BSD braces style, tweak code style 2024-02-17 02:31:00 +01:00
MetaStoreEntry.cs [backend/database] Refactor Index attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
ModerationLog.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
Muting.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
Note.cs [backend/federation] Improved reply backfill 2024-10-24 21:18:57 +02:00
NoteBookmark.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
NoteEdit.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
NoteLike.cs [backend/api] Add pagination data to note likes and note renotes responses 2024-10-24 18:20:48 +02:00
NoteReaction.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
NoteThread.cs [backend/federation] Improved reply backfill 2024-10-24 21:18:57 +02:00
NoteThreadMuting.cs [backend/federation] Improved reply backfill 2024-10-24 21:18:57 +02:00
NoteUnread.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
NoteWatching.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
Notification.cs [backend/database] Add indicies to the instance table 2024-04-25 00:40:51 +02:00
OauthApp.cs [sln] Code cleanup 2024-09-13 21:44:31 +02:00
OauthToken.cs [backend/akko-client] Put Pleroma quirks behind a feature flag 2024-09-13 17:30:05 +02:00
Page.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
PageLike.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
PasswordResetRequest.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
PluginStoreEntry.cs [iceshrimp/database] Add plugin store table (ISH-424) 2024-07-13 23:04:55 +02:00
PolicyConfiguration.cs [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
Poll.cs [backend/core] Track poll votersCount for local & remote polls 2024-06-05 15:26:25 +02:00
PollVote.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
PromoNote.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
PromoRead.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
PushSubscription.cs [backend/database] PushSubscription.Types should be a property, not a field 2024-09-28 02:09:11 +02:00
RegistrationInvite.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
RegistryItem.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
Relay.cs [backend/federation] Add relay support (ISH-266) 2024-09-28 00:32:43 +02:00
RenoteMuting.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
Session.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
SwSubscription.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
UsedUsername.cs [backend] Code cleanup: switch to BSD braces style, tweak code style 2024-02-17 02:31:00 +01:00
User.cs [backend/federation] Refactor UserResolver (ISH-548) 2024-10-24 01:48:09 +02:00
UserGroup.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
UserGroupInvitation.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
UserGroupMember.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
UserKeypair.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
UserList.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
UserListMember.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
UserNotePin.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
UserPending.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
UserProfile.cs [sln] Code cleanup 2024-09-13 21:44:31 +02:00
UserPublickey.cs [backend/database] Replace complex Index/PrimaryKey/ForeignKey references with their nameof() equivalents 2024-04-19 20:19:51 +02:00
UserSecurityKey.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00
UserSettings.cs [backend/api] Expose new user_settings flags in SettingsController 2024-07-10 02:55:57 +02:00
Webhook.cs [backend/database] Refactor ForeignKey attributes to use nameof() where applicable (ISH-24) 2024-04-19 20:11:26 +02:00