Page MenuHomePhabricator

D13402.id44360.diff
No OneTemporary

D13402.id44360.diff

diff --git a/lib/types/holder-types.js b/lib/types/holder-types.js
new file mode 100644
--- /dev/null
+++ b/lib/types/holder-types.js
@@ -0,0 +1,19 @@
+// @flow
+
+export type HolderStatus =
+ | 'PENDING_ESTABLISHMENT'
+ | 'ESTABLISHED'
+ | 'NOT_ESTABLISHED'
+ | 'PENDING_REMOVAL'
+ | 'NOT_REMOVED';
+
+export type HolderInfo = {
+ +holder: string,
+ +status: HolderStatus,
+};
+
+export type HolderStore = {
+ +storedHolders: {
+ +[blobHash: string]: HolderInfo,
+ },
+};
diff --git a/lib/types/redux-types.js b/lib/types/redux-types.js
--- a/lib/types/redux-types.js
+++ b/lib/types/redux-types.js
@@ -70,6 +70,7 @@
CalendarThreadFilter,
SetCalendarDeletedFilterPayload,
} from './filter-types.js';
+import type { HolderStore } from './holder-types.js';
import type { IdentityAuthResult } from './identity-service-types';
import type { IntegrityStore } from './integrity-types.js';
import type {
@@ -200,6 +201,7 @@
+tunnelbrokerDeviceToken: TunnelbrokerDeviceToken,
+_persist: ?PersistState,
+queuedDMOperations: QueuedDMOperations,
+ +holderStore: HolderStore,
...
};
diff --git a/lib/utils/reducers-utils.test.js b/lib/utils/reducers-utils.test.js
--- a/lib/utils/reducers-utils.test.js
+++ b/lib/utils/reducers-utils.test.js
@@ -104,6 +104,9 @@
entryQueue: {},
membershipQueue: {},
},
+ holderStore: {
+ storedHolders: {},
+ },
};
state = {
...defaultState,
diff --git a/native/redux/default-state.js b/native/redux/default-state.js
--- a/native/redux/default-state.js
+++ b/native/redux/default-state.js
@@ -104,6 +104,9 @@
entryQueue: {},
membershipQueue: {},
},
+ holderStore: {
+ storedHolders: {},
+ },
}: AppState);
export { defaultState };
diff --git a/native/redux/persist.js b/native/redux/persist.js
--- a/native/redux/persist.js
+++ b/native/redux/persist.js
@@ -1475,6 +1475,15 @@
},
ops: [],
}),
+ [83]: (state: AppState) => ({
+ state: {
+ ...state,
+ holderStore: {
+ storedHolders: {},
+ },
+ },
+ ops: [],
+ }),
};
// NOTE: renaming this object, and especially the `version` property
@@ -1485,7 +1494,7 @@
storage: AsyncStorage,
blacklist: persistBlacklist,
debug: __DEV__,
- version: 82,
+ version: 83,
transforms: [
messageStoreMessagesBlocklistTransform,
reportStoreTransform,
diff --git a/native/redux/state-types.js b/native/redux/state-types.js
--- a/native/redux/state-types.js
+++ b/native/redux/state-types.js
@@ -12,6 +12,7 @@
import type { EnabledApps } from 'lib/types/enabled-apps.js';
import type { EntryStore } from 'lib/types/entry-types.js';
import type { CalendarFilter } from 'lib/types/filter-types.js';
+import type { HolderStore } from 'lib/types/holder-types.js';
import type { IntegrityStore } from 'lib/types/integrity-types.js';
import type { KeyserverStore } from 'lib/types/keyserver-types.js';
import type { LifecycleState } from 'lib/types/lifecycle-state-types.js';
@@ -86,6 +87,7 @@
+auxUserStore: AuxUserStore,
+tunnelbrokerDeviceToken: TunnelbrokerDeviceToken,
+queuedDMOperations: QueuedDMOperations,
+ +holderStore: HolderStore,
};
export { nonUserSpecificFieldsNative };
diff --git a/web/redux/default-state.js b/web/redux/default-state.js
--- a/web/redux/default-state.js
+++ b/web/redux/default-state.js
@@ -100,6 +100,9 @@
entryQueue: {},
membershipQueue: {},
},
+ holderStore: {
+ storedHolders: {},
+ },
});
export { defaultWebState };
diff --git a/web/redux/handle-redux-migration-failure.js b/web/redux/handle-redux-migration-failure.js
--- a/web/redux/handle-redux-migration-failure.js
+++ b/web/redux/handle-redux-migration-failure.js
@@ -16,6 +16,7 @@
'messageStore',
'tunnelbrokerDeviceToken',
'queuedDMOperations',
+ 'holderStore',
];
function handleReduxMigrationFailure(oldState: AppState): AppState {
diff --git a/web/redux/persist-constants.js b/web/redux/persist-constants.js
--- a/web/redux/persist-constants.js
+++ b/web/redux/persist-constants.js
@@ -3,6 +3,6 @@
const rootKey = 'root';
const rootKeyPrefix = 'persist:';
const completeRootKey = `${rootKeyPrefix}${rootKey}`;
-const storeVersion = 82;
+const storeVersion = 83;
export { rootKey, rootKeyPrefix, completeRootKey, storeVersion };
diff --git a/web/redux/persist.js b/web/redux/persist.js
--- a/web/redux/persist.js
+++ b/web/redux/persist.js
@@ -632,6 +632,15 @@
},
ops: [],
}),
+ [83]: (state: AppState) => ({
+ state: {
+ ...state,
+ holderStore: {
+ storedHolders: {},
+ },
+ },
+ ops: [],
+ }),
};
const persistConfig: PersistConfig = {
diff --git a/web/redux/redux-setup.js b/web/redux/redux-setup.js
--- a/web/redux/redux-setup.js
+++ b/web/redux/redux-setup.js
@@ -44,6 +44,7 @@
import type { EnabledApps } from 'lib/types/enabled-apps.js';
import type { EntryStore } from 'lib/types/entry-types.js';
import { type CalendarFilter } from 'lib/types/filter-types.js';
+import type { HolderStore } from 'lib/types/holder-types.js';
import type { IntegrityStore } from 'lib/types/integrity-types.js';
import type { KeyserverStore } from 'lib/types/keyserver-types.js';
import type { LifecycleState } from 'lib/types/lifecycle-state-types.js';
@@ -133,6 +134,7 @@
+auxUserStore: AuxUserStore,
+tunnelbrokerDeviceToken: TunnelbrokerDeviceToken,
+queuedDMOperations: QueuedDMOperations,
+ +holderStore: HolderStore,
};
export type Action = $ReadOnly<

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 26, 10:17 PM (12 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2586525
Default Alt Text
D13402.id44360.diff (5 KB)

Event Timeline