Add FLIPPER_PORTS env var to desktop app
Summary: Part 3 and final part of adding customizable ports. To use this, the iOS / Android apps have to also be started with the same custom ports. Example usage: `FLIPPER_PORTS=8189,8188 yarn start` Reviewed By: passy Differential Revision: D13801761 fbshipit-source-id: 3dd80a3001ed0855e54cc568fa94eb6fac5fc7f1
This commit is contained in:
committed by
Facebook Github Bot
parent
e558d8a01a
commit
dbb723f8a5
@@ -15,7 +15,11 @@ import {registerDeviceCallbackOnPlugins} from '../utils/onRegisterDevice.js';
|
||||
import {recordSuccessMetric} from '../utils/metrics';
|
||||
const adb = require('adbkit-fb');
|
||||
|
||||
function createDevice(adbClient, device): Promise<AndroidDevice> {
|
||||
function createDevice(
|
||||
adbClient: any,
|
||||
device: any,
|
||||
store: Store,
|
||||
): Promise<AndroidDevice> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const type =
|
||||
device.type !== 'device' || device.id.startsWith('emulator')
|
||||
@@ -28,7 +32,8 @@ function createDevice(adbClient, device): Promise<AndroidDevice> {
|
||||
name = (await getRunningEmulatorName(device.id)) || name;
|
||||
}
|
||||
const androidDevice = new AndroidDevice(device.id, type, name, adbClient);
|
||||
androidDevice.reverse();
|
||||
const ports = store.getState().application.serverPorts;
|
||||
androidDevice.reverse([ports.secure, ports.insecure]);
|
||||
resolve(androidDevice);
|
||||
});
|
||||
});
|
||||
@@ -127,7 +132,7 @@ export default (store: Store, logger: Logger) => {
|
||||
|
||||
tracker.on('add', async device => {
|
||||
if (device.type !== 'offline') {
|
||||
registerDevice(client, device);
|
||||
registerDevice(client, device, store);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -135,7 +140,7 @@ export default (store: Store, logger: Logger) => {
|
||||
if (device.type === 'offline') {
|
||||
unregisterDevices([device.id]);
|
||||
} else {
|
||||
registerDevice(client, device);
|
||||
registerDevice(client, device, store);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -156,8 +161,8 @@ export default (store: Store, logger: Logger) => {
|
||||
});
|
||||
};
|
||||
|
||||
async function registerDevice(adbClient: any, deviceData: any) {
|
||||
const androidDevice = await createDevice(adbClient, deviceData);
|
||||
async function registerDevice(adbClient: any, deviceData: any, store: Store) {
|
||||
const androidDevice = await createDevice(adbClient, deviceData, store);
|
||||
logger.track('usage', 'register-device', {
|
||||
os: 'Android',
|
||||
name: androidDevice.title,
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
import {remote, ipcRenderer} from 'electron';
|
||||
import type {Store} from '../reducers/index.js';
|
||||
import type Logger from '../fb-stubs/Logger.js';
|
||||
import {parseFlipperPorts} from '../utils/environmentVariables';
|
||||
|
||||
import {selectPlugin, userPreferredPlugin} from '../reducers/connections';
|
||||
export const uriComponents = (url: string) => {
|
||||
@@ -61,4 +62,14 @@ export default (store: Store, logger: Logger) => {
|
||||
store.dispatch(userPreferredPlugin(match[1]));
|
||||
}
|
||||
});
|
||||
|
||||
if (process.env.FLIPPER_PORTS) {
|
||||
const portOverrides = parseFlipperPorts(process.env.FLIPPER_PORTS);
|
||||
if (portOverrides) {
|
||||
store.dispatch({
|
||||
type: 'SET_SERVER_PORTS',
|
||||
payload: portOverrides,
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user