diff --git a/Iceshrimp.Backend/Core/Federation/ActivityPub/UserResolver.cs b/Iceshrimp.Backend/Core/Federation/ActivityPub/UserResolver.cs index e1be871d..d1cfea2d 100644 --- a/Iceshrimp.Backend/Core/Federation/ActivityPub/UserResolver.cs +++ b/Iceshrimp.Backend/Core/Federation/ActivityPub/UserResolver.cs @@ -5,6 +5,7 @@ using Iceshrimp.Backend.Core.Database.Tables; using Iceshrimp.Backend.Core.Federation.WebFinger; using Iceshrimp.Backend.Core.Middleware; using Iceshrimp.Backend.Core.Services; +using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Options; namespace Iceshrimp.Backend.Core.Federation.ActivityPub; @@ -288,7 +289,11 @@ public class UserResolver( public async Task GetUpdatedUser(User user) { if (!user.NeedsUpdate) return user; - user.LastFetchedAt = DateTime.UtcNow; // Prevent multiple background tasks from being started + + // Prevent multiple background tasks from being started + user.LastFetchedAt = DateTime.UtcNow; + await db.Users.Where(p => p == user) + .ExecuteUpdateAsync(p => p.SetProperty(i => i.LastFetchedAt, _ => user.LastFetchedAt)); var success = false;