Reload single plugin on auto-update

Summary: Implemented a way for re-loading single plugin on auto-update. This make it possible to apply update without full Flipper restart.

Reviewed By: mweststrate

Differential Revision: D23729972

fbshipit-source-id: ed30f7cde5a0537945db0b5bb6969ae8fde42cb6
This commit is contained in:
Anton Nikolaev
2020-09-28 02:50:10 -07:00
committed by Facebook GitHub Bot
parent 5e979403a0
commit 0982dc06a0
9 changed files with 204 additions and 47 deletions

View File

@@ -125,7 +125,12 @@ export type Action =
type: 'SELECT_CLIENT';
payload: string;
}
| RegisterPluginAction;
| RegisterPluginAction
| {
// Implemented by rootReducer in `store.tsx`
type: 'UPDATE_PLUGIN';
payload: PluginDefinition;
};
const DEFAULT_PLUGIN = 'DeviceLogs';
const DEFAULT_DEVICE_BLACKLIST = [MacDevice];
@@ -341,7 +346,6 @@ export default (state: State = INITAL_STATE, action: Actions): State => {
});
return state;
}
default:
return state;
}
@@ -395,6 +399,11 @@ export const selectClient = (clientId: string): Action => ({
payload: clientId,
});
export const registerPluginUpdate = (payload: PluginDefinition): Action => ({
type: 'UPDATE_PLUGIN',
payload,
});
export function getAvailableClients(
device: null | undefined | BaseDevice,
clients: Client[],