From 96c4cc4bcff442c0c73b2dea7f0f774563e1ec15 Mon Sep 17 00:00:00 2001 From: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com> Date: Tue, 16 Aug 2022 16:58:17 -0700 Subject: [PATCH] Introduce desktop.pnp.storageService flag --- package.json | 2 +- ts/RemoteConfig.ts | 1 + ts/services/storageRecordOps.ts | 7 +++++-- yarn.lock | 8 ++++---- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index b0470945e..8809ddedd 100644 --- a/package.json +++ b/package.json @@ -191,7 +191,7 @@ "@babel/preset-typescript": "7.17.12", "@electron/fuses": "1.5.0", "@mixer/parallel-prettier": "2.0.1", - "@signalapp/mock-server": "2.6.0", + "@signalapp/mock-server": "2.7.0", "@storybook/addon-a11y": "6.5.6", "@storybook/addon-actions": "6.5.6", "@storybook/addon-controls": "6.5.6", diff --git a/ts/RemoteConfig.ts b/ts/RemoteConfig.ts index cec031fc3..2bb3fa57a 100644 --- a/ts/RemoteConfig.ts +++ b/ts/RemoteConfig.ts @@ -16,6 +16,7 @@ export type ConfigKeyType = | 'desktop.mediaQuality.levels' | 'desktop.messageCleanup' | 'desktop.messageRequests' + | 'desktop.pnp.storageService' | 'desktop.retryReceiptLifespan' | 'desktop.retryRespondMaxAge' | 'desktop.senderKey.retry' diff --git a/ts/services/storageRecordOps.ts b/ts/services/storageRecordOps.ts index 0fa069fcc..17fd46955 100644 --- a/ts/services/storageRecordOps.ts +++ b/ts/services/storageRecordOps.ts @@ -51,6 +51,7 @@ import type { } from '../sql/Interface'; import dataInterface from '../sql/Client'; import { MY_STORIES_ID } from '../types/Stories'; +import * as RemoteConfig from '../RemoteConfig'; const MY_STORIES_BYTES = uuidToBytes(MY_STORIES_ID); @@ -138,7 +139,7 @@ export async function toContactRecord( contactRecord.serviceE164 = e164; } const pni = conversation.get('pni'); - if (pni) { + if (pni && RemoteConfig.isEnabled('desktop.pnp.storageService')) { contactRecord.pni = pni; } const profileKey = conversation.get('profileKey'); @@ -851,9 +852,11 @@ export async function mergeContactRecord( : undefined, }; + const isPniSupported = RemoteConfig.isEnabled('desktop.pnp.storageService'); + const e164 = dropNull(contactRecord.serviceE164); const uuid = dropNull(contactRecord.serviceUuid); - const pni = dropNull(contactRecord.pni); + const pni = isPniSupported ? dropNull(contactRecord.pni) : undefined; // All contacts must have UUID if (!uuid) { diff --git a/yarn.lock b/yarn.lock index 8fe462727..e005991e5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1753,10 +1753,10 @@ node-gyp-build "^4.2.3" uuid "^8.3.0" -"@signalapp/mock-server@2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@signalapp/mock-server/-/mock-server-2.6.0.tgz#64277abd5ad5a540c0ae7e98d0347b420d69acfd" - integrity sha512-EYI52E0ZwtNO0tt7V7PZJ5vs5Yy/nReHZMWovfHqcdG3iurwxq4/YIbz0fP4HylpoiJLbZ1cVzY7A8A3IAlrLQ== +"@signalapp/mock-server@2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@signalapp/mock-server/-/mock-server-2.7.0.tgz#92c6538c44eb6001f7fb5b85cb1c41ad1d4a64bc" + integrity sha512-Adf+EOs/YesNQ4ZsxVxAdhFjtVd4f246RwADMD6A50X4hrp78eW2WkFpZ7fWDMy3ZIRiNa87aZXRbWEzFEzIzA== dependencies: "@signalapp/libsignal-client" "^0.19.2" debug "^4.3.2"