From 99822a716d47ed5cfa239f0a7329e48d93696ad9 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Fri, 19 Apr 2024 07:55:32 -1000 Subject: [PATCH] feat(federation): :sparkles: Add avatar attribute to WebFinger --- index.ts | 2 +- server/api/well-known/webfinger/index.ts | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/index.ts b/index.ts index 37cd6396..421fab01 100644 --- a/index.ts +++ b/index.ts @@ -54,7 +54,7 @@ if (isEntry) { await dualServerLogger.log( LogLevel.CRITICAL, "Server", - "Below is a generated key for you to copy in the config at oidc.jwt_private_key", + "Below is a generated key for you to copy in the config at oidc.jwt_key", ); // Generate a key for them const keys = await crypto.subtle.generateKey("Ed25519", true, [ diff --git a/server/api/well-known/webfinger/index.ts b/server/api/well-known/webfinger/index.ts index 34e70fa3..2b6feace 100644 --- a/server/api/well-known/webfinger/index.ts +++ b/server/api/well-known/webfinger/index.ts @@ -1,7 +1,8 @@ import { apiRoute, applyConfig, idValidator } from "@api"; import { errorResponse, jsonResponse } from "@response"; import { z } from "zod"; -import { findFirstUser } from "~database/entities/User"; +import { findFirstUser, getAvatarUrl } from "~database/entities/User"; +import { lookup } from "mime-types"; export const meta = applyConfig({ allowedMethods: ["GET"], @@ -67,6 +68,11 @@ export default apiRoute( config.http.base_url, ).toString(), }, + { + rel: "avatar", + type: lookup(getAvatarUrl(user, config)), + href: getAvatarUrl(user, config), + }, ], }); },