diff --git a/desktop/app/src/Client.tsx b/desktop/app/src/Client.tsx index 53a8b897f..80b34f234 100644 --- a/desktop/app/src/Client.tsx +++ b/desktop/app/src/Client.tsx @@ -15,7 +15,7 @@ import BaseDevice from './devices/BaseDevice'; import {Logger} from 'flipper-common'; import {Store} from './reducers/index'; import {performance} from 'perf_hooks'; -import {reportPluginFailures} from './utils/metrics'; +import {reportPluginFailures} from 'flipper-common'; import {default as isProduction} from './utils/isProduction'; import {EventEmitter} from 'events'; import invariant from 'invariant'; diff --git a/desktop/app/src/PluginContainer.tsx b/desktop/app/src/PluginContainer.tsx index ece78c79b..e7b258453 100644 --- a/desktop/app/src/PluginContainer.tsx +++ b/desktop/app/src/PluginContainer.tsx @@ -46,7 +46,7 @@ import {InstalledPluginDetails} from 'flipper-plugin-lib'; import semver from 'semver'; import {loadPlugin} from './reducers/pluginManager'; import {produce} from 'immer'; -import {reportUsage} from './utils/metrics'; +import {reportUsage} from 'flipper-common'; import {PluginInfo} from './chrome/fb-stubs/PluginInfo'; import {getActiveClient, getActivePlugin} from './selectors/connections'; import {AnyAction} from 'redux'; diff --git a/desktop/app/src/chrome/ChangelogSheet.tsx b/desktop/app/src/chrome/ChangelogSheet.tsx index e69628273..46faaca12 100644 --- a/desktop/app/src/chrome/ChangelogSheet.tsx +++ b/desktop/app/src/chrome/ChangelogSheet.tsx @@ -11,7 +11,7 @@ import {Markdown} from '../ui'; import {readFileSync} from 'fs'; import React, {Component} from 'react'; import path from 'path'; -import {reportUsage} from '../utils/metrics'; +import {reportUsage} from 'flipper-common'; import {getChangelogPath} from '../utils/pathUtils'; import {Modal} from 'antd'; import {theme} from 'flipper-plugin'; diff --git a/desktop/app/src/chrome/DoctorSheet.tsx b/desktop/app/src/chrome/DoctorSheet.tsx index df3ee6834..1e9af333d 100644 --- a/desktop/app/src/chrome/DoctorSheet.tsx +++ b/desktop/app/src/chrome/DoctorSheet.tsx @@ -38,7 +38,7 @@ import runHealthchecks, { HealthcheckEventsHandler, } from '../utils/runHealthchecks'; import {getFlipperLib} from 'flipper-plugin'; -import {reportUsage} from '../utils/metrics'; +import {reportUsage} from 'flipper-common'; type StateFromProps = { healthcheckReport: HealthcheckReport; diff --git a/desktop/app/src/chrome/RatingButton.tsx b/desktop/app/src/chrome/RatingButton.tsx index 0f50a6790..16173967a 100644 --- a/desktop/app/src/chrome/RatingButton.tsx +++ b/desktop/app/src/chrome/RatingButton.tsx @@ -32,7 +32,7 @@ import {Popover, Rate} from 'antd'; import {useStore} from '../utils/useStore'; import {isLoggedIn} from '../fb-stubs/user'; import {useValue} from 'flipper-plugin'; -import {reportPlatformFailures} from '../utils/metrics'; +import {reportPlatformFailures} from 'flipper-common'; type NextAction = 'select-rating' | 'leave-comment' | 'finished'; diff --git a/desktop/app/src/chrome/SettingsSheet.tsx b/desktop/app/src/chrome/SettingsSheet.tsx index a9efe593e..19d51779e 100644 --- a/desktop/app/src/chrome/SettingsSheet.tsx +++ b/desktop/app/src/chrome/SettingsSheet.tsx @@ -25,7 +25,7 @@ import KeyboardShortcutInput from './settings/KeyboardShortcutInput'; import {isEqual, isMatch, isEmpty} from 'lodash'; import restartFlipper from '../utils/restartFlipper'; import LauncherSettingsPanel from '../fb-stubs/LauncherSettingsPanel'; -import {reportUsage} from '../utils/metrics'; +import {reportUsage} from 'flipper-common'; import {Modal, message, Button} from 'antd'; import {Layout, withTrackingScope, _NuxManagerContext} from 'flipper-plugin'; diff --git a/desktop/app/src/chrome/ShareSheetExportFile.tsx b/desktop/app/src/chrome/ShareSheetExportFile.tsx index e640059b2..13d16807d 100644 --- a/desktop/app/src/chrome/ShareSheetExportFile.tsx +++ b/desktop/app/src/chrome/ShareSheetExportFile.tsx @@ -9,7 +9,7 @@ import {FlexColumn, Button, styled, Text, FlexRow, Spacer} from '../ui'; import React, {Component} from 'react'; -import {reportPlatformFailures} from '../utils/metrics'; +import {reportPlatformFailures} from 'flipper-common'; import {performance} from 'perf_hooks'; import {Logger} from 'flipper-common'; import {IdlerImpl} from '../utils/Idler'; diff --git a/desktop/app/src/chrome/ShareSheetExportUrl.tsx b/desktop/app/src/chrome/ShareSheetExportUrl.tsx index bcd93e151..a384dd4f7 100644 --- a/desktop/app/src/chrome/ShareSheetExportUrl.tsx +++ b/desktop/app/src/chrome/ShareSheetExportUrl.tsx @@ -23,7 +23,7 @@ import { displayFetchMetadataErrors, } from '../utils/exportData'; import ShareSheetErrorList from './ShareSheetErrorList'; -import {reportPlatformFailures} from '../utils/metrics'; +import {reportPlatformFailures} from 'flipper-common'; import {performance} from 'perf_hooks'; import ShareSheetPendingDialog from './ShareSheetPendingDialog'; import {getLogger} from 'flipper-common'; diff --git a/desktop/app/src/chrome/UpdateIndicator.tsx b/desktop/app/src/chrome/UpdateIndicator.tsx index 5750c6c83..f67c6ac34 100644 --- a/desktop/app/src/chrome/UpdateIndicator.tsx +++ b/desktop/app/src/chrome/UpdateIndicator.tsx @@ -9,7 +9,7 @@ import {notification, Typography} from 'antd'; import isProduction from '../utils/isProduction'; -import {reportPlatformFailures} from '../utils/metrics'; +import {reportPlatformFailures} from 'flipper-common'; import React, {useEffect, useState} from 'react'; import fbConfig from '../fb-stubs/config'; import {useStore} from '../utils/useStore'; diff --git a/desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx b/desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx index 5b12870bb..0cb0aeb61 100644 --- a/desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx +++ b/desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx @@ -10,7 +10,7 @@ import {Layout, theme} from 'flipper-plugin'; import {LoadingIndicator, TableRows, ManagedTable, Glyph} from '../../ui'; import React, {useCallback, useState, useEffect} from 'react'; -import {reportPlatformFailures, reportUsage} from '../../utils/metrics'; +import {reportPlatformFailures, reportUsage} from 'flipper-common'; import reloadFlipper from '../../utils/reloadFlipper'; import {registerInstalledPlugins} from '../../reducers/plugins'; import { diff --git a/desktop/app/src/dispatcher/application.tsx b/desktop/app/src/dispatcher/application.tsx index 5509dc6b5..70ff82485 100644 --- a/desktop/app/src/dispatcher/application.tsx +++ b/desktop/app/src/dispatcher/application.tsx @@ -17,7 +17,7 @@ import { importFileToStore, IMPORT_FLIPPER_TRACE_EVENT, } from '../utils/exportData'; -import {tryCatchReportPlatformFailures} from '../utils/metrics'; +import {tryCatchReportPlatformFailures} from 'flipper-common'; import {handleDeeplink} from '../deeplink'; import {Dialog} from 'flipper-plugin'; diff --git a/desktop/app/src/dispatcher/flipperServer.tsx b/desktop/app/src/dispatcher/flipperServer.tsx index dbe773341..38b3d3571 100644 --- a/desktop/app/src/dispatcher/flipperServer.tsx +++ b/desktop/app/src/dispatcher/flipperServer.tsx @@ -19,7 +19,7 @@ import Client from '../Client'; import {notification} from 'antd'; import BaseDevice from '../devices/BaseDevice'; import {ClientDescription, timeout} from 'flipper-common'; -import {reportPlatformFailures} from '../utils/metrics'; +import {reportPlatformFailures} from 'flipper-common'; import {sideEffect} from '../utils/sideEffect'; export default async (store: Store, logger: Logger) => { diff --git a/desktop/app/src/dispatcher/handleOpenPluginDeeplink.tsx b/desktop/app/src/dispatcher/handleOpenPluginDeeplink.tsx index dbe6f7dd8..16a16e99a 100644 --- a/desktop/app/src/dispatcher/handleOpenPluginDeeplink.tsx +++ b/desktop/app/src/dispatcher/handleOpenPluginDeeplink.tsx @@ -14,7 +14,7 @@ import {getUser} from '../fb-stubs/user'; import {State, Store} from '../reducers/index'; import {checkForUpdate} from '../fb-stubs/checkForUpdate'; import {getAppVersion} from '../utils/info'; -import {UserNotSignedInError} from '../utils/errors'; +import {UserNotSignedInError} from 'flipper-common'; import {selectPlugin, setPluginEnabled} from '../reducers/connections'; import {getUpdateAvailableMessage} from '../chrome/UpdateIndicator'; import {Typography} from 'antd'; diff --git a/desktop/app/src/dispatcher/pluginDownloads.tsx b/desktop/app/src/dispatcher/pluginDownloads.tsx index 6826bc471..1d5b47e89 100644 --- a/desktop/app/src/dispatcher/pluginDownloads.tsx +++ b/desktop/app/src/dispatcher/pluginDownloads.tsx @@ -26,7 +26,7 @@ import fs from 'fs-extra'; import path from 'path'; import tmp from 'tmp'; import {promisify} from 'util'; -import {reportPlatformFailures, reportUsage} from '../utils/metrics'; +import {reportPlatformFailures, reportUsage} from 'flipper-common'; import {loadPlugin} from '../reducers/pluginManager'; import {showErrorNotification} from '../utils/notifications'; import {pluginInstalled} from '../reducers/plugins'; diff --git a/desktop/app/src/dispatcher/plugins.tsx b/desktop/app/src/dispatcher/plugins.tsx index f24f635c3..32932397a 100644 --- a/desktop/app/src/dispatcher/plugins.tsx +++ b/desktop/app/src/dispatcher/plugins.tsx @@ -37,7 +37,7 @@ import { BundledPluginDetails, ConcretePluginDetails, } from 'flipper-plugin-lib'; -import {tryCatchReportPluginFailures, reportUsage} from '../utils/metrics'; +import {tryCatchReportPluginFailures, reportUsage} from 'flipper-common'; import * as FlipperPluginSDK from 'flipper-plugin'; import {_SandyPluginDefinition} from 'flipper-plugin'; import loadDynamicPlugins from '../utils/loadDynamicPlugins'; diff --git a/desktop/app/src/fb-stubs/__mocks__/Logger.tsx b/desktop/app/src/fb-stubs/__mocks__/Logger.tsx index 00b11bd91..39fad9021 100644 --- a/desktop/app/src/fb-stubs/__mocks__/Logger.tsx +++ b/desktop/app/src/fb-stubs/__mocks__/Logger.tsx @@ -8,10 +8,7 @@ */ import {Store} from '../../reducers/index'; -import { - getErrorFromErrorLike, - getStringFromErrorLike, -} from '../../utils/errors'; +import {getErrorFromErrorLike, getStringFromErrorLike} from 'flipper-common'; import {LoggerArgs, Logger} from 'flipper-common'; const instance = { diff --git a/desktop/app/src/index.tsx b/desktop/app/src/index.tsx index 61b662bfa..800877761 100644 --- a/desktop/app/src/index.tsx +++ b/desktop/app/src/index.tsx @@ -26,7 +26,7 @@ export { export {FlipperPlugin, FlipperDevicePlugin, BaseAction} from './plugin'; export {PluginClient, Props} from './plugin'; export {default as Client} from './Client'; -export {reportUsage} from './utils/metrics'; +export {reportUsage} from 'flipper-common'; export {default as promiseTimeout} from './utils/promiseTimeout'; export {clipboard, remote, OpenDialogOptions} from 'electron'; export {bufferToBlob} from './utils/screenshot'; diff --git a/desktop/app/src/init.tsx b/desktop/app/src/init.tsx index 51f4c5d4a..cdd935628 100644 --- a/desktop/app/src/init.tsx +++ b/desktop/app/src/init.tsx @@ -52,7 +52,8 @@ import {PersistGate} from 'redux-persist/integration/react'; // eslint-disable-next-line flipper/no-electron-remote-imports import {ipcRenderer, remote} from 'electron'; import {helloWorld} from 'flipper-server-core'; -import {setLoggerInstance} from 'flipper-common'; +import {setLoggerInstance, setUserSessionManagerInstance} from 'flipper-common'; +import {internGraphPOSTAPIRequest} from './fb-stubs/user'; helloWorld(); @@ -207,6 +208,10 @@ function init() { else console.warn(msg, r.error); } }); + setUserSessionManagerInstance({ + internGraphPOSTAPIRequest, + }); + ReactDOM.render( , document.getElementById('root'), diff --git a/desktop/app/src/reducers/notifications.tsx b/desktop/app/src/reducers/notifications.tsx index 8506250fa..ab52092dd 100644 --- a/desktop/app/src/reducers/notifications.tsx +++ b/desktop/app/src/reducers/notifications.tsx @@ -10,7 +10,7 @@ import {Notification} from 'flipper-plugin'; import {Actions} from './'; import React from 'react'; -import {getStringFromErrorLike} from '../utils/errors'; +import {getStringFromErrorLike} from 'flipper-common'; export const GLOBAL_NOTIFICATION_PLUGIN_ID = 'Flipper'; diff --git a/desktop/app/src/reducers/supportForm.tsx b/desktop/app/src/reducers/supportForm.tsx index b34bfc3a3..0cbea179b 100644 --- a/desktop/app/src/reducers/supportForm.tsx +++ b/desktop/app/src/reducers/supportForm.tsx @@ -16,7 +16,7 @@ import {selectedPlugins as setSelectedPlugins} from './plugins'; import {addStatusMessage, removeStatusMessage} from './application'; import constants from '../fb-stubs/constants'; import {getLogger} from 'flipper-common'; -import {logPlatformSuccessRate} from '../utils/metrics'; +import {logPlatformSuccessRate} from 'flipper-common'; export const SUPPORT_FORM_PREFIX = 'support-form-v2'; import {getExportablePlugins} from '../selectors/connections'; import {DeviceOS} from 'flipper-plugin'; diff --git a/desktop/app/src/sandy-chrome/SetupDoctorScreen.tsx b/desktop/app/src/sandy-chrome/SetupDoctorScreen.tsx index 28e595929..5a985ef58 100644 --- a/desktop/app/src/sandy-chrome/SetupDoctorScreen.tsx +++ b/desktop/app/src/sandy-chrome/SetupDoctorScreen.tsx @@ -34,7 +34,7 @@ import { } from '../reducers/healthchecks'; import runHealthchecks from '../utils/runHealthchecks'; import {Healthchecks} from 'flipper-doctor'; -import {reportUsage} from '../utils/metrics'; +import {reportUsage} from 'flipper-common'; const {Title, Paragraph, Text} = Typography; diff --git a/desktop/app/src/sandy-chrome/appinspect/PluginList.tsx b/desktop/app/src/sandy-chrome/appinspect/PluginList.tsx index 53cc50928..5e8fb72eb 100644 --- a/desktop/app/src/sandy-chrome/appinspect/PluginList.tsx +++ b/desktop/app/src/sandy-chrome/appinspect/PluginList.tsx @@ -36,7 +36,7 @@ import { uninstallPlugin, } from '../../reducers/pluginManager'; import {BundledPluginDetails} from 'flipper-plugin-lib'; -import {reportUsage} from '../../utils/metrics'; +import {reportUsage} from 'flipper-common'; import ConnectivityStatus from './fb-stubs/ConnectivityStatus'; import {useSelector} from 'react-redux'; import {getPluginLists} from '../../selectors/connections'; diff --git a/desktop/app/src/server/comms/ServerController.tsx b/desktop/app/src/server/comms/ServerController.tsx index a1738353f..6412a00d8 100644 --- a/desktop/app/src/server/comms/ServerController.tsx +++ b/desktop/app/src/server/comms/ServerController.tsx @@ -13,7 +13,7 @@ import {ClientDescription, ClientQuery, isTest} from 'flipper-common'; import CertificateProvider from '../utils/CertificateProvider'; import {ClientConnection, ConnectionStatus} from './ClientConnection'; import {UninitializedClient} from 'flipper-common'; -import {reportPlatformFailures} from '../../utils/metrics'; +import {reportPlatformFailures} from 'flipper-common'; import {EventEmitter} from 'events'; import invariant from 'invariant'; import GK from '../../fb-stubs/GK'; diff --git a/desktop/app/src/server/devices/android/adbClient.tsx b/desktop/app/src/server/devices/android/adbClient.tsx index 60dfa0772..67ca1bd32 100644 --- a/desktop/app/src/server/devices/android/adbClient.tsx +++ b/desktop/app/src/server/devices/android/adbClient.tsx @@ -7,7 +7,7 @@ * @format */ -import {reportPlatformFailures} from '../../../utils/metrics'; +import {reportPlatformFailures} from 'flipper-common'; import {execFile} from 'promisify-child-process'; import adbConfig from './adbConfig'; import adbkit, {Client} from 'adbkit'; diff --git a/desktop/app/src/server/devices/android/androidContainerUtility.tsx b/desktop/app/src/server/devices/android/androidContainerUtility.tsx index 6c9db3440..28b859e52 100644 --- a/desktop/app/src/server/devices/android/androidContainerUtility.tsx +++ b/desktop/app/src/server/devices/android/androidContainerUtility.tsx @@ -7,7 +7,7 @@ * @format */ -import {UnsupportedError} from '../../../utils/metrics'; +import {UnsupportedError} from 'flipper-common'; import adbkit, {Client} from 'adbkit'; const allowedAppNameRegex = /^[\w.-]+$/; diff --git a/desktop/app/src/server/devices/ios/iOSContainerUtility.tsx b/desktop/app/src/server/devices/ios/iOSContainerUtility.tsx index 6f5f43fd7..d8e209b0b 100644 --- a/desktop/app/src/server/devices/ios/iOSContainerUtility.tsx +++ b/desktop/app/src/server/devices/ios/iOSContainerUtility.tsx @@ -10,7 +10,7 @@ import React from 'react'; import {Mutex} from 'async-mutex'; import {exec as unsafeExec, Output} from 'promisify-child-process'; -import {reportPlatformFailures} from '../../../utils/metrics'; +import {reportPlatformFailures} from 'flipper-common'; import {promises, constants} from 'fs'; import memoize from 'lodash.memoize'; import {notNull} from '../../utils/typeUtils'; diff --git a/desktop/app/src/server/utils/CertificateProvider.tsx b/desktop/app/src/server/utils/CertificateProvider.tsx index ade555c7f..6116939b9 100644 --- a/desktop/app/src/server/utils/CertificateProvider.tsx +++ b/desktop/app/src/server/utils/CertificateProvider.tsx @@ -8,7 +8,7 @@ */ import {Logger} from 'flipper-common'; -import {internGraphPOSTAPIRequest} from '../../fb-stubs/user'; +import {internGraphPOSTAPIRequest} from 'flipper-common'; import ServerController from '../comms/ServerController'; import {promisify} from 'util'; import fs from 'fs-extra'; @@ -20,7 +20,7 @@ import { import path from 'path'; import tmp, {DirOptions, FileOptions} from 'tmp'; import iosUtil from '../devices/ios/iOSContainerUtility'; -import {reportPlatformFailures} from '../../utils/metrics'; +import {reportPlatformFailures} from 'flipper-common'; import {getAdbClient} from '../devices/android/adbClient'; import * as androidUtil from '../devices/android/androidContainerUtility'; import os from 'os'; @@ -113,7 +113,7 @@ export default class CertificateProvider { this.logger = logger; // TODO: refactor this code to create promise lazily this._adb = config.enableAndroid - ? (getAdbClient(config).catch((e) => { + ? (getAdbClient(config).catch((_e) => { // make sure initialization failure is already logged const msg = 'Failed to initialize ADB. Please disable Android support in settings, or configure a correct path'; diff --git a/desktop/app/src/utils/Idler.tsx b/desktop/app/src/utils/Idler.tsx index aea5abcaf..9d32bd4a6 100644 --- a/desktop/app/src/utils/Idler.tsx +++ b/desktop/app/src/utils/Idler.tsx @@ -7,7 +7,7 @@ * @format */ -import {CancelledPromiseError} from './errors'; +import {CancelledPromiseError} from 'flipper-common'; import {Idler, sleep} from 'flipper-plugin'; export class IdlerImpl implements Idler { diff --git a/desktop/app/src/utils/exportData.tsx b/desktop/app/src/utils/exportData.tsx index 0d7fb0fed..ca6d81ddf 100644 --- a/desktop/app/src/utils/exportData.tsx +++ b/desktop/app/src/utils/exportData.tsx @@ -26,7 +26,7 @@ import fs from 'fs'; import {v4 as uuidv4} from 'uuid'; import {remote, OpenDialogOptions} from 'electron'; import {readCurrentRevision} from './packageMetadata'; -import {tryCatchReportPlatformFailures} from './metrics'; +import {tryCatchReportPlatformFailures} from 'flipper-common'; import {promisify} from 'util'; import {TestIdler} from './Idler'; import {setStaticView} from '../reducers/connections'; diff --git a/desktop/app/src/utils/runHealthchecks.tsx b/desktop/app/src/utils/runHealthchecks.tsx index 0d49044c3..d568c343f 100644 --- a/desktop/app/src/utils/runHealthchecks.tsx +++ b/desktop/app/src/utils/runHealthchecks.tsx @@ -9,7 +9,7 @@ import {HealthcheckResult} from '../reducers/healthchecks'; import {getHealthchecks, getEnvInfo, Healthchecks} from 'flipper-doctor'; -import {logPlatformSuccessRate, reportPlatformFailures} from '../utils/metrics'; +import {logPlatformSuccessRate, reportPlatformFailures} from 'flipper-common'; let healthcheckIsRunning: boolean; let runningHealthcheck: Promise; diff --git a/desktop/app/src/utils/screenshot.tsx b/desktop/app/src/utils/screenshot.tsx index 0b07b8297..c3588d08c 100644 --- a/desktop/app/src/utils/screenshot.tsx +++ b/desktop/app/src/utils/screenshot.tsx @@ -10,7 +10,7 @@ import fs from 'fs'; import path from 'path'; import BaseDevice from '../devices/BaseDevice'; -import {reportPlatformFailures} from './metrics'; +import {reportPlatformFailures} from 'flipper-common'; import expandTilde from 'expand-tilde'; import {remote} from 'electron'; import config from '../utils/processConfig'; diff --git a/desktop/flipper-common/src/index.tsx b/desktop/flipper-common/src/index.tsx index 600569c15..e0631b9c2 100644 --- a/desktop/flipper-common/src/index.tsx +++ b/desktop/flipper-common/src/index.tsx @@ -20,3 +20,24 @@ export * from './server-types'; export {sleep} from './utils/sleep'; export {timeout} from './utils/timeout'; export {isTest} from './utils/isTest'; +export { + logPlatformSuccessRate, + reportPlatformFailures, + reportUsage, + reportPluginFailures, + tryCatchReportPlatformFailures, + tryCatchReportPluginFailures, + UnsupportedError, +} from './utils/metrics'; +export { + ConnectivityError, + CancelledPromiseError, + UserUnauthorizedError, + UserNotSignedInError, + isConnectivityOrAuthError, + isError, + isAuthError, + getStringFromErrorLike, + getErrorFromErrorLike, +} from './utils/errors'; +export * from './user-session'; diff --git a/desktop/flipper-common/src/user-session.tsx b/desktop/flipper-common/src/user-session.tsx new file mode 100644 index 000000000..31aab511f --- /dev/null +++ b/desktop/flipper-common/src/user-session.tsx @@ -0,0 +1,41 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +/** + * APIs need to integration with Facebook services. + */ + +export type UserSessionManager = { + internGraphPOSTAPIRequest: typeof internGraphPOSTAPIRequest; +}; + +let instance: UserSessionManager | undefined = undefined; + +function getInstance(): UserSessionManager { + if (!instance) { + throw new Error('UserSessionManager not available or implemented'); + } + return instance; +} + +export function setUserSessionManagerInstance(i: UserSessionManager) { + instance = i; +} + +export async function internGraphPOSTAPIRequest( + _endpoint: string, + _formFields: { + [key: string]: any; + } = {}, + _internGraphUrl?: string, + _timeout?: number, +): Promise { + // eslint-disable-next-line + return getInstance().internGraphPOSTAPIRequest.apply(null, arguments as any); +} diff --git a/desktop/app/src/utils/errors.tsx b/desktop/flipper-common/src/utils/errors.tsx similarity index 96% rename from desktop/app/src/utils/errors.tsx rename to desktop/flipper-common/src/utils/errors.tsx index dd3e95090..ace31c22f 100644 --- a/desktop/app/src/utils/errors.tsx +++ b/desktop/flipper-common/src/utils/errors.tsx @@ -7,8 +7,6 @@ * @format */ -import {InteractionReport} from 'flipper-plugin'; - export function isAuthError( err: any, ): err is UserNotSignedInError | UserUnauthorizedError { @@ -61,7 +59,7 @@ export class UserNotSignedInError extends Error { declare global { interface Error { - interaction?: InteractionReport; + interaction?: unknown; } } diff --git a/desktop/app/src/utils/metrics.tsx b/desktop/flipper-common/src/utils/metrics.tsx similarity index 99% rename from desktop/app/src/utils/metrics.tsx rename to desktop/flipper-common/src/utils/metrics.tsx index 86cce2588..31f87e0ab 100644 --- a/desktop/app/src/utils/metrics.tsx +++ b/desktop/flipper-common/src/utils/metrics.tsx @@ -7,8 +7,8 @@ * @format */ -import {getLogger} from 'flipper-common'; import {CancelledPromiseError, isError} from './errors'; +import {getLogger} from './Logger'; type Result = | {kind: 'success'}