From f5e18fc11d98d28a831ab901b63afbc6f8f87dfd Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Tue, 25 Apr 2023 12:40:21 +0200 Subject: [PATCH] openvidu-components: Fixed video recording cache The browser was storing the play recording request on cache . Adding a query parameter which is updated each time fix this problem --- .../src/lib/services/recording/recording.service.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/recording/recording.service.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/recording/recording.service.ts index ad7134ce..6c7ccc11 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/recording/recording.service.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/recording/recording.service.ts @@ -19,7 +19,6 @@ export class RecordingService { private recordingStatus = >new BehaviorSubject(undefined); private baseUrl = '/' + (!!window.location.pathname.split('/')[1] ? window.location.pathname.split('/')[1] + '/' : ''); - /** * @internal */ @@ -72,7 +71,10 @@ export class RecordingService { const recordingId = recording.id; // Only COMPOSED recording is supported. The extension will allways be 'mp4'. const extension = 'mp4'; //recording.url?.split('.').pop() || 'mp4'; - this.actionService.openRecordingPlayerDialog(`${this.baseUrl}recordings/${recordingId}/${recordingId}.${extension}`); + const queryParamForAvoidCache = `?t=${new Date().getTime()}`; + this.actionService.openRecordingPlayerDialog( + `${this.baseUrl}recordings/${recordingId}/${recordingId}.${extension}${queryParamForAvoidCache}` + ); } /** @@ -106,7 +108,7 @@ export class RecordingService { this.recordingTime = new Date(); this.recordingTime.setHours(0, 0, 0, 0); this.recordingTimeInterval = setInterval(() => { - if(this.recordingTime) { + if (this.recordingTime) { this.recordingTime.setSeconds(this.recordingTime.getSeconds() + 1); this.recordingTime = new Date(this.recordingTime.getTime()); this.recordingStatus.next({ info: this.currentRecording, time: this.recordingTime });