Remove CDS feature flag

This commit is contained in:
Evan Hahn 2021-04-26 13:15:00 -05:00 committed by Scott Nonnenberg
parent e77dcf7f85
commit 013923d3c1
3 changed files with 67 additions and 73 deletions

View file

@ -1,11 +1,10 @@
// Copyright 2020 Signal Messenger, LLC // Copyright 2020-2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only // SPDX-License-Identifier: AGPL-3.0-only
import { get, throttle } from 'lodash'; import { get, throttle } from 'lodash';
import { WebAPIType } from './textsecure/WebAPI'; import { WebAPIType } from './textsecure/WebAPI';
export type ConfigKeyType = export type ConfigKeyType =
| 'desktop.cds'
| 'desktop.clientExpiration' | 'desktop.clientExpiration'
| 'desktop.disableGV1' | 'desktop.disableGV1'
| 'desktop.groupCalling' | 'desktop.groupCalling'

View file

@ -1755,40 +1755,38 @@ export async function startApp(): Promise<void> {
} }
try { try {
if (window.Signal.RemoteConfig.isEnabled('desktop.cds')) { const lonelyE164s = window
const lonelyE164s = window .getConversations()
.getConversations() .filter(c =>
.filter(c => Boolean(
Boolean( c.isPrivate() &&
c.isPrivate() && c.get('e164') &&
c.get('e164') && !c.get('uuid') &&
!c.get('uuid') && !c.isEverUnregistered()
!c.isEverUnregistered()
)
) )
.map(c => c.get('e164')) )
.filter(Boolean) as Array<string>; .map(c => c.get('e164'))
.filter(Boolean) as Array<string>;
if (lonelyE164s.length > 0) { if (lonelyE164s.length > 0) {
const lookup = await window.textsecure.messaging.getUuidsForE164s( const lookup = await window.textsecure.messaging.getUuidsForE164s(
lonelyE164s lonelyE164s
); );
const e164s = Object.keys(lookup); const e164s = Object.keys(lookup);
e164s.forEach(e164 => { e164s.forEach(e164 => {
const uuid = lookup[e164]; const uuid = lookup[e164];
if (!uuid) { if (!uuid) {
const byE164 = window.ConversationController.get(e164); const byE164 = window.ConversationController.get(e164);
if (byE164) { if (byE164) {
byE164.setUnregistered(); byE164.setUnregistered();
}
} }
window.ConversationController.ensureContactIds({ }
e164, window.ConversationController.ensureContactIds({
uuid, e164,
highTrust: true, uuid,
}); highTrust: true,
}); });
} });
} }
} catch (error) { } catch (error) {
window.log.error( window.log.error(

View file

@ -23,7 +23,6 @@ import {
} from 'libsignal-client'; } from 'libsignal-client';
import { ServerKeysType, WebAPIType } from './WebAPI'; import { ServerKeysType, WebAPIType } from './WebAPI';
import { isEnabled as isRemoteFlagEnabled } from '../RemoteConfig';
import { ContentClass, DataMessageClass } from '../textsecure.d'; import { ContentClass, DataMessageClass } from '../textsecure.d';
import { import {
CallbackResultType, CallbackResultType,
@ -645,49 +644,47 @@ export default class OutgoingMessage {
async sendToIdentifier(providedIdentifier: string): Promise<void> { async sendToIdentifier(providedIdentifier: string): Promise<void> {
let identifier = providedIdentifier; let identifier = providedIdentifier;
try { try {
if (isRemoteFlagEnabled('desktop.cds')) { if (window.isValidGuid(identifier)) {
if (window.isValidGuid(identifier)) { // We're good!
// We're good! } else if (isValidNumber(identifier)) {
} else if (isValidNumber(identifier)) { if (!window.textsecure.messaging) {
if (!window.textsecure.messaging) {
throw new Error(
'sendToIdentifier: window.textsecure.messaging is not available!'
);
}
try {
const lookup = await window.textsecure.messaging.getUuidsForE164s([
identifier,
]);
const uuid = lookup[identifier];
if (uuid) {
window.ConversationController.ensureContactIds({
uuid,
e164: identifier,
highTrust: true,
});
identifier = uuid;
} else {
const c = window.ConversationController.get(identifier);
if (c) {
c.setUnregistered();
}
throw new UnregisteredUserError(
identifier,
new Error('User is not registered')
);
}
} catch (error) {
window.log.error(
`sentToIdentifier: Failed to fetch UUID for identifier ${identifier}`,
error && error.stack ? error.stack : error
);
}
} else {
throw new Error( throw new Error(
`sendToIdentifier: identifier ${identifier} was neither a UUID or E164` 'sendToIdentifier: window.textsecure.messaging is not available!'
); );
} }
try {
const lookup = await window.textsecure.messaging.getUuidsForE164s([
identifier,
]);
const uuid = lookup[identifier];
if (uuid) {
window.ConversationController.ensureContactIds({
uuid,
e164: identifier,
highTrust: true,
});
identifier = uuid;
} else {
const c = window.ConversationController.get(identifier);
if (c) {
c.setUnregistered();
}
throw new UnregisteredUserError(
identifier,
new Error('User is not registered')
);
}
} catch (error) {
window.log.error(
`sentToIdentifier: Failed to fetch UUID for identifier ${identifier}`,
error && error.stack ? error.stack : error
);
}
} else {
throw new Error(
`sendToIdentifier: identifier ${identifier} was neither a UUID or E164`
);
} }
const updateDevices = await this.getStaleDeviceIdsForIdentifier( const updateDevices = await this.getStaleDeviceIdsForIdentifier(