diff --git a/frontend/patches/redux-deep-persist+1.0.6.patch b/frontend/patches/redux-deep-persist+1.0.6.patch
new file mode 100644
index 0000000000..47a62e6aac
--- /dev/null
+++ b/frontend/patches/redux-deep-persist+1.0.6.patch
@@ -0,0 +1,24 @@
+diff --git a/node_modules/redux-deep-persist/lib/types.d.ts b/node_modules/redux-deep-persist/lib/types.d.ts
+index b67b8c2..7fc0fa1 100644
+--- a/node_modules/redux-deep-persist/lib/types.d.ts
++++ b/node_modules/redux-deep-persist/lib/types.d.ts
+@@ -35,6 +35,7 @@ export interface PersistConfig<S, RS = any, HSS = any, ESS = any> {
+     whitelist?: Array<string>;
+     transforms?: Array<Transform<HSS, ESS, S, RS>>;
+     throttle?: number;
++    debounce?: number;
+     migrate?: PersistMigrate;
+     stateReconciler?: false | StateReconciler<S>;
+     getStoredState?: (config: PersistConfig<S, RS, HSS, ESS>) => Promise<PersistedState>;
+diff --git a/node_modules/redux-deep-persist/src/types.ts b/node_modules/redux-deep-persist/src/types.ts
+index 398ac19..cbc5663 100644
+--- a/node_modules/redux-deep-persist/src/types.ts
++++ b/node_modules/redux-deep-persist/src/types.ts
+@@ -91,6 +91,7 @@ export interface PersistConfig<S, RS = any, HSS = any, ESS = any> {
+     whitelist?: Array<string>;
+     transforms?: Array<Transform<HSS, ESS, S, RS>>;
+     throttle?: number;
++    debounce?: number;
+     migrate?: PersistMigrate;
+     stateReconciler?: false | StateReconciler<S>;
+     /**
diff --git a/frontend/patches/redux-persist+6.0.0.patch b/frontend/patches/redux-persist+6.0.0.patch
new file mode 100644
index 0000000000..7ae1493d46
--- /dev/null
+++ b/frontend/patches/redux-persist+6.0.0.patch
@@ -0,0 +1,86 @@
+diff --git a/node_modules/redux-persist/es/createPersistoid.js b/node_modules/redux-persist/es/createPersistoid.js
+index 8b43b9a..316d975 100644
+--- a/node_modules/redux-persist/es/createPersistoid.js
++++ b/node_modules/redux-persist/es/createPersistoid.js
+@@ -6,6 +6,7 @@ export default function createPersistoid(config) {
+   var whitelist = config.whitelist || null;
+   var transforms = config.transforms || [];
+   var throttle = config.throttle || 0;
++  var debounce = config.debounce || 0;
+   var storageKey = "".concat(config.keyPrefix !== undefined ? config.keyPrefix : KEY_PREFIX).concat(config.key);
+   var storage = config.storage;
+   var serialize;
+@@ -28,7 +29,15 @@ export default function createPersistoid(config) {
+   var timeIterator = null;
+   var writePromise = null;
+ 
+-  var update = function update(state) {
++  function debounce(func, timeout){
++    let timer;
++    return (...args) => {
++      clearTimeout(timer);
++      timer = setTimeout(() => { func.apply(this, args); }, timeout);
++    };
++  }
++
++  var update = debounce(function update(state) {
+     // add any changed keys to the queue
+     Object.keys(state).forEach(function (key) {
+       if (!passWhitelistBlacklist(key)) return; // is keyspace ignored? noop
+@@ -52,7 +61,7 @@ export default function createPersistoid(config) {
+     }
+ 
+     lastState = state;
+-  };
++  }, debounce);
+ 
+   function processNextKey() {
+     if (keysToProcess.length === 0) {
+diff --git a/node_modules/redux-persist/es/types.js.flow b/node_modules/redux-persist/es/types.js.flow
+index c50d3cd..39d8be2 100644
+--- a/node_modules/redux-persist/es/types.js.flow
++++ b/node_modules/redux-persist/es/types.js.flow
+@@ -19,6 +19,7 @@ export type PersistConfig = {
+   whitelist?: Array<string>,
+   transforms?: Array<Transform>,
+   throttle?: number,
++  debounce?: number,
+   migrate?: (PersistedState, number) => Promise<PersistedState>,
+   stateReconciler?: false | Function,
+   getStoredState?: PersistConfig => Promise<PersistedState>, // used for migrations
+diff --git a/node_modules/redux-persist/lib/types.js.flow b/node_modules/redux-persist/lib/types.js.flow
+index c50d3cd..39d8be2 100644
+--- a/node_modules/redux-persist/lib/types.js.flow
++++ b/node_modules/redux-persist/lib/types.js.flow
+@@ -19,6 +19,7 @@ export type PersistConfig = {
+   whitelist?: Array<string>,
+   transforms?: Array<Transform>,
+   throttle?: number,
++  debounce?: number,
+   migrate?: (PersistedState, number) => Promise<PersistedState>,
+   stateReconciler?: false | Function,
+   getStoredState?: PersistConfig => Promise<PersistedState>, // used for migrations
+diff --git a/node_modules/redux-persist/src/types.js b/node_modules/redux-persist/src/types.js
+index c50d3cd..39d8be2 100644
+--- a/node_modules/redux-persist/src/types.js
++++ b/node_modules/redux-persist/src/types.js
+@@ -19,6 +19,7 @@ export type PersistConfig = {
+   whitelist?: Array<string>,
+   transforms?: Array<Transform>,
+   throttle?: number,
++  debounce?: number,
+   migrate?: (PersistedState, number) => Promise<PersistedState>,
+   stateReconciler?: false | Function,
+   getStoredState?: PersistConfig => Promise<PersistedState>, // used for migrations
+diff --git a/node_modules/redux-persist/types/types.d.ts b/node_modules/redux-persist/types/types.d.ts
+index b3733bc..2a1696c 100644
+--- a/node_modules/redux-persist/types/types.d.ts
++++ b/node_modules/redux-persist/types/types.d.ts
+@@ -35,6 +35,7 @@ declare module "redux-persist/es/types" {
+     whitelist?: Array<string>;
+     transforms?: Array<Transform<HSS, ESS, S, RS>>;
+     throttle?: number;
++    debounce?: number;
+     migrate?: PersistMigrate;
+     stateReconciler?: false | StateReconciler<S>;
+     /**