Remove CDS feature flag
This commit is contained in:
parent
e77dcf7f85
commit
013923d3c1
3 changed files with 67 additions and 73 deletions
|
@ -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'
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue