Skip to content

Commit 0a7099f

Browse files
authored
Merge pull request #2207 from cardstack/room-skill-props
Refactor RoomResource to separate loading fragments and room messages
2 parents 88e77dd + 820d3ba commit 0a7099f

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

packages/host/app/resources/room.ts

+20-16
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,11 @@ export class RoomResource extends Resource<Args> {
113113
await this.loadRoomMemberEvent(roomId, event);
114114
break;
115115
case 'm.room.message':
116-
await this.loadRoomMessage({ roomId, event, index });
116+
if (this.isCardFragmentEvent(event)) {
117+
await this.loadCardFragment(event);
118+
} else {
119+
await this.loadRoomMessage({ roomId, event, index });
120+
}
117121
break;
118122
case APP_BOXEL_COMMAND_RESULT_EVENT_TYPE:
119123
this.updateMessageCommandResult({ roomId, event, index });
@@ -320,24 +324,24 @@ export class RoomResource extends Resource<Args> {
320324
});
321325
}
322326

323-
private loadRoomMessage({
324-
roomId,
325-
event,
326-
index,
327-
}: {
328-
roomId: string;
329-
event: MessageEvent | CommandEvent | CardMessageEvent;
330-
index: number;
331-
}) {
332-
if (event.content.msgtype === APP_BOXEL_CARDFRAGMENT_MSGTYPE) {
333-
this._fragmentCache.set(event.event_id, event.content);
334-
return;
335-
}
327+
private isCardFragmentEvent(
328+
event: MessageEvent | CommandEvent | CardMessageEvent,
329+
): event is CardMessageEvent & {
330+
content: { msgtype: typeof APP_BOXEL_CARDFRAGMENT_MSGTYPE };
331+
} {
332+
return event.content.msgtype === APP_BOXEL_CARDFRAGMENT_MSGTYPE;
333+
}
336334

337-
this.upsertMessage({ roomId, event, index });
335+
private async loadCardFragment(
336+
event: CardMessageEvent & {
337+
content: { msgtype: typeof APP_BOXEL_CARDFRAGMENT_MSGTYPE };
338+
},
339+
) {
340+
let eventId = event.event_id;
341+
this._fragmentCache.set(eventId, event.content);
338342
}
339343

340-
private upsertMessage({
344+
private loadRoomMessage({
341345
roomId,
342346
event,
343347
index,

0 commit comments

Comments
 (0)