diff --git a/desktop/app/src/Client.tsx b/desktop/app/src/Client.tsx index 9086cca61..80fb50cc2 100644 --- a/desktop/app/src/Client.tsx +++ b/desktop/app/src/Client.tsx @@ -7,6 +7,9 @@ * @format */ +// We're using `deviceSync` here on purpose which is triggering a lot of warnings. +/* eslint-disable node/no-sync */ + import {PluginDefinition} from './plugin'; import BaseDevice, {OS} from './server/devices/BaseDevice'; import {Logger} from './fb-interfaces/Logger'; diff --git a/desktop/app/src/HMRClient.tsx b/desktop/app/src/HMRClient.tsx index 6c2d83b42..a099c3b6a 100644 --- a/desktop/app/src/HMRClient.tsx +++ b/desktop/app/src/HMRClient.tsx @@ -201,7 +201,7 @@ Error: ${e.message}`; } }); - client.on('close', (data: any) => { + client.on('close', (_data: any) => { //// LoadingView.hide(); console.log('Loading end'); setHMRUnavailableReason('Disconnected from the Metro server.'); diff --git a/desktop/app/src/chrome/RatingButton.tsx b/desktop/app/src/chrome/RatingButton.tsx index 65df8227f..0f50a6790 100644 --- a/desktop/app/src/chrome/RatingButton.tsx +++ b/desktop/app/src/chrome/RatingButton.tsx @@ -32,6 +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'; type NextAction = 'select-rating' | 'leave-comment' | 'finished'; @@ -281,9 +282,14 @@ export function SandyRatingButton() { useEffect(() => { if (GK.get('flipper_enable_star_ratiings') && !hasTriggered && loggedIn) { - UserFeedback.getPrompt().then((prompt) => { - setPromptData(prompt); - setTimeout(triggerPopover, 30000); + reportPlatformFailures( + UserFeedback.getPrompt().then((prompt) => { + setPromptData(prompt); + setTimeout(triggerPopover, 30000); + }), + 'RatingButton:getPrompt', + ).catch((e) => { + console.warn('Failed to load ratings prompt:', e); }); } }, [triggerPopover, hasTriggered, loggedIn]); diff --git a/desktop/app/src/chrome/ScreenCaptureButtons.tsx b/desktop/app/src/chrome/ScreenCaptureButtons.tsx index 6c169dbf3..2f014fcb7 100644 --- a/desktop/app/src/chrome/ScreenCaptureButtons.tsx +++ b/desktop/app/src/chrome/ScreenCaptureButtons.tsx @@ -52,28 +52,26 @@ export default function ScreenCaptureButtons() { const [isRecording, setIsRecording] = useState(false); useEffect(() => { - let cancelled = false; + let canceled = false; selectedDevice?.screenCaptureAvailable().then((result) => { - if (!cancelled) { + if (!canceled) { setIsRecordingAvailable(result); } }); return () => { - cancelled = true; + canceled = true; }; }, [selectedDevice]); const handleScreenshot = useCallback(() => { setIsTakingScreenshot(true); - const p = capture(selectedDevice!).then(openFile); - - p.catch((e) => { - console.error('Taking screenshot failed:', e); - message.error('Taking screenshot failed:' + e); - }).finally(() => { - setIsTakingScreenshot(false); - }); - return p; + return capture(selectedDevice!) + .then(openFile) + .catch((e) => { + console.error('Taking screenshot failed:', e); + message.error('Taking screenshot failed:' + e); + }) + .finally(() => {}); }, [selectedDevice]); const handleRecording = useCallback(() => { if (!selectedDevice) { diff --git a/desktop/app/src/chrome/SettingsSheet.tsx b/desktop/app/src/chrome/SettingsSheet.tsx index e6601c85b..8a1f75717 100644 --- a/desktop/app/src/chrome/SettingsSheet.tsx +++ b/desktop/app/src/chrome/SettingsSheet.tsx @@ -7,7 +7,7 @@ * @format */ -import {FlexColumn, Button} from '../ui'; +import {Button} from '../ui'; import React, {Component, useContext} from 'react'; import {updateSettings, Action} from '../reducers/settings'; import { @@ -70,7 +70,7 @@ class SettingsSheet extends Component { this.props.updateSettings(this.state.updatedSettings); this.props.updateLauncherSettings(this.state.updatedLauncherSettings); this.props.onHide(); - flush().then(() => { + return flush().then(() => { restartFlipper(true); }); };