Fixed bug causing pending events of non-sandy plugins not to be part of the export

Summary:
During testing I noticed that even though plugin queues were flushed, the processed messages didn't end up in the export snapshots. This was caused by holding a ref of an older snapshot of the state

Changelog: Fixed an issue where data that arrived in the background was not part of the generated Flipper export.

Reviewed By: nikoant

Differential Revision: D26250897

fbshipit-source-id: ddd3f5bb19e38a1b13498d03f235bf63858eb8f8
This commit is contained in:
Michel Weststrate
2021-02-09 04:12:09 -08:00
committed by Facebook GitHub Bot
parent 2df117923c
commit 7650ab620d
2 changed files with 81 additions and 5 deletions

View File

@@ -652,7 +652,7 @@ async function getStoreExport(
exportData: ExportType;
fetchMetaDataErrors: {[plugin: string]: Error} | null;
}> {
const state = store.getState();
let state = store.getState();
const {clients, selectedApp, selectedDevice} = state.connections;
const pluginsToProcess = determinePluginsToProcess(
clients,
@@ -662,6 +662,7 @@ async function getStoreExport(
statusUpdate?.('Preparing to process data queues for plugins...');
await processQueues(store, pluginsToProcess, statusUpdate, idler);
state = store.getState();
statusUpdate && statusUpdate('Preparing to fetch metadata from client...');
const fetchMetaDataMarker = `${EXPORT_FLIPPER_TRACE_EVENT}:fetch-meta-data`;