From 43900576b28f7b68b828ecd43628b5ea4ebbf2f8 Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Tue, 7 Apr 2026 14:05:19 +0200 Subject: [PATCH] fix: update contextType casts to include 'profile', remove stale profileSync comments --- packages/server/src/routes/federation.ts | 4 ++-- packages/server/src/routes/users.ts | 4 ++-- packages/server/src/utils/federationWorker.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/server/src/routes/federation.ts b/packages/server/src/routes/federation.ts index 0d9a1f00..1b072496 100644 --- a/packages/server/src/routes/federation.ts +++ b/packages/server/src/routes/federation.ts @@ -931,7 +931,7 @@ export async function federationRoutes(app: FastifyInstance): Promise { const dmChannelIdFilter = body.dmChannelId && typeof body.dmChannelId === 'string' ? body.dmChannelId : null; const federatedIdFilter = body.federatedId && typeof body.federatedId === 'string' ? body.federatedId : null; const contextTypeFilter = body.contextType && typeof body.contextType === 'string' - ? body.contextType as 'dm' | 'friend' + ? body.contextType as 'dm' | 'friend' | 'profile' : null; // Clamp limit: min 1, max 500, default 100 @@ -1103,7 +1103,7 @@ export async function federationRoutes(app: FastifyInstance): Promise { const payload = mutation.payload ? JSON.parse(mutation.payload) : {}; events.push({ eventType: mutationType as FederationRelayEvent['eventType'], - contextType: (mutation.context_type ?? 'dm') as 'dm' | 'friend', + contextType: (mutation.context_type ?? 'dm') as 'dm' | 'friend' | 'profile', ...(mutation.context_type === 'dm' || !mutation.context_type ? { dmChannelId: mutation.context_id } : {}), messageId: mutation.entity_id, encryptionVersion: 0, diff --git a/packages/server/src/routes/users.ts b/packages/server/src/routes/users.ts index 6043777e..d49ba692 100644 --- a/packages/server/src/routes/users.ts +++ b/packages/server/src/routes/users.ts @@ -231,7 +231,7 @@ export async function userRoutes(app: FastifyInstance): Promise { return reply.code(400).send({ error: 'Avatar URL must be a relative upload path or http/https URL', statusCode: 400 }); } updateData.avatar = avatar; - // Normalize to bare filename — profileSync historically stored /api/uploads/ prefix + // Normalize to bare filename — callers may include /api/uploads/ prefix if (typeof updateData.avatar === 'string' && updateData.avatar.startsWith('/api/uploads/')) { updateData.avatar = updateData.avatar.slice('/api/uploads/'.length); } @@ -243,7 +243,7 @@ export async function userRoutes(app: FastifyInstance): Promise { } if (banner && typeof banner === 'string' && banner.trim().length > 0) { updateData.banner = banner.trim(); - // Normalize to bare filename — profileSync historically stored /api/uploads/ prefix + // Normalize to bare filename — callers may include /api/uploads/ prefix if (updateData.banner.startsWith('/api/uploads/')) { updateData.banner = updateData.banner.slice('/api/uploads/'.length); } diff --git a/packages/server/src/utils/federationWorker.ts b/packages/server/src/utils/federationWorker.ts index 5214453b..3004aa98 100644 --- a/packages/server/src/utils/federationWorker.ts +++ b/packages/server/src/utils/federationWorker.ts @@ -170,7 +170,7 @@ async function processOutboxTick(): Promise { const isDm = entry.contextType === 'dm' || !entry.contextType; const evt: FederationRelayEvent = { eventType: entry.eventType as FederationRelayEvent['eventType'], - contextType: (entry.contextType ?? 'dm') as 'dm' | 'friend', + contextType: (entry.contextType ?? 'dm') as 'dm' | 'friend' | 'profile', messageId: entry.entityId ?? '', encryptionVersion: (entry.encryptionVersion ?? 0) as 0, timestamp: entry.createdAt,