diff --git a/src/plugin.tsx b/src/plugin.tsx index 617a6889b..86c9b8ead 100644 --- a/src/plugin.tsx +++ b/src/plugin.tsx @@ -101,6 +101,8 @@ export abstract class FlipperBasePlugin< callClient: (method: string, params?: any) => Promise, persistedState: StaticPersistedState | undefined, store: MiddlewareAPI | undefined, + idler?: Idler, + statusUpdate?: (msg: string) => void, ) => Promise) | null; static getActiveNotifications: diff --git a/src/utils/exportData.tsx b/src/utils/exportData.tsx index e0de69b1b..54babd164 100644 --- a/src/utils/exportData.tsx +++ b/src/utils/exportData.tsx @@ -381,6 +381,7 @@ export async function fetchMetadata( pluginsMap: Map, store: MiddlewareAPI, statusUpdate?: (msg: string) => void, + idler?: Idler, ): Promise<{pluginStates: PluginStatesState; errorArray: Array}> { const newPluginState = {...pluginStates}; const errorArray: Array = []; @@ -413,7 +414,13 @@ export async function fetchMetadata( statusUpdate(`Fetching metadata for plugin ${plugin}...`); const data = await promiseTimeout( 120000, // Timeout in 2 mins - exportState(callClient(client, plugin), newPluginState[key], store), + exportState( + callClient(client, plugin), + newPluginState[key], + store, + idler, + statusUpdate, + ), `Timed out while collecting data for ${plugin}`, ); newPluginState[key] = data; @@ -459,6 +466,7 @@ export async function getStoreExport( pluginsMap, store, statusUpdate, + idler, ); const {errorArray} = metadata; const newPluginState = metadata.pluginStates;