Skip to content

Commit 0d82303

Browse files
author
MargeBot
committed
Merge branch 'recording-supported' into 'main'
avoid loading recording module and codec when recording is not supported See merge request web/clients!25325
2 parents 05c948f + 5d123e5 commit 0d82303

3 files changed

Lines changed: 12 additions & 4 deletions

File tree

applications/meet/src/app/components/RecordingControls/RecordingControls.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {
1616
} from '@proton/meet/store/slices/recordingStatusSlice';
1717
import { selectSubscriptionStatus } from '@proton/meet/store/slices/userSlice';
1818
import { PLANS } from '@proton/payments/core/constants';
19-
import { isFirefox, isMobile } from '@proton/shared/lib/helpers/browser';
19+
import { isFirefox } from '@proton/shared/lib/helpers/browser';
2020
import { dateLocale } from '@proton/shared/lib/i18n';
2121
import IcCircleRadioFilled from '@proton/styles/assets/img/meet/ic-circle-radio-filled.svg';
2222
import { useFlag } from '@proton/unleash/useFlag';
@@ -26,6 +26,7 @@ import { CircleButton } from '../../atoms/CircleButton/CircleButton';
2626
import { useMeetingRecorderContext } from '../../contexts/MeetingRecorderContext';
2727
import { useIsLargerThanMd } from '../../hooks/useIsLargerThanMd';
2828
import { useIsLocalParticipantAdmin } from '../../hooks/useIsLocalParticipantAdmin';
29+
import { useIsRecordingSupported } from '../../hooks/useMeetingRecorderNew/hooks/useIsRecordingSupported';
2930
import { ScreenRecordingUpsell } from '../AnonymousModal/feature-upsell/ScreenRecordingUpsell';
3031
import { SubUserScreenRecordingUpsell } from '../AnonymousModal/feature-upsell/SubUserScreenRecordingUpsell';
3132
import { ConfirmationModal } from '../ConfirmationModal/ConfirmationModal';
@@ -93,7 +94,7 @@ export const RecordingControls = () => {
9394
const { isPaidUser, isSubUser } = useMeetSelector(selectSubscriptionStatus);
9495
const isGuestAdmin = useMeetSelector(selectIsGuestAdmin);
9596

96-
const recordingNotSupported = isMobile() || isFirefox();
97+
const isRecordingSupported = useIsRecordingSupported();
9798

9899
const hasAdminPermission = isLocalParticipantAdmin || isLocalParticipantHost || isGuestAdmin;
99100

@@ -136,7 +137,7 @@ export const RecordingControls = () => {
136137
return null;
137138
}
138139

139-
if (recordingNotSupported) {
140+
if (!isRecordingSupported) {
140141
if (isFirefox()) {
141142
return (
142143
<CircleButton
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { isFirefox, isMobile } from '@proton/shared/lib/helpers/browser';
2+
3+
export const useIsRecordingSupported = () => {
4+
return !isFirefox() && !isMobile();
5+
};

applications/meet/src/app/hooks/useMeetingRecorderNew/useMeetingRecorder.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import { useIsLargerThanMd } from '../useIsLargerThanMd';
2424
import { useIsNarrowHeight } from '../useIsNarrowHeight';
2525
import { useStableCallback } from '../useStableCallback';
2626
import { useHaveRecordingPermissions } from './hooks/useHaveRecordingPermissions';
27+
import { useIsRecordingSupported } from './hooks/useIsRecordingSupported';
2728
import { useRecordedTracks } from './hooks/useRecordedTracks';
2829
import { useRecordingCodec } from './hooks/useRecordingCodec';
2930
import { useRecordingScene } from './hooks/useRecordingScene';
@@ -33,7 +34,8 @@ import { RecordingSession } from './recordingSession/recordingSession';
3334

3435
export const useMeetingRecorder = () => {
3536
const hasRecordingPermissions = useHaveRecordingPermissions();
36-
const recordingCodec = useRecordingCodec(hasRecordingPermissions);
37+
const isRecordingSupported = useIsRecordingSupported();
38+
const recordingCodec = useRecordingCodec(hasRecordingPermissions && isRecordingSupported);
3739

3840
const room = useRoomContext();
3941
const dispatch = useMeetDispatch();

0 commit comments

Comments
 (0)