diff --git a/backend/openapi/components/parameters/room-fields.yaml b/backend/openapi/components/parameters/room-fields.yaml index 3244bf9..21bcb8f 100644 --- a/backend/openapi/components/parameters/room-fields.yaml +++ b/backend/openapi/components/parameters/room-fields.yaml @@ -6,4 +6,4 @@ description: > required: false schema: type: string -example: 'roomId,moderatorRoomUrl' +example: 'roomId,moderatorUrl' diff --git a/backend/openapi/components/responses/success-get-room.yaml b/backend/openapi/components/responses/success-get-room.yaml index 344b0da..5c5b1aa 100644 --- a/backend/openapi/components/responses/success-get-room.yaml +++ b/backend/openapi/components/responses/success-get-room.yaml @@ -18,8 +18,8 @@ content: enabled: false virtualBackgroundPreferences: enabled: true - moderatorRoomURL: 'http://localhost:6080/room/room-123?secret=123456' - speakerRoomURL: 'http://localhost:6080/room/room-123?secret=654321' + moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456' + speakerUrl: 'http://localhost:6080/room/room-123?secret=654321' fields=roomId: summary: Response with only the roomId @@ -41,8 +41,8 @@ content: virtualBackgroundPreferences: enabled: true - fields=moderatorRoomURL,speakerRoomURL: + fields=moderatorUrl,speakerUrl: summary: Response containing only moderator and speaker URLs value: - moderatorRoomURL: 'http://localhost:6080/room/room-123?secret=123456' - speakerRoomURL: 'http://localhost:6080/room/room-123?secret=654321' + moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456' + speakerUrl: 'http://localhost:6080/room/room-123?secret=654321' diff --git a/backend/openapi/components/responses/success-get-rooms.yaml b/backend/openapi/components/responses/success-get-rooms.yaml index 7f2d8ae..a5af9e6 100644 --- a/backend/openapi/components/responses/success-get-rooms.yaml +++ b/backend/openapi/components/responses/success-get-rooms.yaml @@ -27,8 +27,8 @@ content: enabled: false virtualBackgroundPreferences: enabled: true - moderatorRoomURL: 'http://localhost:6080/room/room-123?secret=123456' - speakerRoomURL: 'http://localhost:6080/room/room-123?secret=654321' + moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456' + speakerUrl: 'http://localhost:6080/room/room-123?secret=654321' - roomId: 'room-456' roomName: 'room' creationDate: 1620001000000 @@ -40,8 +40,8 @@ content: enabled: true virtualBackgroundPreferences: enabled: false - moderatorRoomURL: 'http://localhost:6080/room/room-456?secret=789012' - speakerRoomURL: 'http://localhost:6080/room/room-456?secret=210987' + moderatorUrl: 'http://localhost:6080/room/room-456?secret=789012' + speakerUrl: 'http://localhost:6080/room/room-456?secret=210987' pagination: isTruncated: false maxItems: 10 @@ -86,14 +86,14 @@ content: nextPageToken: 'abc123' maxItems: 10 - fields=moderatorRoomURL,speakerRoomURL: + fields=moderatorUrl,speakerUrl: summary: Response containing only moderator and speaker URLs value: rooms: - - moderatorRoomURL: 'http://localhost:6080/room/room-123?secret=123456' - speakerRoomURL: 'http://localhost:6080/room/room-123?secret=654321' - - moderatorRoomURL: 'http://localhost:6080/room/room-456?secret=789012' - speakerRoomURL: 'http://localhost:6080/room/room-456?secret=210987' + - moderatorUrl: 'http://localhost:6080/room/room-123?secret=123456' + speakerUrl: 'http://localhost:6080/room/room-123?secret=654321' + - moderatorUrl: 'http://localhost:6080/room/room-456?secret=789012' + speakerUrl: 'http://localhost:6080/room/room-456?secret=210987' pagination: isTruncated: false maxItems: 10 diff --git a/backend/openapi/components/schemas/meet-room.yaml b/backend/openapi/components/schemas/meet-room.yaml index 3fa1a90..a688859 100644 --- a/backend/openapi/components/schemas/meet-room.yaml +++ b/backend/openapi/components/schemas/meet-room.yaml @@ -39,13 +39,13 @@ properties: # description: > # The maximum number of participants allowed in the room. If the number of participants exceeds # this limit, new participants will not be allowed to join. - moderatorRoomURL: + moderatorUrl: type: string example: 'http://localhost:6080/room/room-123?secret=123456' description: > The URL for the moderator participants to join the room. The moderator role has special permissions to manage the room and participants. - speakerRoomURL: + speakerUrl: type: string example: 'http://localhost:6080/room/room-123?secret=654321' description: > diff --git a/backend/package-lock.json b/backend/package-lock.json index 65364d5..f9802d0 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -896,9 +896,9 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.804.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz", - "integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==", + "version": "3.873.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.873.0.tgz", + "integrity": "sha512-xcVhZF6svjM5Rj89T1WzkjQmrTF6dpR2UvIHPMTnSZoNe6CixejPZ6f0JJ2kAhO8H+dUHwNBlsUgOTIKiK/Syg==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -6227,9 +6227,9 @@ } }, "node_modules/browserslist": { - "version": "4.25.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz", - "integrity": "sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==", + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", "dev": true, "funding": [ { @@ -6247,8 +6247,8 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001733", - "electron-to-chromium": "^1.5.199", + "caniuse-lite": "^1.0.30001735", + "electron-to-chromium": "^1.5.204", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, @@ -6434,9 +6434,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001735", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz", - "integrity": "sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==", + "version": "1.0.30001737", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001737.tgz", + "integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==", "dev": true, "funding": [ { @@ -7517,9 +7517,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.203", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.203.tgz", - "integrity": "sha512-uz4i0vLhfm6dLZWbz/iH88KNDV+ivj5+2SA+utpgjKaj9Q0iDLuwk6Idhe9BTxciHudyx6IvTvijhkPvFGUQ0g==", + "version": "1.5.208", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.208.tgz", + "integrity": "sha512-ozZyibehoe7tOhNaf16lKmljVf+3npZcJIEbJRVftVsmAg5TeA1mGS9dVCZzOwr2xT7xK15V0p7+GZqSPgkuPg==", "dev": true, "license": "ISC" }, @@ -9652,9 +9652,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -12339,13 +12339,12 @@ } }, "node_modules/openapi-generate-html/node_modules/@apidevtools/json-schema-ref-parser": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-14.1.1.tgz", - "integrity": "sha512-uGF1YGOzzD50L7HLNWclXmsEhQflw8/zZHIz0/AzkJrKL5r9PceUipZxR/cp/8veTk4TVfdDJLyIwXLjaP5ePg==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-14.2.0.tgz", + "integrity": "sha512-NaGMMWwppbByagq+LwQMq6PMXHFWVu6kSwwx+eJfYTJ5zdpOvb9TIk6ZWxEEeXMUvGdVOZq3JalYsjsTZDvtkA==", "dev": true, "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.15", "js-yaml": "^4.1.0" }, "engines": { @@ -12353,6 +12352,9 @@ }, "funding": { "url": "https://github.com/sponsors/philsturgeon" + }, + "peerDependencies": { + "@types/json-schema": "^7.0.15" } }, "node_modules/openapi-generate-html/node_modules/commander": { @@ -14487,9 +14489,9 @@ } }, "node_modules/uint8array-extras": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.1.tgz", - "integrity": "sha512-+NWHrac9dvilNgme+gP4YrBSumsaMZP0fNBtXXFIf33RLLKEcBUKaQZ7ULUbS0sBfcjxIZ4V96OTRkCbM7hxpw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", + "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", "dev": true, "license": "MIT", "engines": { @@ -15043,9 +15045,9 @@ } }, "node_modules/yoctocolors-cjs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", - "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", "dev": true, "license": "MIT", "engines": { diff --git a/backend/src/helpers/room.helper.ts b/backend/src/helpers/room.helper.ts index 1259b88..be21fa5 100644 --- a/backend/src/helpers/room.helper.ts +++ b/backend/src/helpers/room.helper.ts @@ -27,18 +27,18 @@ export class MeetRoomHelper { * This method parses the 'secret' query parameter from both speaker and moderator * room URLs associated with the meeting room. * - * @param room - The MeetRoom object containing speakerRoomUrl and moderatorRoomUrl properties + * @param room - The MeetRoom object containing speakerUrl and moderatorUrl properties * @returns An object containing the extracted secrets with the following properties: * - speakerSecret: The secret extracted from the speaker room URL * - moderatorSecret: The secret extracted from the moderator room URL */ static extractSecretsFromRoom(room: MeetRoom): { speakerSecret: string; moderatorSecret: string } { - const { speakerRoomUrl, moderatorRoomUrl } = room; + const { speakerUrl, moderatorUrl } = room; - const speakerUrl = new URL(speakerRoomUrl); - const speakerSecret = speakerUrl.searchParams.get('secret') || ''; - const moderatorUrl = new URL(moderatorRoomUrl); - const moderatorSecret = moderatorUrl.searchParams.get('secret') || ''; + const parsedSpeakerUrl = new URL(speakerUrl); + const speakerSecret = parsedSpeakerUrl.searchParams.get('secret') || ''; + const parsedModeratorUrl = new URL(moderatorUrl); + const moderatorSecret = parsedModeratorUrl.searchParams.get('secret') || ''; return { speakerSecret, moderatorSecret }; } diff --git a/backend/src/services/room.service.ts b/backend/src/services/room.service.ts index 34f0ac5..31afe42 100644 --- a/backend/src/services/room.service.ts +++ b/backend/src/services/room.service.ts @@ -81,8 +81,8 @@ export class RoomService { // maxParticipants, autoDeletionDate, preferences, - moderatorRoomUrl: `${baseUrl}/room/${roomId}?secret=${secureUid(10)}`, - speakerRoomUrl: `${baseUrl}/room/${roomId}?secret=${secureUid(10)}` + moderatorUrl: `${baseUrl}/room/${roomId}?secret=${secureUid(10)}`, + speakerUrl: `${baseUrl}/room/${roomId}?secret=${secureUid(10)}` }; await this.storageService.saveMeetRoom(meetRoom); @@ -197,9 +197,9 @@ export class RoomService { const filteredRoom = UtilsHelper.filterObjectFields(meetRoom, fields); - // Remove moderatorRoomUrl if the participant is a speaker to prevent access to moderator links + // Remove moderatorUrl if the participant is a speaker to prevent access to moderator links if (participantRole === ParticipantRole.SPEAKER) { - delete filteredRoom.moderatorRoomUrl; + delete filteredRoom.moderatorUrl; } return filteredRoom as MeetRoom; diff --git a/backend/src/services/storage/storage.service.ts b/backend/src/services/storage/storage.service.ts index 57dc37d..a606ac2 100644 --- a/backend/src/services/storage/storage.service.ts +++ b/backend/src/services/storage/storage.service.ts @@ -311,8 +311,8 @@ export class MeetStorageService< } const archivedRoom: Partial = { - moderatorRoomUrl: room.moderatorRoomUrl, - speakerRoomUrl: room.speakerRoomUrl, + moderatorUrl: room.moderatorUrl, + speakerUrl: room.speakerUrl, preferences: { recordingPreferences: room.preferences?.recordingPreferences } diff --git a/backend/tests/helpers/assertion-helpers.ts b/backend/tests/helpers/assertion-helpers.ts index 1e8c46f..5d786e7 100644 --- a/backend/tests/helpers/assertion-helpers.ts +++ b/backend/tests/helpers/assertion-helpers.ts @@ -138,10 +138,10 @@ export const expectValidRoom = ( }); } - expect(room.moderatorRoomUrl).toBeDefined(); - expect(room.speakerRoomUrl).toBeDefined(); - expect(room.moderatorRoomUrl).toContain(room.roomId); - expect(room.speakerRoomUrl).toContain(room.roomId); + expect(room.moderatorUrl).toBeDefined(); + expect(room.speakerUrl).toBeDefined(); + expect(room.moderatorUrl).toContain(room.roomId); + expect(room.speakerUrl).toContain(room.roomId); if (markedForDeletion !== undefined) { expect(room.autoDeletionDate).toBeDefined(); diff --git a/backend/tests/integration/api/recordings/bulk-delete-recording.test.ts b/backend/tests/integration/api/recordings/bulk-delete-recording.test.ts index 40b4f13..d481d75 100644 --- a/backend/tests/integration/api/recordings/bulk-delete-recording.test.ts +++ b/backend/tests/integration/api/recordings/bulk-delete-recording.test.ts @@ -181,14 +181,14 @@ describe('Recording API Tests', () => { let roomMetadata = await meetStorageService.getArchivedRoomMetadata(room.roomId); expect(roomMetadata).toBeDefined(); - expect(roomMetadata!.moderatorRoomUrl).toContain(room.roomId); - expect(roomMetadata!.speakerRoomUrl).toContain(room.roomId); + expect(roomMetadata!.moderatorUrl).toContain(room.roomId); + expect(roomMetadata!.speakerUrl).toContain(room.roomId); roomMetadata = await meetStorageService.getArchivedRoomMetadata(room.roomId); expect(roomMetadata).toBeDefined(); - expect(roomMetadata!.moderatorRoomUrl).toContain(room.roomId); - expect(roomMetadata!.speakerRoomUrl).toContain(room.roomId); + expect(roomMetadata!.moderatorUrl).toContain(room.roomId); + expect(roomMetadata!.speakerUrl).toContain(room.roomId); const response = await startRecording(room.roomId, moderatorCookie); expectValidStartRecordingResponse(response, room.roomId, room.roomName); diff --git a/backend/tests/integration/api/recordings/delete-recording.test.ts b/backend/tests/integration/api/recordings/delete-recording.test.ts index 96dc1ee..45c7168 100644 --- a/backend/tests/integration/api/recordings/delete-recording.test.ts +++ b/backend/tests/integration/api/recordings/delete-recording.test.ts @@ -73,8 +73,8 @@ describe('Recording API Tests', () => { // Check that the room metadata exists after starting the first recording let roomMetadata = await meetStorageService.getArchivedRoomMetadata(room.roomId); expect(roomMetadata).toBeDefined(); - expect(roomMetadata!.moderatorRoomUrl).toContain(room.roomId); - expect(roomMetadata!.speakerRoomUrl).toContain(room.roomId); + expect(roomMetadata!.moderatorUrl).toContain(room.roomId); + expect(roomMetadata!.speakerUrl).toContain(room.roomId); // Generate a new recording const response = await startRecording(room.roomId, moderatorCookie); @@ -90,8 +90,8 @@ describe('Recording API Tests', () => { roomMetadata = await meetStorageService.getArchivedRoomMetadata(room.roomId); expect(roomMetadata).toBeDefined(); - expect(roomMetadata!.moderatorRoomUrl).toContain(room.roomId); - expect(roomMetadata!.speakerRoomUrl).toContain(room.roomId); + expect(roomMetadata!.moderatorUrl).toContain(room.roomId); + expect(roomMetadata!.speakerUrl).toContain(room.roomId); // Delete the second recording deleteResponse = await deleteRecording(secondRecordingId!); diff --git a/backend/tests/integration/api/recordings/start-recording.test.ts b/backend/tests/integration/api/recordings/start-recording.test.ts index 8b4a956..6922eaf 100644 --- a/backend/tests/integration/api/recordings/start-recording.test.ts +++ b/backend/tests/integration/api/recordings/start-recording.test.ts @@ -71,8 +71,8 @@ describe('Recording API Tests', () => { const archivedRoom = await storageService.getArchivedRoomMetadata(room.roomId); expect(archivedRoom).toBeDefined(); - expect(archivedRoom?.moderatorRoomUrl).toBeDefined(); - expect(archivedRoom?.speakerRoomUrl).toBeDefined(); + expect(archivedRoom?.moderatorUrl).toBeDefined(); + expect(archivedRoom?.speakerUrl).toBeDefined(); expect(archivedRoom?.preferences).toBeDefined(); const secretsResponse = await stopRecording(recordingId, moderatorCookie); diff --git a/backend/tests/integration/api/rooms/get-room.test.ts b/backend/tests/integration/api/rooms/get-room.test.ts index 833102b..3aae58d 100644 --- a/backend/tests/integration/api/rooms/get-room.test.ts +++ b/backend/tests/integration/api/rooms/get-room.test.ts @@ -97,7 +97,7 @@ describe('Room API Tests', () => { expectSuccessRoomResponse(response, 'deletion-date', validAutoDeletionDate); }); - it('should retrieve a room without moderatorRoomUrl when participant is speaker', async () => { + it('should retrieve a room without moderatorUrl when participant is speaker', async () => { const roomData = await setupSingleRoom(); const response = await getRoom( roomData.room.roomId, @@ -106,7 +106,7 @@ describe('Room API Tests', () => { ParticipantRole.SPEAKER ); expect(response.status).toBe(200); - expect(response.body.moderatorRoomUrl).toBeUndefined(); + expect(response.body.moderatorUrl).toBeUndefined(); }); it('should return 404 for a non-existent room', async () => { diff --git a/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/room-wizard/room-wizard.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/room-wizard/room-wizard.component.ts index 05fbf32..22a9dd9 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/room-wizard/room-wizard.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/room-wizard/room-wizard.component.ts @@ -130,8 +130,8 @@ export class RoomWizardComponent implements OnInit { async createRoom(roomName?: string) { try { // Call the room service to create a new room - const { moderatorRoomUrl } = await this.roomService.createRoom({ roomName }); - await this.navigationService.redirectTo(moderatorRoomUrl); + const { moderatorUrl } = await this.roomService.createRoom({ roomName }); + await this.navigationService.redirectTo(moderatorUrl); } catch (error) { const errorMessage = `Failed to create room ${roomName}`; this.notificationService.showSnackbar(errorMessage); @@ -157,8 +157,8 @@ export class RoomWizardComponent implements OnInit { this.notificationService.showSnackbar('Room updated successfully'); } else { // Create new room - const { moderatorRoomUrl } = await this.roomService.createRoom(roomOptions); - await this.navigationService.redirectTo(moderatorRoomUrl); + const { moderatorUrl } = await this.roomService.createRoom(roomOptions); + await this.navigationService.redirectTo(moderatorUrl); } } catch (error) { const errorMessage = `Failed to ${this.editMode ? 'update' : 'create'} room`; diff --git a/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/rooms.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/rooms.component.ts index 01436d4..bb64330 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/rooms.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/console/rooms/rooms.component.ts @@ -233,7 +233,7 @@ export class RoomsComponent implements OnInit { } private openRoom(room: MeetRoom) { - window.open(room.moderatorRoomUrl, '_blank'); + window.open(room.moderatorUrl, '_blank'); } private async editRoomPreferences(room: MeetRoom) { @@ -254,12 +254,12 @@ export class RoomsComponent implements OnInit { } private copyModeratorLink(room: MeetRoom) { - this.clipboard.copy(room.moderatorRoomUrl); + this.clipboard.copy(room.moderatorUrl); this.notificationService.showSnackbar('Moderator link copied to clipboard'); } private copySpeakerLink(room: MeetRoom) { - this.clipboard.copy(room.speakerRoomUrl); + this.clipboard.copy(room.speakerUrl); this.notificationService.showSnackbar('Speaker link copied to clipboard'); } diff --git a/frontend/projects/shared-meet-components/src/lib/pages/meeting/meeting.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/meeting/meeting.component.ts index ef5e364..69ee066 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/meeting/meeting.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/meeting/meeting.component.ts @@ -519,11 +519,7 @@ export class MeetingComponent implements OnInit { if (!this.participantService.isModeratorParticipant()) return; try { - await this.meetingService.changeParticipantRole( - this.roomId, - participant.identity, - ParticipantRole.SPEAKER - ); + await this.meetingService.changeParticipantRole(this.roomId, participant.identity, ParticipantRole.SPEAKER); } catch (error) { console.error('Error unmaking participant moderator:', error); this.notificationService.showSnackbar('Failed to unmake participant moderator'); @@ -531,12 +527,12 @@ export class MeetingComponent implements OnInit { } async copyModeratorLink() { - this.clipboard.copy(this.room!.moderatorRoomUrl); + this.clipboard.copy(this.room!.moderatorUrl); this.notificationService.showSnackbar('Moderator link copied to clipboard'); } async copySpeakerLink() { - this.clipboard.copy(this.room!.speakerRoomUrl); + this.clipboard.copy(this.room!.speakerUrl); this.notificationService.showSnackbar('Speaker link copied to clipboard'); } diff --git a/testapp/public/views/index.mustache b/testapp/public/views/index.mustache index 7daabd8..cabe920 100644 --- a/testapp/public/views/index.mustache +++ b/testapp/public/views/index.mustache @@ -68,7 +68,7 @@