Show indicator when client setup fails (#339)

Summary:
At the moment, when a client is failing to connect, you effectively get an infinite spinner, as it keeps retrying.

This keeps the spinner while it's retrying, but in between, shows a failure icon.

This isn't perfect. It's still shown under possibly the wrong device, but that already happens anyway, this just adds an extra icon.
Pull Request resolved: https://github.com/facebook/flipper/pull/339

Reviewed By: priteshrnandgaonkar

Differential Revision: D13319635

Pulled By: jknoxville

fbshipit-source-id: e16177ecc7058b779fb17b61e20fcbac8ccf0c29
This commit is contained in:
John Knox
2018-12-04 07:08:05 -08:00
committed by Facebook Github Bot
parent 20ed54566d
commit 3057c0a6e7
4 changed files with 26 additions and 13 deletions

View File

@@ -9,6 +9,7 @@ import type {ChildProcess} from 'child_process';
import type {Store} from '../reducers/index.js';
import type Logger from '../fb-stubs/Logger.js';
import type {DeviceType} from '../devices/BaseDevice';
import {RecurringError} from '../utils/errors';
import {promisify} from 'util';
import path from 'path';
@@ -111,10 +112,12 @@ function getActiveSimulators(): Promise<Array<IOSDeviceParams>> {
}
function getActiveDevices(): Promise<Array<IOSDeviceParams>> {
return iosUtil.targets().catch(e => {
console.warn(e);
return [];
});
return iosUtil.isAvailable()
? iosUtil.targets().catch(e => {
console.error(new RecurringError(e.message));
return [];
})
: Promise.resolve([]);
}
export default (store: Store, logger: Logger) => {