From a6b3041f8c2b0c1a319bf14c8958f06424668686 Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Fri, 27 Mar 2026 00:39:34 +0100 Subject: [PATCH] feat(types): add federation friend relay event types and FederationFriendshipPayload --- packages/shared/src/types.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/shared/src/types.ts b/packages/shared/src/types.ts index a69e077b..5fa61018 100644 --- a/packages/shared/src/types.ts +++ b/packages/shared/src/types.ts @@ -737,8 +737,11 @@ export interface FederationRelayParticipant { export interface FederationRelayEvent { eventType: 'create' | 'update' | 'delete' | 'reaction_add' | 'reaction_remove' - | 'member_add' | 'member_remove' | 'ownership_transfer'; - dmChannelId: string; + | 'member_add' | 'member_remove' | 'ownership_transfer' + | 'friend_request_create' | 'friend_request_update' | 'friend_request_cancel' + | 'friend_add' | 'friend_remove'; + contextType?: 'dm' | 'friend'; + dmChannelId?: string; messageId: string; federatedId?: string; encryptionVersion: 0; @@ -759,6 +762,7 @@ export interface FederationRelayEvent { membership?: FederationMembershipPayload; ownership?: FederationOwnershipPayload; group?: FederationGroupPayload; + friendship?: FederationFriendshipPayload; } export interface FederationMembershipPayload { @@ -778,6 +782,13 @@ export interface FederationGroupPayload { members: FederationRelayParticipant[]; } +export interface FederationFriendshipPayload { + from: FederationRelayParticipant; + to: FederationRelayParticipant; + status?: 'pending' | 'accepted' | 'declined'; + createdAt: number; +} + export interface FederationRelayReaction { messageId?: string; messageHomeInstance?: string; @@ -816,6 +827,7 @@ export interface FederationSyncRequest { sinceTimestamp: number; dmChannelId?: string; federatedId?: string; + contextType?: 'dm' | 'friend'; limit: number; }