From fc98c958924e07a8c0ddc8dbb39930026c5cdded Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Thu, 23 May 2024 19:04:05 -1000 Subject: [PATCH] chore(federation): :sparkles: Add sender public key to federation debugging --- .vscode/settings.json | 2 -- database/entities/Federation.ts | 8 ++++++++ server/api/users/:uuid/inbox/index.ts | 11 ++++++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index c16ea735..7336c5c4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,8 +4,6 @@ "jest.rootPath": ".", "conventionalCommits.scopes": [ "database", - "frontend", - "build", "api", "cli", "federation", diff --git a/database/entities/Federation.ts b/database/entities/Federation.ts index b1f13ef4..fc1ac71f 100644 --- a/database/entities/Federation.ts +++ b/database/entities/Federation.ts @@ -5,6 +5,7 @@ import { } from "@lysand-org/federation"; import { config } from "config-manager"; import type { User } from "~packages/database-interface/user"; +import { LogLevel, LogManager } from "~packages/log-manager"; export const localObjectURI = (id: string) => new URL(`/objects/${id}`, config.http.base_url).toString(); @@ -48,6 +49,13 @@ export const objectToInboxRequest = async ( if (config.debug.federation) { // Debug request await debugRequest(signed); + + // Log public key + new LogManager(Bun.stdout).log( + LogLevel.DEBUG, + "Inbox.Signature", + `Sender public key: ${author.getUser().publicKey}`, + ); } return signed; diff --git a/server/api/users/:uuid/inbox/index.ts b/server/api/users/:uuid/inbox/index.ts index 1cc1195a..dc0afe1c 100644 --- a/server/api/users/:uuid/inbox/index.ts +++ b/server/api/users/:uuid/inbox/index.ts @@ -22,7 +22,7 @@ import { db } from "~drizzle/db"; import { Notifications, Relationships } from "~drizzle/schema"; import { config } from "~packages/config-manager"; import { User } from "~packages/database-interface/user"; -import { LogLevel } from "~packages/log-manager"; +import { LogLevel, LogManager } from "~packages/log-manager"; export const meta = applyConfig({ allowedMethods: ["POST"], @@ -143,6 +143,15 @@ export default (app: Hono) => return errorResponse("Could not resolve keyId", 400); } + if (config.debug.federation) { + // Log public key + new LogManager(Bun.stdout).log( + LogLevel.DEBUG, + "Inbox.Signature", + `Sender public key: ${sender.getUser().publicKey}`, + ); + } + const validator = await SignatureValidator.fromStringKey( sender.getUser().publicKey, );