Make MobileConfig plugin exportable

Summary: As per title, this diff makes the Mobile config plugin exportable. This involves moving the important property from `State` to `PersistedState`. Also had to implement the `exportPersistedState` function to fetch the experiments information for the Universes, configs and gatekeeper information.

Reviewed By: danielbuechele

Differential Revision: D17633986

fbshipit-source-id: 604225ba47112620bee0a6c704416b3ac350de9c
This commit is contained in:
Pritesh Nandgaonkar
2019-10-07 09:55:40 -07:00
committed by Facebook Github Bot
parent 44ab23557e
commit 7f2f2febcf

View File

@@ -413,7 +413,7 @@ export async function fetchMetadata(
statusUpdate && statusUpdate &&
statusUpdate(`Fetching metadata for plugin ${plugin}...`); statusUpdate(`Fetching metadata for plugin ${plugin}...`);
const data = await promiseTimeout( const data = await promiseTimeout(
120000, // Timeout in 2 mins 240000, // Fetching MobileConfig data takes ~ 3 mins, thus keeping timeout at 4 mins.
exportState( exportState(
callClient(client, plugin), callClient(client, plugin),
newPluginState[key], newPluginState[key],
@@ -421,6 +421,7 @@ export async function fetchMetadata(
idler, idler,
statusUpdate, statusUpdate,
), ),
`Timed out while collecting data for ${plugin}`, `Timed out while collecting data for ${plugin}`,
); );
newPluginState[key] = data; newPluginState[key] = data;