From b1d6e1f9356f597bdecf5dcf6b6c0279f1dd911c Mon Sep 17 00:00:00 2001 From: Luke Melia Date: Wed, 19 Feb 2025 17:56:12 -0500 Subject: [PATCH 1/2] Don't create a new RoomResource for the Room component, use the one from MatrixService --- .../app/components/ai-assistant/panel.gts | 3 +- packages/host/app/components/matrix/room.gts | 28 ++++++++----------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/packages/host/app/components/ai-assistant/panel.gts b/packages/host/app/components/ai-assistant/panel.gts index d5175746de..749eb4d589 100644 --- a/packages/host/app/components/ai-assistant/panel.gts +++ b/packages/host/app/components/ai-assistant/panel.gts @@ -188,9 +188,10 @@ export default class AiAssistantPanel extends Component { {{else if this.isReady}} {{! below if statement is covered in 'isReady' check above but added due to glint not realizing it }} - {{#if this.matrixService.currentRoomId}} + {{#if this.roomResource}} {{/if}} diff --git a/packages/host/app/components/matrix/room.gts b/packages/host/app/components/matrix/room.gts index 3ccde8d910..de1b45a0d7 100644 --- a/packages/host/app/components/matrix/room.gts +++ b/packages/host/app/components/matrix/room.gts @@ -39,7 +39,7 @@ import UpdateSkillActivationCommand from '@cardstack/host/commands/update-skill- import { Message } from '@cardstack/host/lib/matrix-classes/message'; import type { StackItem } from '@cardstack/host/lib/stack-item'; import { getAutoAttachment } from '@cardstack/host/resources/auto-attached-card'; -import { getRoom } from '@cardstack/host/resources/room'; +import { RoomResource, getRoom } from '@cardstack/host/resources/room'; import type CardService from '@cardstack/host/services/card-service'; import type CommandService from '@cardstack/host/services/command-service'; @@ -67,6 +67,7 @@ import type { Skill } from '../ai-assistant/skill-menu'; interface Signature { Args: { roomId: string; + roomResource: RoomResource; monacoSDK: MonacoSDK; }; } @@ -78,7 +79,7 @@ export default class Room extends Component { class='room' data-room-settled={{this.doWhenRoomChanges.isIdle}} data-test-room-settled={{this.doWhenRoomChanges.isIdle}} - data-test-room-name={{this.roomResource.name}} + data-test-room-name={{@roomResource.name}} data-test-room={{@roomId}} > { @filesToAttach={{this.filesToAttach}} /> @@ -215,11 +216,6 @@ export default class Room extends Component { @service private declare operatorModeStateService: OperatorModeStateService; @service private declare loaderService: LoaderService; - private roomResource = getRoom( - this, - () => this.args.roomId, - () => this.matrixService.getRoomData(this.args.roomId)?.events, - ); private autoAttachmentResource = getAutoAttachment( this, () => this.topMostStackItems, @@ -515,25 +511,25 @@ export default class Room extends Component { }; private isDisplayingCode = (message: Message) => { - return this.roomResource?.isDisplayingCode(message); + return this.args.roomResource.isDisplayingCode(message); }; private toggleViewCode = (message: Message) => { - this.roomResource.toggleViewCode(message); + this.args.roomResource.toggleViewCode(message); }; private doMatrixEventFlush = restartableTask(async () => { await this.matrixService.flushMembership; await this.matrixService.flushTimeline; - await this.roomResource.loading; + await this.args.roomResource.loading; }); private get messages() { - return this.roomResource.messages; + return this.args.roomResource.messages; } private get skills(): Skill[] { - return this.roomResource.skills; + return this.args.roomResource.skills; } private get supportedLLMs(): string[] { @@ -551,7 +547,7 @@ export default class Room extends Component { } private get room() { - let room = this.roomResource.matrixRoom; + let room = this.args.roomResource.matrixRoom; return room; } From 304b9ff5bcbf9d7535a423902f0239400f179b4d Mon Sep 17 00:00:00 2001 From: Luke Melia Date: Wed, 19 Feb 2025 18:08:15 -0500 Subject: [PATCH 2/2] Lint fixes --- packages/host/app/components/ai-assistant/panel.gts | 12 +++++++----- packages/host/app/components/matrix/room.gts | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/host/app/components/ai-assistant/panel.gts b/packages/host/app/components/ai-assistant/panel.gts index 749eb4d589..cd976da5b5 100644 --- a/packages/host/app/components/ai-assistant/panel.gts +++ b/packages/host/app/components/ai-assistant/panel.gts @@ -189,11 +189,13 @@ export default class AiAssistantPanel extends Component { {{else if this.isReady}} {{! below if statement is covered in 'isReady' check above but added due to glint not realizing it }} {{#if this.roomResource}} - + {{#if this.matrixService.currentRoomId}} + + {{/if}} {{/if}} {{else}}