From b72dc8e9300f5ae997f7f5cfcd79b604cca3df0c Mon Sep 17 00:00:00 2001 From: Juan Date: Fri, 15 Oct 2021 17:18:20 -0400 Subject: [PATCH] Only show DevTools warning about unrecognized build in Chrome (#22571) --- .../src/checkForDuplicateInstallations.js | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/react-devtools-extensions/src/checkForDuplicateInstallations.js b/packages/react-devtools-extensions/src/checkForDuplicateInstallations.js index 1ebafe50b8835..d86cac7709295 100644 --- a/packages/react-devtools-extensions/src/checkForDuplicateInstallations.js +++ b/packages/react-devtools-extensions/src/checkForDuplicateInstallations.js @@ -10,6 +10,7 @@ declare var chrome: any; import {__DEBUG__} from 'react-devtools-shared/src/constants'; +import {getBrowserName} from './utils'; import { EXTENSION_INSTALL_CHECK, EXTENSION_INSTALLATION_TYPE, @@ -17,6 +18,8 @@ import { LOCAL_EXTENSION_ID, } from './constants'; +const IS_CHROME = getBrowserName() === 'Chrome'; + const UNRECOGNIZED_EXTENSION_ERROR = 'React Developer Tools: You are running an unrecognized installation of the React Developer Tools extension, which might conflict with other versions of the extension installed in your browser. ' + 'Please make sure you only have a single version of the extension installed or enabled. ' + @@ -76,14 +79,17 @@ export function checkForDuplicateInstallations(callback: boolean => void) { break; } case 'unknown': { - // If we don't know how this extension was built, we can't reliably detect if there - // are other installations of DevTools present. - // In this case, assume there are no duplicate exensions and show a warning about - // potential conflicts. - console.error(UNRECOGNIZED_EXTENSION_ERROR); - chrome.devtools.inspectedWindow.eval( - `console.error("${UNRECOGNIZED_EXTENSION_ERROR}")`, - ); + // TODO: Support duplicate extension detection in other browsers + if (IS_CHROME) { + // If we don't know how this extension was built, we can't reliably detect if there + // are other installations of DevTools present. + // In this case, assume there are no duplicate exensions and show a warning about + // potential conflicts. + console.error(UNRECOGNIZED_EXTENSION_ERROR); + chrome.devtools.inspectedWindow.eval( + `console.error("${UNRECOGNIZED_EXTENSION_ERROR}")`, + ); + } callback(false); break; }