From 0c2b76d754c3a61d4fb89d6b7ced7473e2faae4a Mon Sep 17 00:00:00 2001 From: juancarmore Date: Wed, 18 Jun 2025 12:10:02 +0200 Subject: [PATCH] frontend: fix missing secret error when reloading room recordings page by extracting secret from session storage --- .../src/lib/guards/extract-query-params.guard.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/frontend/projects/shared-meet-components/src/lib/guards/extract-query-params.guard.ts b/frontend/projects/shared-meet-components/src/lib/guards/extract-query-params.guard.ts index 7275235..186bf48 100644 --- a/frontend/projects/shared-meet-components/src/lib/guards/extract-query-params.guard.ts +++ b/frontend/projects/shared-meet-components/src/lib/guards/extract-query-params.guard.ts @@ -1,6 +1,6 @@ import { inject } from '@angular/core'; import { ActivatedRouteSnapshot, CanActivateFn } from '@angular/router'; -import { ContextService, NavigationService } from '../services'; +import { ContextService, NavigationService, SessionStorageService } from '../services'; import { ErrorReason } from '@lib/models/navigation.model'; export const extractRoomQueryParamsGuard: CanActivateFn = (route: ActivatedRouteSnapshot) => { @@ -32,9 +32,12 @@ export const extractRoomQueryParamsGuard: CanActivateFn = (route: ActivatedRoute export const extractRecordingQueryParamsGuard: CanActivateFn = (route: ActivatedRouteSnapshot) => { const navigationService = inject(NavigationService); const contextService = inject(ContextService); - const { roomId, secret } = extractParams(route); + const sessionStorageService = inject(SessionStorageService); - if (!secret) { + const { roomId, secret } = extractParams(route); + const storedSecret = sessionStorageService.getModeratorSecret(roomId); + + if (!secret && !storedSecret) { // If no secret is provided, redirect to the error page return navigationService.createRedirectionToErrorPage(ErrorReason.MISSING_ROOM_SECRET); }