From 0a4c3680dd2c30180da1128f7eae57fb54fa7bdd Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Sun, 19 May 2024 15:37:27 +0200 Subject: [PATCH] [backend/api] Improve quote/renote handling in NoteRenderer --- .../Controllers/Renderers/NoteRenderer.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Iceshrimp.Backend/Controllers/Renderers/NoteRenderer.cs b/Iceshrimp.Backend/Controllers/Renderers/NoteRenderer.cs index 98b600c8..bc851e56 100644 --- a/Iceshrimp.Backend/Controllers/Renderers/NoteRenderer.cs +++ b/Iceshrimp.Backend/Controllers/Renderers/NoteRenderer.cs @@ -16,9 +16,11 @@ public class NoteRenderer(UserRenderer userRenderer, DatabaseContext db, EmojiSe { var res = await RenderBaseInternal(note, user, data); - var renote = note.Renote is { IsPureRenote: true } ? await RenderRenote(note.Renote, user, data) : null; - var quote = note.Renote is { IsPureRenote: false } ? await RenderBase(note.Renote, user, data) : null; - var reply = note.Reply != null ? await RenderBase(note.Reply, user, data) : null; + var renote = note is { Renote: not null, IsPureRenote: true } + ? await RenderRenote(note.Renote, user, data) + : null; + var quote = note is { Renote: not null, IsQuote: true } ? await RenderBase(note.Renote, user, data) : null; + var reply = note.Reply != null ? await RenderBase(note.Reply, user, data) : null; var filters = data?.Filters ?? await GetFilters(user, filterContext); var filtered = FilterHelper.IsFiltered([note, note.Reply, note.Renote, note.Renote?.Renote], filters); @@ -34,9 +36,9 @@ public class NoteRenderer(UserRenderer userRenderer, DatabaseContext db, EmojiSe } res.Renote = renote; - res.RenoteId = note.RenoteId; + res.RenoteId = note.IsPureRenote ? note.RenoteId : null; res.Quote = quote; - res.QuoteId = note.RenoteId; + res.QuoteId = note.IsQuote ? note.RenoteId : null; res.QuoteInaccessible = note.RenoteUri != null; res.Reply = reply; res.ReplyId = note.ReplyId;