diff --git a/Iceshrimp.Backend/Core/Federation/ActivityPub/UserResolver.cs b/Iceshrimp.Backend/Core/Federation/ActivityPub/UserResolver.cs index e98cc106..0a8c7044 100644 --- a/Iceshrimp.Backend/Core/Federation/ActivityPub/UserResolver.cs +++ b/Iceshrimp.Backend/Core/Federation/ActivityPub/UserResolver.cs @@ -74,7 +74,10 @@ public class UserResolver( actor.Normalize(query); var domain = new Uri(actor.Id).Host; var username = actor.Username!; - return await WebFingerAsync($"acct:{username}@{domain}", false, actor.Id); + var wfaddr = actor.WebfingerAddress != null && !actor.WebfingerAddress.StartsWith("acct:") + ? "acct:" + actor.WebfingerAddress + : actor.WebfingerAddress; + return await WebFingerAsync(wfaddr ?? $"acct:{username}@{domain}", false, actor.Id); } catch (Exception e) { @@ -124,7 +127,11 @@ public class UserResolver( actor.Normalize(apUri); var domain = new Uri(actor.Id).Host; var username = new Uri(actor.Username!).Host; - return await WebFingerAsync($"acct:{username}@{domain}", false, apUri, responses); + var wfaddr = actor.WebfingerAddress != null && !actor.WebfingerAddress.StartsWith("acct:") + ? "acct:" + actor.WebfingerAddress + : actor.WebfingerAddress; + + return await WebFingerAsync(wfaddr ?? $"acct:{username}@{domain}", false, apUri, responses); } catch (Exception e) {