Concurrent Function Upgrade for Enhanced Performance (#4918)

Summary:
Republishing sanjaiyan-dev's PR https://github.com/facebook/flipper/pull/4889 running `git rebase` because of a conflict.

Pull Request resolved: https://github.com/facebook/flipper/pull/4918

Reviewed By: lblasa

Differential Revision: D47294545

Pulled By: passy

fbshipit-source-id: 74904ec6179ed5a3bab6f9b701c3cd769ecad3bf
This commit is contained in:
Sanjaiyan Parthipan
2023-07-17 04:43:14 -07:00
committed by Facebook GitHub Bot
parent c8776175c3
commit 7cef8286f9
10 changed files with 54 additions and 26 deletions

View File

@@ -210,8 +210,10 @@ export class FlipperServerImpl implements FlipperServer {
}
private async createFolders() {
await mkdirp(flipperDataFolder);
await mkdirp(flipperSettingsFolder);
await Promise.all([
mkdirp(flipperDataFolder),
mkdirp(flipperSettingsFolder),
]);
}
async startDeviceListeners() {

View File

@@ -82,10 +82,15 @@ export const loadSecureServerConfig = async (): Promise<SecureServerConfig> => {
await ensureOpenSSLIsAvailable();
await certificateSetup();
await generateAuthToken();
const [key, cert, ca] = await Promise.all([
fs.readFile(serverKey),
fs.readFile(serverCert),
fs.readFile(caCert),
]);
serverConfig = {
key: await fs.readFile(serverKey),
cert: await fs.readFile(serverCert),
ca: await fs.readFile(caCert),
key,
cert,
ca,
requestCert: true,
rejectUnauthorized: true, // can be false if necessary as we don't strictly need to verify the client
};

View File

@@ -51,6 +51,11 @@ export async function startFlipperServer(
console.warn('Failed to find desktop path, falling back to homedir');
desktopPath = os.homedir();
}
const [launcherSettings, settings] = await Promise.all([
loadLauncherSettings(enableLauncherSettings),
loadSettings(settingsString),
]);
return new FlipperServerImpl(
{
environmentInfo,
@@ -64,9 +69,9 @@ export async function startFlipperServer(
tempPath: os.tmpdir(),
desktopPath: desktopPath,
},
launcherSettings: await loadLauncherSettings(enableLauncherSettings),
launcherSettings,
processConfig: loadProcessConfig(env),
settings: await loadSettings(settingsString),
settings,
validWebSocketOrigins: ['localhost:', 'http://localhost:'],
type,
},