Skip to content

Commit 6008560

Browse files
authored
Merge pull request #2173 from cardstack/reuse-room-resource
Don't create a new RoomResource for the Room component, use the one from MatrixService
2 parents 3b2b6f8 + 304b9ff commit 6008560

File tree

2 files changed

+20
-21
lines changed

2 files changed

+20
-21
lines changed

packages/host/app/components/ai-assistant/panel.gts

+8-5
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,14 @@ export default class AiAssistantPanel extends Component<Signature> {
188188
</div>
189189
{{else if this.isReady}}
190190
{{! below if statement is covered in 'isReady' check above but added due to glint not realizing it }}
191-
{{#if this.matrixService.currentRoomId}}
192-
<Room
193-
@roomId={{this.matrixService.currentRoomId}}
194-
@monacoSDK={{this.monacoSDK}}
195-
/>
191+
{{#if this.roomResource}}
192+
{{#if this.matrixService.currentRoomId}}
193+
<Room
194+
@roomId={{this.matrixService.currentRoomId}}
195+
@roomResource={{this.roomResource}}
196+
@monacoSDK={{this.monacoSDK}}
197+
/>
198+
{{/if}}
196199
{{/if}}
197200
{{else}}
198201
<LoadingIndicator

packages/host/app/components/matrix/room.gts

+12-16
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import UpdateSkillActivationCommand from '@cardstack/host/commands/update-skill-
3939
import { Message } from '@cardstack/host/lib/matrix-classes/message';
4040
import type { StackItem } from '@cardstack/host/lib/stack-item';
4141
import { getAutoAttachment } from '@cardstack/host/resources/auto-attached-card';
42-
import { getRoom } from '@cardstack/host/resources/room';
42+
import { RoomResource } from '@cardstack/host/resources/room';
4343

4444
import type CardService from '@cardstack/host/services/card-service';
4545
import type CommandService from '@cardstack/host/services/command-service';
@@ -67,6 +67,7 @@ import type { Skill } from '../ai-assistant/skill-menu';
6767
interface Signature {
6868
Args: {
6969
roomId: string;
70+
roomResource: RoomResource;
7071
monacoSDK: MonacoSDK;
7172
};
7273
}
@@ -78,7 +79,7 @@ export default class Room extends Component<Signature> {
7879
class='room'
7980
data-room-settled={{this.doWhenRoomChanges.isIdle}}
8081
data-test-room-settled={{this.doWhenRoomChanges.isIdle}}
81-
data-test-room-name={{this.roomResource.name}}
82+
data-test-room-name={{@roomResource.name}}
8283
data-test-room={{@roomId}}
8384
>
8485
<AiAssistantConversation
@@ -149,10 +150,10 @@ export default class Room extends Component<Signature> {
149150
@filesToAttach={{this.filesToAttach}}
150151
/>
151152
<LLMSelect
152-
@selected={{this.roomResource.activeLLM}}
153-
@onChange={{this.roomResource.activateLLM}}
153+
@selected={{@roomResource.activeLLM}}
154+
@onChange={{@roomResource.activateLLM}}
154155
@options={{this.supportedLLMs}}
155-
@disabled={{this.roomResource.isActivatingLLM}}
156+
@disabled={{@roomResource.isActivatingLLM}}
156157
/>
157158
</div>
158159
</div>
@@ -215,11 +216,6 @@ export default class Room extends Component<Signature> {
215216
@service private declare operatorModeStateService: OperatorModeStateService;
216217
@service private declare loaderService: LoaderService;
217218

218-
private roomResource = getRoom(
219-
this,
220-
() => this.args.roomId,
221-
() => this.matrixService.getRoomData(this.args.roomId)?.events,
222-
);
223219
private autoAttachmentResource = getAutoAttachment(
224220
this,
225221
() => this.topMostStackItems,
@@ -515,25 +511,25 @@ export default class Room extends Component<Signature> {
515511
};
516512

517513
private isDisplayingCode = (message: Message) => {
518-
return this.roomResource?.isDisplayingCode(message);
514+
return this.args.roomResource.isDisplayingCode(message);
519515
};
520516

521517
private toggleViewCode = (message: Message) => {
522-
this.roomResource.toggleViewCode(message);
518+
this.args.roomResource.toggleViewCode(message);
523519
};
524520

525521
private doMatrixEventFlush = restartableTask(async () => {
526522
await this.matrixService.flushMembership;
527523
await this.matrixService.flushTimeline;
528-
await this.roomResource.loading;
524+
await this.args.roomResource.loading;
529525
});
530526

531527
private get messages() {
532-
return this.roomResource.messages;
528+
return this.args.roomResource.messages;
533529
}
534530

535531
private get skills(): Skill[] {
536-
return this.roomResource.skills;
532+
return this.args.roomResource.skills;
537533
}
538534

539535
private get supportedLLMs(): string[] {
@@ -551,7 +547,7 @@ export default class Room extends Component<Signature> {
551547
}
552548

553549
private get room() {
554-
let room = this.roomResource.matrixRoom;
550+
let room = this.args.roomResource.matrixRoom;
555551
return room;
556552
}
557553

0 commit comments

Comments
 (0)