Skip to content

Commit 5cc3127

Browse files
authored
refactor: prune event payload fields across federation services (#299)
1 parent c8ff64c commit 5cc3127

File tree

4 files changed

+0
-215
lines changed

4 files changed

+0
-215
lines changed

packages/federation-sdk/src/index.ts

Lines changed: 0 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -67,39 +67,6 @@ export {
6767
export { errCodes } from './utils/response-codes';
6868
export { NotAllowedError } from './services/invite.service';
6969

70-
type RelatesTo =
71-
| {
72-
rel_type: 'm.replace';
73-
event_id: EventID;
74-
}
75-
| {
76-
rel_type: 'm.annotation';
77-
event_id: EventID;
78-
key: string;
79-
}
80-
| {
81-
rel_type: 'm.thread';
82-
event_id: EventID;
83-
'm.in_reply_to'?: {
84-
event_id: EventID;
85-
room_id: string;
86-
sender: string;
87-
origin_server_ts: number;
88-
};
89-
is_falling_back?: boolean;
90-
}
91-
| {
92-
// SPEC: Though rich replies form a relationship to another event, they do not use rel_type to create this relationship.
93-
// Instead, a subkey named m.in_reply_to is used to describe the reply’s relationship,
94-
95-
// rich {"body":"quote","m.mentions":{},"m.relates_to":{"is_falling_back":false,"m.in_reply_to":{"event_id":"$0vkvf2Ha_FdWe3zVaoDw3X15VCyZIZRYrHQXuoZDURQ"}},"msgtype":"m.text"}
96-
97-
'm.in_reply_to': {
98-
event_id: EventID;
99-
};
100-
is_falling_back?: boolean;
101-
};
102-
10370
export type HomeserverEventSignatures = {
10471
'homeserver.ping': {
10572
message: string;
@@ -123,122 +90,30 @@ export type HomeserverEventSignatures = {
12390
'homeserver.matrix.encrypted': {
12491
event_id: EventID;
12592
event: PduForType<'m.room.encrypted'>;
126-
127-
room_id: string;
128-
sender: string;
129-
origin_server_ts: number;
130-
content: {
131-
algorithm: 'm.megolm.v1.aes-sha2';
132-
ciphertext: string;
133-
'm.relates_to'?: RelatesTo;
134-
device_id?: string;
135-
sender_key?: string;
136-
session_id?: string;
137-
};
13893
};
13994
'homeserver.matrix.message': {
14095
event_id: EventID;
14196
event: PduForType<'m.room.message'>;
142-
143-
room_id: string;
144-
sender: string;
145-
origin_server_ts: number;
146-
content: {
147-
body: string;
148-
msgtype: MessageType;
149-
url?: string;
150-
'm.relates_to'?: RelatesTo;
151-
'm.new_content'?: {
152-
body: string;
153-
msgtype: MessageType;
154-
'm.mentions'?: Record<string, string>;
155-
};
156-
formatted_body?: string;
157-
info?: {
158-
mimetype?: string;
159-
w?: number;
160-
h?: number;
161-
size?: number;
162-
thumbnail_file?: {
163-
hashes: {
164-
sha256: string;
165-
};
166-
iv: string;
167-
key: {
168-
alg: string;
169-
ext: boolean;
170-
k: string;
171-
key_ops: ['encrypt' | 'decrypt'];
172-
kty: string;
173-
};
174-
url: string;
175-
v: 'v2';
176-
};
177-
thumbnail_info?: {
178-
w?: number;
179-
h?: number;
180-
size?: number;
181-
mimetype?: string;
182-
};
183-
};
184-
};
18597
};
18698
'homeserver.matrix.reaction': {
18799
event_id: EventID;
188100
event: PduForType<'m.reaction'>;
189-
190-
room_id: string;
191-
sender: string;
192-
origin_server_ts: number;
193-
content: {
194-
'm.relates_to': {
195-
rel_type: 'm.annotation';
196-
event_id: EventID;
197-
key: string;
198-
};
199-
};
200101
};
201102
'homeserver.matrix.redaction': {
202103
event_id: EventID;
203104
event: PduForType<'m.room.redaction'>;
204-
205-
room_id: string;
206-
sender: string;
207-
origin_server_ts: number;
208-
redacts: EventID;
209-
content: {
210-
reason?: string;
211-
};
212105
};
213106
'homeserver.matrix.membership': {
214107
event_id: EventID;
215108
event: PduForType<'m.room.member'>;
216-
217-
room_id: string;
218-
sender: string;
219-
state_key: string;
220-
origin_server_ts: number;
221-
content: {
222-
membership: Membership;
223-
displayname?: string;
224-
avatar_url?: string;
225-
reason?: string;
226-
};
227109
};
228110
'homeserver.matrix.room.name': {
229111
event_id: EventID;
230112
event: PduForType<'m.room.name'>;
231-
room_id: string; // name of the room being changed
232-
user_id: string; // user who changed the name
233-
name: string; // new name of the room
234113
};
235114
'homeserver.matrix.room.topic': {
236115
event_id: EventID;
237116
event: PduForType<'m.room.topic'>;
238-
239-
room_id: string; // topic of the room being changed
240-
user_id: string; // user who changed the topic
241-
topic: string; // new topic of the room
242117
};
243118
'homeserver.matrix.room.server_acl': {
244119
event_id: EventID;

packages/federation-sdk/src/services/room.service.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -882,11 +882,6 @@ export class RoomService {
882882
this.eventEmitterService.emit('homeserver.matrix.membership', {
883883
event_id: membershipEvent.eventId,
884884
event: membershipEvent.event,
885-
room_id: roomId,
886-
state_key: userId,
887-
content: { membership: 'join' },
888-
sender: userId,
889-
origin_server_ts: Date.now(),
890885
});
891886

892887
if (membershipEvent.rejected) {

packages/federation-sdk/src/services/send-join.service.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,6 @@ export class SendJoinService {
7373
this.emitterService.emit('homeserver.matrix.membership', {
7474
event_id: eventId,
7575
event: signedJoinEvent.event,
76-
room_id: roomId,
77-
sender: signedJoinEvent.sender,
78-
state_key: signedJoinEvent.stateKey as string,
79-
origin_server_ts: signedJoinEvent.originServerTs,
80-
content: {
81-
avatar_url: signedJoinEvent.getContent().avatar_url,
82-
displayname: signedJoinEvent.getContent().displayname || '',
83-
membership: signedJoinEvent.getContent().membership,
84-
},
8576
});
8677

8778
return {

packages/federation-sdk/src/services/staging-area.service.ts

Lines changed: 0 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -278,34 +278,6 @@ export class StagingAreaService {
278278
this.eventEmitterService.emit('homeserver.matrix.message', {
279279
event_id: eventId,
280280
event: event.event,
281-
room_id: roomId,
282-
sender: event.event.sender,
283-
origin_server_ts: event.event.origin_server_ts,
284-
content: {
285-
...event.event.content,
286-
body: event.event.content?.body as string,
287-
msgtype: event.event.content?.msgtype as MessageType,
288-
'm.relates_to': event.event.content?.['m.relates_to'] as
289-
| {
290-
rel_type: 'm.replace';
291-
event_id: EventID;
292-
}
293-
| {
294-
rel_type: 'm.annotation';
295-
event_id: EventID;
296-
key: string;
297-
}
298-
| {
299-
rel_type: 'm.thread';
300-
event_id: EventID;
301-
},
302-
'm.new_content': event.event.content?.['m.new_content'] as {
303-
body: string;
304-
msgtype: MessageType;
305-
},
306-
formatted_body: (event.event.content?.formatted_body ||
307-
'') as string,
308-
},
309281
});
310282
break;
311283
case event.event.type === 'm.room.encryption':
@@ -318,88 +290,40 @@ export class StagingAreaService {
318290
this.eventEmitterService.emit('homeserver.matrix.encrypted', {
319291
event_id: eventId,
320292
event: event.event,
321-
room_id: roomId,
322-
sender: event.event.sender,
323-
origin_server_ts: event.event.origin_server_ts,
324-
content: {
325-
...event.event.content,
326-
'm.relates_to': event.event.content?.['m.relates_to'] as
327-
| {
328-
rel_type: 'm.replace';
329-
event_id: EventID;
330-
}
331-
| {
332-
rel_type: 'm.annotation';
333-
event_id: EventID;
334-
key: string;
335-
}
336-
| {
337-
rel_type: 'm.thread';
338-
event_id: EventID;
339-
},
340-
},
341293
});
342294
break;
343295
case event.event.type === 'm.reaction': {
344296
this.eventEmitterService.emit('homeserver.matrix.reaction', {
345297
event_id: eventId,
346298
event: event.event,
347-
room_id: roomId,
348-
sender: event.event.sender,
349-
origin_server_ts: event.event.origin_server_ts,
350-
content: event.event.content as {
351-
'm.relates_to': {
352-
rel_type: 'm.annotation';
353-
event_id: EventID;
354-
key: string;
355-
};
356-
},
357299
});
358300
break;
359301
}
360302
case isRedactedEvent(event.event): {
361303
this.eventEmitterService.emit('homeserver.matrix.redaction', {
362304
event_id: eventId,
363305
event: event.event,
364-
room_id: roomId,
365-
sender: event.event.sender,
366-
origin_server_ts: event.event.origin_server_ts,
367-
redacts: event.event.redacts,
368-
content: {
369-
reason: event.event.content?.reason,
370-
},
371306
});
372307
break;
373308
}
374309
case event.event.type === 'm.room.member': {
375310
this.eventEmitterService.emit('homeserver.matrix.membership', {
376311
event_id: eventId,
377312
event: event.event,
378-
room_id: roomId,
379-
sender: event.event.sender,
380-
state_key: event.event.state_key,
381-
origin_server_ts: event.event.origin_server_ts,
382-
content: event.event.content,
383313
});
384314
break;
385315
}
386316
case event.event.type === 'm.room.name': {
387317
this.eventEmitterService.emit('homeserver.matrix.room.name', {
388318
event_id: eventId,
389319
event: event.event,
390-
room_id: roomId,
391-
user_id: event.event.sender,
392-
name: event.event.content?.name as string,
393320
});
394321
break;
395322
}
396323
case event.event.type === 'm.room.topic': {
397324
this.eventEmitterService.emit('homeserver.matrix.room.topic', {
398325
event_id: eventId,
399326
event: event.event,
400-
room_id: roomId,
401-
user_id: event.event.sender,
402-
topic: event.event.content.topic,
403327
});
404328
break;
405329
}

0 commit comments

Comments
 (0)