diff --git a/ts/RemoteConfig.ts b/ts/RemoteConfig.ts index c430ecb7e7..42aea244ed 100644 --- a/ts/RemoteConfig.ts +++ b/ts/RemoteConfig.ts @@ -27,6 +27,7 @@ export type ConfigKeyType = | 'desktop.senderKeyMaxAge' | 'desktop.experimentalTransportEnabled.alpha' | 'desktop.experimentalTransportEnabled.beta' + | 'desktop.cdsiViaLibsignal' | 'global.attachments.maxBytes' | 'global.attachments.maxReceiveBytes' | 'global.calling.maxGroupCallRingSize' diff --git a/ts/textsecure/WebsocketResources.ts b/ts/textsecure/WebsocketResources.ts index c0a445c952..5c685d85fe 100644 --- a/ts/textsecure/WebsocketResources.ts +++ b/ts/textsecure/WebsocketResources.ts @@ -359,7 +359,7 @@ export class WebSocketResourceWithShadowing implements IWebSocketResource { private updateStats(name: string) { const storedStats = AggregatedStats.loadOrCreateEmpty(name); - const updatedStats = AggregatedStats.add(storedStats, this.stats); + let updatedStats = AggregatedStats.add(storedStats, this.stats); if ( this.shadowingWithReporting && AggregatedStats.shouldReportError(updatedStats) && @@ -368,6 +368,11 @@ export class WebSocketResourceWithShadowing implements IWebSocketResource { window.reduxActions.toast.showToast({ toastType: ToastType.TransportError, }); + log.warn( + `${this.logId}: experimental transport toast displayed, flushing transport statistics before resetting`, + updatedStats + ); + updatedStats = AggregatedStats.createEmpty(); updatedStats.lastToastTimestamp = Date.now(); } AggregatedStats.store(updatedStats, name); diff --git a/ts/util/getServiceIdsForE164s.ts b/ts/util/getServiceIdsForE164s.ts index d5f526cf8a..ffdf744481 100644 --- a/ts/util/getServiceIdsForE164s.ts +++ b/ts/util/getServiceIdsForE164s.ts @@ -43,5 +43,8 @@ export async function getServiceIdsForE164s( e164s, acisAndAccessKeys, returnAcisWithoutUaks: false, + useLibsignal: window.Signal.RemoteConfig.isEnabled( + 'desktop.cdsiViaLibsignal' + ), }); }