From 652ffd43d62bda90488acc40f44016e61f17d2c9 Mon Sep 17 00:00:00 2001 From: Pritesh Nandgaonkar Date: Thu, 24 Oct 2019 03:50:16 -0700 Subject: [PATCH] Parse deeplink uri and update the check Summary: Parse the deeplink url and update the checks by comparing particular components. Reviewed By: jknoxville Differential Revision: D18093494 fbshipit-source-id: c79c1974a7e50b61724dedd7fd3303093fac944b --- src/dispatcher/application.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/dispatcher/application.tsx b/src/dispatcher/application.tsx index bc8b2aa2d..cde998c46 100644 --- a/src/dispatcher/application.tsx +++ b/src/dispatcher/application.tsx @@ -58,6 +58,7 @@ export default (store: Store, logger: Logger) => { ipcRenderer.on( 'flipper-protocol-handler', (_event: string, query: string) => { + const uri = new URL(query); if (query.startsWith('flipper://import')) { const {search} = new URL(query); const {url} = qs.parse(search); @@ -75,9 +76,17 @@ export default (store: Store, logger: Logger) => { store.dispatch(toggleAction('downloadingImportData', false)); }) ); - } else if (query === 'flipper://support-form?form=Litho') { - logger.track('usage', 'support-form-source', {source: 'deeplink'}); - store.dispatch(setStaticView(SupportRequestFormManager)); + } else if ( + uri.protocol === 'flipper:' && + uri.pathname.includes('support-form') + ) { + const formParam = uri.searchParams.get('form'); + if (formParam && formParam.toUpperCase() === 'litho'.toUpperCase()) { + // Right now we just support Litho + logger.track('usage', 'support-form-source', {source: 'deeplink'}); + store.dispatch(setStaticView(SupportRequestFormManager)); + } + return; } const match = uriComponents(query); if (match.length > 1) {