From e14686ea8cce39fc98c29970f4c3a3ee0e9a1cf0 Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Thu, 22 Feb 2024 03:10:07 +0100 Subject: [PATCH] [backend/masto-client] Fix invalid quotes on note create --- .../Controllers/Mastodon/StatusController.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Iceshrimp.Backend/Controllers/Mastodon/StatusController.cs b/Iceshrimp.Backend/Controllers/Mastodon/StatusController.cs index 728053c7..31748f5d 100644 --- a/Iceshrimp.Backend/Controllers/Mastodon/StatusController.cs +++ b/Iceshrimp.Backend/Controllers/Mastodon/StatusController.cs @@ -219,12 +219,15 @@ public class StatusController( var lastToken = request.Text?.Split(' ').LastOrDefault(); var quoteUri = lastToken?.StartsWith("https://") ?? false ? lastToken : null; - var quote = lastToken?.StartsWith($"https://{config.Value.WebDomain}/notes/") ?? false - ? await db.Notes.IncludeCommonProperties() - .FirstOrDefaultAsync(p => p.Id == - lastToken.Substring($"https://{config.Value.WebDomain}/notes/".Length)) - : await db.Notes.IncludeCommonProperties() - .FirstOrDefaultAsync(p => p.Uri == quoteUri || p.Url == quoteUri); + var quote = quoteUri != null + ? lastToken?.StartsWith($"https://{config.Value.WebDomain}/notes/") ?? false + ? await db.Notes.IncludeCommonProperties() + .FirstOrDefaultAsync(p => p.Id == + lastToken.Substring($"https://{config.Value.WebDomain}/notes/" + .Length)) + : await db.Notes.IncludeCommonProperties() + .FirstOrDefaultAsync(p => p.Uri == quoteUri || p.Url == quoteUri) + : null; if (quote != null && quoteUri != null && request.Text != null) request.Text = request.Text[..(request.Text.Length - quoteUri.Length - 1)];