diff --git a/desktop/flipper-plugin/src/index.ts b/desktop/flipper-plugin/src/index.ts index 8449bbc97..8cef79061 100644 --- a/desktop/flipper-plugin/src/index.ts +++ b/desktop/flipper-plugin/src/index.ts @@ -29,6 +29,7 @@ export { MenuEntry, NormalizedMenuEntry, buildInMenuEntries, + DefaultKeyboardAction, } from './plugin/MenuEntry'; // It's not ideal that this exists in flipper-plugin sources directly, diff --git a/desktop/flipper-plugin/src/plugin/MenuEntry.tsx b/desktop/flipper-plugin/src/plugin/MenuEntry.tsx index 85b22e915..eeaa7b199 100644 --- a/desktop/flipper-plugin/src/plugin/MenuEntry.tsx +++ b/desktop/flipper-plugin/src/plugin/MenuEntry.tsx @@ -7,10 +7,10 @@ * @format */ -export type DefaultKeyboardAction = 'clear' | 'goToBottom' | 'createPaste'; export type TopLevelMenu = 'Edit' | 'View' | 'Window' | 'Help'; export type MenuEntry = BuiltInMenuEntry | CustomMenuEntry; +export type DefaultKeyboardAction = keyof typeof buildInMenuEntries; export type NormalizedMenuEntry = { label: string; diff --git a/desktop/plugins/network/index.tsx b/desktop/plugins/network/index.tsx index c2a382317..a39785d62 100644 --- a/desktop/plugins/network/index.tsx +++ b/desktop/plugins/network/index.tsx @@ -42,9 +42,9 @@ import {convertRequestToCurlCommand, getHeaderValue, decodeBody} from './utils'; import RequestDetails from './RequestDetails'; import {clipboard} from 'electron'; import {URL} from 'url'; -import {DefaultKeyboardAction} from 'app/src/MenuBar'; import {MockResponseDialog} from './MockResponseDialog'; import {combineBase64Chunks} from './chunks'; +import {DefaultKeyboardAction} from 'flipper-plugin'; const LOCALSTORAGE_MOCK_ROUTE_LIST_KEY = '__NETWORK_CACHED_MOCK_ROUTE_LIST'; @@ -599,8 +599,13 @@ function buildRow( if (request.url == null) { return null; } - const url = new URL(request.url); - const domain = url.host + url.pathname; + let url: URL | undefined = undefined; + try { + url = new URL(request.url); + } catch (e) { + console.warn(`Failed to parse url: '${request.url}'`, e); + } + const domain = url ? url.host + url.pathname : ''; const friendlyName = getHeaderValue(request.headers, 'X-FB-Friendly-Name'); const style = response && response.isMock ? mockingStyle : undefined;