Skip to content
Snippets Groups Projects
Unverified Commit 72a34a02 authored by gabriellsh's avatar gabriellsh Committed by GitHub
Browse files

fix(meteor): Close video recorder if permission denied (#30054)

parent df64d55f
No related branches found
No related tags found
No related merge requests found
---
"@rocket.chat/meteor": patch
---
fixed the video recorder window not closing after permission is denied.
import type { IMessage, IRoom } from '@rocket.chat/core-typings';
import { css } from '@rocket.chat/css-in-js';
import { Box, ButtonGroup, Button, Icon, PositionAnimated } from '@rocket.chat/fuselage';
import { useMutableCallback } from '@rocket.chat/fuselage-hooks';
import { useTranslation, useToastMessageDispatch } from '@rocket.chat/ui-contexts';
import type { AllHTMLAttributes, RefObject } from 'react';
import React, { useRef, useEffect, useState } from 'react';
......@@ -94,24 +95,24 @@ const VideoMessageRecorder = ({ rid, tmid, chatContext, reference }: VideoMessag
stopVideoRecording(rid, tmid);
};
const handleCancel = () => {
const handleCancel = useMutableCallback(() => {
VideoRecorder.stop();
chat?.composer?.setRecordingVideo(false);
setTime(undefined);
stopVideoRecording(rid, tmid);
};
});
useEffect(() => {
if (!VideoRecorder.getSupportedMimeTypes()) {
return dispatchToastMessage({ type: 'error', message: t('Browser_does_not_support_recording_video') });
}
VideoRecorder.start(videoRef.current ?? undefined);
VideoRecorder.start(videoRef.current ?? undefined, (success) => (!success ? handleCancel() : undefined));
return () => {
VideoRecorder.stop();
};
}, [dispatchToastMessage, t]);
}, [dispatchToastMessage, handleCancel, t]);
return (
<PositionAnimated visible='visible' anchor={reference} placement='top-end'>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment