From 73aec132e72a80dd2a1e96a7a0b1b29aacd69b20 Mon Sep 17 00:00:00 2001 From: Mitchell McCaffrey Date: Sun, 7 Jun 2020 11:19:32 +1000 Subject: [PATCH] Fixed bug with large map sizes --- src/contexts/MapDataContext.js | 4 +++- src/contexts/TokenDataContext.js | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/contexts/MapDataContext.js b/src/contexts/MapDataContext.js index 297c0e3..6dde09a 100644 --- a/src/contexts/MapDataContext.js +++ b/src/contexts/MapDataContext.js @@ -55,7 +55,9 @@ export function MapDataProvider({ children }) { } async function loadMaps() { - let storedMaps = await database.table("maps").toArray(); + let storedMaps = []; + // Use a cursor instead of toArray to prevent IPC max size error + database.table("maps").each((map) => storedMaps.push(map)); const sortedMaps = storedMaps.sort((a, b) => b.created - a.created); const defaultMapsWithIds = await getDefaultMaps(); const allMaps = [...sortedMaps, ...defaultMapsWithIds]; diff --git a/src/contexts/TokenDataContext.js b/src/contexts/TokenDataContext.js index 14cd6c0..753a3aa 100644 --- a/src/contexts/TokenDataContext.js +++ b/src/contexts/TokenDataContext.js @@ -30,7 +30,9 @@ export function TokenDataProvider({ children }) { } async function loadTokens() { - let storedTokens = await database.table("tokens").toArray(); + let storedTokens = []; + // Use a cursor instead of toArray to prevent IPC max size error + database.table("tokens").each((token) => storedTokens.push(token)); const sortedTokens = storedTokens.sort((a, b) => b.created - a.created); const defaultTokensWithIds = getDefaultTokes(); const allTokens = [...sortedTokens, ...defaultTokensWithIds];