fix: properly set new room to be encrypted according to server settings (#5176)
Co-authored-by: Reinaldo Neto <reinaldonetof@hotmail.com>
This commit is contained in:
parent
9f8799d729
commit
cc553b05f6
|
@ -102,6 +102,9 @@ export const defaultSettings = {
|
||||||
E2E_Enable: {
|
E2E_Enable: {
|
||||||
type: 'valueAsBoolean'
|
type: 'valueAsBoolean'
|
||||||
},
|
},
|
||||||
|
E2E_Enabled_Default_PrivateRooms: {
|
||||||
|
type: 'valueAsBoolean'
|
||||||
|
},
|
||||||
Accounts_Directory_DefaultView: {
|
Accounts_Directory_DefaultView: {
|
||||||
type: 'valueAsString'
|
type: 'valueAsString'
|
||||||
},
|
},
|
||||||
|
|
|
@ -21,7 +21,8 @@ const serverInfoKeys = [
|
||||||
'Force_Screen_Lock',
|
'Force_Screen_Lock',
|
||||||
'Force_Screen_Lock_After',
|
'Force_Screen_Lock_After',
|
||||||
'uniqueID',
|
'uniqueID',
|
||||||
'E2E_Enable'
|
'E2E_Enable',
|
||||||
|
'E2E_Enabled_Default_PrivateRooms'
|
||||||
];
|
];
|
||||||
|
|
||||||
// these settings are used only on onboarding process
|
// these settings are used only on onboarding process
|
||||||
|
@ -85,6 +86,9 @@ const serverInfoUpdate = async (serverInfo: IPreparedSettings[], iconSetting: IS
|
||||||
if (setting._id === 'E2E_Enable') {
|
if (setting._id === 'E2E_Enable') {
|
||||||
return { ...allSettings, E2E_Enable: setting.valueAsBoolean };
|
return { ...allSettings, E2E_Enable: setting.valueAsBoolean };
|
||||||
}
|
}
|
||||||
|
if (setting._id === 'E2E_Enabled_Default_PrivateRooms') {
|
||||||
|
return { ...allSettings, E2E_Enabled_Default_PrivateRooms: setting.valueAsBoolean };
|
||||||
|
}
|
||||||
return allSettings;
|
return allSettings;
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
|
|
|
@ -13,16 +13,18 @@ export const RoomSettings = ({
|
||||||
isTeam,
|
isTeam,
|
||||||
setValue,
|
setValue,
|
||||||
createChannelPermission,
|
createChannelPermission,
|
||||||
createPrivateChannelPermission
|
createPrivateChannelPermission,
|
||||||
|
e2eEnabledDefaultPrivateRooms
|
||||||
}: {
|
}: {
|
||||||
isTeam: boolean;
|
isTeam: boolean;
|
||||||
setValue: UseFormSetValue<IFormData>;
|
setValue: UseFormSetValue<IFormData>;
|
||||||
createChannelPermission: boolean;
|
createChannelPermission: boolean;
|
||||||
createPrivateChannelPermission: boolean;
|
createPrivateChannelPermission: boolean;
|
||||||
|
e2eEnabledDefaultPrivateRooms: boolean;
|
||||||
}) => {
|
}) => {
|
||||||
const [type, setType] = useState(true);
|
const [type, setType] = useState(true);
|
||||||
const [readOnly, setReadOnly] = useState(false);
|
const [readOnly, setReadOnly] = useState(false);
|
||||||
const [encrypted, setEncrypted] = useState(false);
|
const [encrypted, setEncrypted] = useState(e2eEnabledDefaultPrivateRooms);
|
||||||
const [broadcast, setBroadcast] = useState(false);
|
const [broadcast, setBroadcast] = useState(false);
|
||||||
|
|
||||||
const { encryptionEnabled } = useAppSelector(state => ({
|
const { encryptionEnabled } = useAppSelector(state => ({
|
||||||
|
|
|
@ -68,13 +68,29 @@ export interface IFormData {
|
||||||
const CreateChannelView = () => {
|
const CreateChannelView = () => {
|
||||||
const [createChannelPermission, createPrivateChannelPermission] = usePermissions(['create-c', 'create-p']);
|
const [createChannelPermission, createPrivateChannelPermission] = usePermissions(['create-c', 'create-p']);
|
||||||
|
|
||||||
|
const { isFetching, useRealName, users, e2eEnabledDefaultPrivateRooms } = useAppSelector(
|
||||||
|
state => ({
|
||||||
|
isFetching: state.createChannel.isFetching,
|
||||||
|
users: state.selectedUsers.users,
|
||||||
|
useRealName: state.settings.UI_Use_Real_Name as boolean,
|
||||||
|
e2eEnabledDefaultPrivateRooms: state.encryption.enabled && (state.settings.E2E_Enabled_Default_PrivateRooms as boolean)
|
||||||
|
}),
|
||||||
|
shallowEqual
|
||||||
|
);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
control,
|
control,
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
formState: { isDirty },
|
formState: { isDirty },
|
||||||
setValue
|
setValue
|
||||||
} = useForm<IFormData>({
|
} = useForm<IFormData>({
|
||||||
defaultValues: { channelName: '', broadcast: false, encrypted: false, readOnly: false, type: createPrivateChannelPermission }
|
defaultValues: {
|
||||||
|
channelName: '',
|
||||||
|
broadcast: false,
|
||||||
|
encrypted: e2eEnabledDefaultPrivateRooms,
|
||||||
|
readOnly: false,
|
||||||
|
type: createPrivateChannelPermission
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const navigation = useNavigation<StackNavigationProp<ChatsStackParamList, 'CreateChannelView'>>();
|
const navigation = useNavigation<StackNavigationProp<ChatsStackParamList, 'CreateChannelView'>>();
|
||||||
|
@ -84,15 +100,6 @@ const CreateChannelView = () => {
|
||||||
const { colors } = useTheme();
|
const { colors } = useTheme();
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
|
|
||||||
const { isFetching, useRealName, users } = useAppSelector(
|
|
||||||
state => ({
|
|
||||||
isFetching: state.createChannel.isFetching,
|
|
||||||
users: state.selectedUsers.users,
|
|
||||||
useRealName: state.settings.UI_Use_Real_Name as boolean
|
|
||||||
}),
|
|
||||||
shallowEqual
|
|
||||||
);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
sendLoadingEvent({ visible: isFetching });
|
sendLoadingEvent({ visible: isFetching });
|
||||||
}, [isFetching]);
|
}, [isFetching]);
|
||||||
|
@ -154,6 +161,7 @@ const CreateChannelView = () => {
|
||||||
createPrivateChannelPermission={createPrivateChannelPermission}
|
createPrivateChannelPermission={createPrivateChannelPermission}
|
||||||
isTeam={isTeam}
|
isTeam={isTeam}
|
||||||
setValue={setValue}
|
setValue={setValue}
|
||||||
|
e2eEnabledDefaultPrivateRooms={e2eEnabledDefaultPrivateRooms}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
{users.length > 0 ? (
|
{users.length > 0 ? (
|
||||||
|
|
Loading…
Reference in New Issue