diff --git a/desktop/src/shared/avatars/gooseAppAvatarRefs.test.mjs b/desktop/src/shared/avatars/gooseAppAvatarRefs.test.mjs index b5ce4f23e..9e4f04b94 100644 --- a/desktop/src/shared/avatars/gooseAppAvatarRefs.test.mjs +++ b/desktop/src/shared/avatars/gooseAppAvatarRefs.test.mjs @@ -39,3 +39,13 @@ test("resolveImportedPersonaAvatarUrl preserves ordinary image URLs", () => { "https://example.com/avatar.png", ); }); + +test("resolveImportedPersonaAvatarUrl preserves URL avatar refs", () => { + assert.equal( + resolveImportedPersonaAvatarUrl({ + avatarDataUrl: null, + avatarRef: " https://example.com/persona-avatar.png ", + }), + "https://example.com/persona-avatar.png", + ); +}); diff --git a/desktop/src/shared/avatars/gooseAppAvatarRefs.ts b/desktop/src/shared/avatars/gooseAppAvatarRefs.ts index 49cf7c6ed..fa4486ac5 100644 --- a/desktop/src/shared/avatars/gooseAppAvatarRefs.ts +++ b/desktop/src/shared/avatars/gooseAppAvatarRefs.ts @@ -65,8 +65,12 @@ export function resolveImportedPersonaAvatarUrl({ return gooseRef; } - const trimmedAvatarUrl = avatarDataUrl?.trim(); - return trimmedAvatarUrl && isPersistableAvatarUrl(trimmedAvatarUrl) - ? trimmedAvatarUrl - : null; + for (const candidate of [avatarRef, avatarDataUrl]) { + const trimmedAvatarUrl = candidate?.trim(); + if (trimmedAvatarUrl && isPersistableAvatarUrl(trimmedAvatarUrl)) { + return trimmedAvatarUrl; + } + } + + return null; }