Adds some settings to check flipper-server state

Summary:
There's one setting: to enable or disable flipper-server.

However, I've added some current running state to it. If there's a better way of doing this, please do let me know.

Reviewed By: aigoncharov

Differential Revision: D37276670

fbshipit-source-id: f6c941cf0cfe55c267b9bcb9f799934fba1e28ef
This commit is contained in:
Lorenzo Blasa
2022-06-22 05:26:11 -07:00
committed by Facebook GitHub Bot
parent 8c67b049ab
commit 335dec1a08
7 changed files with 83 additions and 3 deletions

View File

@@ -130,8 +130,14 @@ class SettingsSheet extends Component<Props, State> {
enablePluginMarketplace,
enablePluginMarketplaceAutoUpdate,
marketplaceURL,
server,
} = this.state.updatedSettings;
const serverUsageEnabled = getRenderHostInstance().GK(
'flipper_desktop_use_server',
);
const serverType = getRenderHostInstance().serverConfig.type;
const settingsPristine =
isEqual(this.props.settings, this.state.updatedSettings) &&
isEqual(this.props.launcherSettings, this.state.updatedLauncherSettings);
@@ -381,6 +387,58 @@ class SettingsSheet extends Component<Props, State> {
/>
</ToggledSection>
</NUX>
<ToggledSection
label="Server (Experimental)"
toggled={(serverUsageEnabled && (!server || server.enabled)) ?? false}
frozen={!serverUsageEnabled}
onChange={(v) => {
this.setState((prevState) => ({
updatedSettings: {
...prevState.updatedSettings,
server: {enabled: v},
},
}));
}}>
{serverUsageEnabled ? (
<>
<ConfigText
content={
"For changes to take effect, click on 'Apply and Restart'"
}
/>
{serverType ? (
<>
<ConfigText
content={`Flipper is currently using an '${serverType}' server.`}
/>
{serverType === 'external' ? (
<>
<br />
<span>
To stop the server, it may be necessary to kill the
process listening at port <b>52342</b>. See below:
</span>
<br />
<code>
sudo lsof -i -P | grep LISTEN | grep <b>52342</b>
<br />
sudo kill &lt;PID&gt;
</code>
</>
) : (
<></>
)}
</>
) : (
<></>
)}
</>
) : (
<ConfigText
content={'The usage of flipperd (server) is currently disabled.'}
/>
)}
</ToggledSection>
<Layout.Right center>
<span>Reset all new user tooltips</span>
<ResetTooltips />