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
import { get, throttle } from 'lodash';
import { WebAPIType } from './textsecure/WebAPI';
export type ConfigKeyType =
| 'desktop.cds'
| 'desktop.clientExpiration'
| 'desktop.disableGV1'
| 'desktop.groupCalling'

View file

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

View file

@ -23,7 +23,6 @@ import {
} from 'libsignal-client';
import { ServerKeysType, WebAPIType } from './WebAPI';
import { isEnabled as isRemoteFlagEnabled } from '../RemoteConfig';
import { ContentClass, DataMessageClass } from '../textsecure.d';
import {
CallbackResultType,
@ -645,49 +644,47 @@ export default class OutgoingMessage {
async sendToIdentifier(providedIdentifier: string): Promise<void> {
let identifier = providedIdentifier;
try {
if (isRemoteFlagEnabled('desktop.cds')) {
if (window.isValidGuid(identifier)) {
// We're good!
} else if (isValidNumber(identifier)) {
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 {
if (window.isValidGuid(identifier)) {
// We're good!
} else if (isValidNumber(identifier)) {
if (!window.textsecure.messaging) {
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(