From 0e2412f00c19369d291f0823102e5f552a63cd5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20W=C4=85sowicz?= Date: Mon, 9 Sep 2024 15:20:40 +0200 Subject: [PATCH] Fix input types from D13050 Summary: This differential fixes types according to Ashoat suggestion: https://phab.comm.dev/D13050#inline-76348 Test Plan: flow Reviewers: ashoat Reviewed By: ashoat Subscribers: tomek Differential Revision: https://phab.comm.dev/D13271 --- keyserver/src/push/send.js | 4 +++- lib/push/send-utils.js | 26 +++++++++++++++++++------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/keyserver/src/push/send.js b/keyserver/src/push/send.js index 81640d8d58..7b015c1da9 100644 --- a/keyserver/src/push/send.js +++ b/keyserver/src/push/send.js @@ -777,7 +777,9 @@ async function fetchInfos(pushInfo: PushInfo) { async function fetchNotifUserInfos( serverThreadInfos: { +[threadID: string]: ServerThreadInfo }, - usersToCollapsableNotifInfo: { +[userID: string]: CollapsableNotifInfo[] }, + usersToCollapsableNotifInfo: { + +[userID: string]: $ReadOnlyArray, + }, ) { const missingUserIDs = new Set(); diff --git a/lib/push/send-utils.js b/lib/push/send-utils.js index 61e1ea25e1..8854e1a3a6 100644 --- a/lib/push/send-utils.js +++ b/lib/push/send-utils.js @@ -94,7 +94,7 @@ export type CollapsableNotifInfo = { }; export type FetchCollapsableNotifsResult = { - [userID: string]: CollapsableNotifInfo[], + +[userID: string]: $ReadOnlyArray, }; function identityPlatformDetailsToPlatformDetails( @@ -302,9 +302,11 @@ function getOwnDevicesPushInfo( function pushInfoToCollapsableNotifInfo(pushInfo: PushInfo): { +usersToCollapseKeysToInfo: { - [string]: { [string]: CollapsableNotifInfo }, + +[string]: { +[string]: CollapsableNotifInfo }, + }, + +usersToCollapsableNotifInfo: { + +[string]: $ReadOnlyArray, }, - +usersToCollapsableNotifInfo: { [string]: Array }, } { const usersToCollapseKeysToInfo: { [string]: { [string]: CollapsableNotifInfo }, @@ -348,13 +350,23 @@ function pushInfoToCollapsableNotifInfo(pushInfo: PushInfo): { function mergeUserToCollapsableInfo( usersToCollapseKeysToInfo: { - [string]: { [string]: CollapsableNotifInfo }, + +[string]: { +[string]: CollapsableNotifInfo }, + }, + usersToCollapsableNotifInfo: { + +[string]: $ReadOnlyArray, }, - usersToCollapsableNotifInfo: { [string]: Array }, -): { [string]: Array } { - const mergedUsersToCollapsableInfo = { ...usersToCollapsableNotifInfo }; +): { +[string]: $ReadOnlyArray } { + const mergedUsersToCollapsableInfo: { + [string]: Array, + } = {}; + for (const userID in usersToCollapseKeysToInfo) { const collapseKeysToInfo = usersToCollapseKeysToInfo[userID]; + + mergedUsersToCollapsableInfo[userID] = [ + ...usersToCollapsableNotifInfo[userID], + ]; + for (const collapseKey in collapseKeysToInfo) { const info = collapseKeysToInfo[collapseKey]; mergedUsersToCollapsableInfo[userID].push({