Convert crash reporter plugin to Sandy (non UI only)
Summary: This diff converts the CrashReporter plugin to Sandy. The main driver is that it allows us to fix the connection management of logs in a next diff. There are few changes to highlight: * A bunch of the old unit tests are removed, as they primarily verified that persistedState abstraction works, a concept that doesn't exist anymore with Sandy (as a result all the logic in error handling and crash reporter plugin has become a lot more trivial as well) * Added additional unit tests to verify that the integration with notifications from Sandy, and the integration of crashes in combination with CrashReporter plugin works (this wasn't the case before) * Plugin errors were always suppressed in production builds of Flipper. However, that makes error reporting pretty pointless in the first place, so enabled it by default, but made it a setting in case this results in too many errors suddenly. * The integration with clicking OS crash notification -> bringing the user to a sensible place _doesn't_ work, but it didn't work before this diff either, so will address that later * This doesn't upgrade the Crash reporter UI to sandy yet, will do that later in a separate diff Changelog: Crash reporter will now report errors triggered from the device / client plugins by default. This can be disabled in settings. Reviewed By: priteshrnandgaonkar Differential Revision: D27044507 fbshipit-source-id: 8233798f5cce668d61460c948c24bdf92ed7c834
This commit is contained in:
committed by
Facebook GitHub Bot
parent
7093a932f8
commit
87c5fab607
@@ -20,6 +20,7 @@ import {
|
||||
RealFlipperClient,
|
||||
SandyPluginInstance,
|
||||
PluginClient,
|
||||
PluginFactory,
|
||||
} from '../plugin/Plugin';
|
||||
import {
|
||||
SandyPluginDefinition,
|
||||
@@ -418,6 +419,47 @@ export function createMockPluginDetails(
|
||||
};
|
||||
}
|
||||
|
||||
export function createTestPlugin<T extends PluginFactory<any, any>>(
|
||||
implementation: Pick<FlipperPluginModule<T>, 'plugin'> &
|
||||
Partial<FlipperPluginModule<T>>,
|
||||
details?: Partial<InstalledPluginDetails>,
|
||||
) {
|
||||
return new SandyPluginDefinition(
|
||||
createMockPluginDetails({
|
||||
pluginType: 'client',
|
||||
...details,
|
||||
}),
|
||||
{
|
||||
Component() {
|
||||
return null;
|
||||
},
|
||||
...implementation,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
export function createTestDevicePlugin(
|
||||
implementation: Pick<FlipperDevicePluginModule, 'devicePlugin'> &
|
||||
Partial<FlipperDevicePluginModule>,
|
||||
details?: Partial<InstalledPluginDetails>,
|
||||
) {
|
||||
return new SandyPluginDefinition(
|
||||
createMockPluginDetails({
|
||||
pluginType: 'device',
|
||||
...details,
|
||||
}),
|
||||
{
|
||||
supportsDevice() {
|
||||
return true;
|
||||
},
|
||||
Component() {
|
||||
return null;
|
||||
},
|
||||
...implementation,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
export function createMockBundledPluginDetails(
|
||||
details?: Partial<BundledPluginDetails>,
|
||||
): BundledPluginDetails {
|
||||
|
||||
Reference in New Issue
Block a user