From a951217664d5708265c593afa1b2c61787014534 Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Tue, 15 Oct 2024 17:19:42 +0200 Subject: [PATCH] [backend/core] Don't retry jobs with like/unlike note resolution failures --- Iceshrimp.Backend/Core/Services/NoteService.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Iceshrimp.Backend/Core/Services/NoteService.cs b/Iceshrimp.Backend/Core/Services/NoteService.cs index 220e8535..78bfe24b 100644 --- a/Iceshrimp.Backend/Core/Services/NoteService.cs +++ b/Iceshrimp.Backend/Core/Services/NoteService.cs @@ -601,7 +601,6 @@ public class NoteService( var combinedAltText = data.Attachments?.Select(p => p.Comment).Where(c => c != null); note.CombinedAltText = combinedAltText != null ? string.Join(' ', combinedAltText) : null; - } var isPollEdited = false; @@ -949,7 +948,7 @@ public class NoteService( var emoji = (await emojiSvc.ProcessEmojiAsync(note.Tags?.OfType().ToList(), actor.Host)) .Select(p => p.Id) .ToList(); - + policySvc.CallRewriteHooks(note, actor, IRewritePolicy.HookLocationEnum.PostLogic); return await CreateNoteAsync(new NoteCreationData @@ -1397,13 +1396,17 @@ public class NoteService( public async Task LikeNoteAsync(ASNote note, User actor) { - var dbNote = await ResolveNoteAsync(note) ?? throw new Exception("Cannot register like for unknown note"); + var dbNote = await ResolveNoteAsync(note) ?? + throw GracefulException.UnprocessableEntity("Cannot register like for unknown note"); + await LikeNoteAsync(dbNote, actor); } public async Task UnlikeNoteAsync(ASNote note, User user) { - var dbNote = await ResolveNoteAsync(note) ?? throw new Exception("Cannot unregister like for unknown note"); + var dbNote = await ResolveNoteAsync(note) ?? + throw GracefulException.UnprocessableEntity("Cannot unregister like for unknown note"); + await UnlikeNoteAsync(dbNote, user); } @@ -1619,4 +1622,4 @@ public class NoteService( if (dbNote == null) return; await RemoveReactionFromNoteAsync(dbNote, actor, name); } -} +} \ No newline at end of file