Add feature flag for call remote mute send

This commit is contained in:
ayumi-signal
2026-03-04 11:18:11 -08:00
committed by GitHub
parent 51c45f7178
commit ed8d4bca32
2 changed files with 16 additions and 3 deletions

View File

@@ -48,6 +48,8 @@ const SemverKeys = [
'desktop.plaintextExport.prod',
'desktop.remoteMegaphone.beta',
'desktop.remoteMegaphone.prod',
'desktop.remoteMute.send.beta',
'desktop.remoteMute.send.prod',
'desktop.retireAccessKeyGroupSend.beta',
'desktop.retireAccessKeyGroupSend.prod',
'desktop.keyTransparency.beta',

View File

@@ -4,8 +4,8 @@
import React, { memo, useCallback, useMemo } from 'react';
import { useSelector } from 'react-redux';
import { ContactModal } from '../../components/conversation/ContactModal.dom.js';
import { getAreWeASubscriber } from '../selectors/items.dom.js';
import { getIntl, getTheme } from '../selectors/user.std.js';
import { getAreWeASubscriber, getItems } from '../selectors/items.dom.js';
import { getIntl, getTheme, getVersion } from '../selectors/user.std.js';
import { getBadgesSelector } from '../selectors/badges.preload.js';
import {
getCachedConversationMemberColorsSelector,
@@ -26,6 +26,7 @@ import { getContactModalState } from '../selectors/globalModals.std.js';
import { strictAssert } from '../../util/assert.std.js';
import { CallMode } from '../../types/CallDisposition.std.js';
import { isCallLinkAdmin } from '../../types/CallLink.std.js';
import { isFeaturedEnabledSelector } from '../../util/isFeatureEnabled.dom.js';
export const SmartContactModal = memo(function SmartContactModal() {
const i18n = useSelector(getIntl);
@@ -35,11 +36,21 @@ export const SmartContactModal = memo(function SmartContactModal() {
const conversationSelector = useSelector(getConversationSelector);
const hasStoriesSelector = useSelector(getHasStoriesSelector);
const version = useSelector(getVersion);
const items = useSelector(getItems);
const isRemoteMuteSendEnabled = isFeaturedEnabledSelector({
betaKey: 'desktop.remoteMute.send.beta',
currentVersion: version,
remoteConfig: items.remoteConfig,
prodKey: 'desktop.remoteMute.send.prod',
});
const activeCallState = useSelector(getActiveCallState);
const isInFullScreenCall = useSelector(getIsInFullScreenCall);
const getCallParticipant = useSelector(getParticipantInActiveCall);
const callParticipant = getCallParticipant(activeCallDemuxId);
const isRemoteMuteVisible = Boolean(callParticipant);
const isRemoteMuteVisible =
isRemoteMuteSendEnabled && Boolean(callParticipant);
const isMuted = !callParticipant?.hasRemoteAudio;
const callLinkSelector = useSelector(getCallLinkSelector);