summaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-08-18 23:50:59 +0200
committerGitHub <noreply@github.com>2022-08-18 14:50:59 -0700
commit43dee863cd5b9d43d79c603021b747ef290ab544 (patch)
treeb36768640e0cdd545de75d1c6fad41163b305eb1 /frontend
parent55a76826633ba0678f30aca21153cfc446964f0c (diff)
downloaddecky-loader-43dee863cd5b9d43d79c603021b747ef290ab544.tar.gz
decky-loader-43dee863cd5b9d43d79c603021b747ef290ab544.zip
Add CEF Remote Debugging toggle (#129)v2.0.5-pre14
* feat: add CEF Remote Debugging toggle * feat: disable remote debugger on startup * refactor: stop debugger instead of disable * feat: add option to allow remote debugging by default Co-authored-by: TrainDoctor <traindoctor@protonmail.com>
Diffstat (limited to 'frontend')
-rw-r--r--frontend/src/components/settings/pages/general/RemoteDebugging.tsx34
-rw-r--r--frontend/src/components/settings/pages/general/index.tsx2
2 files changed, 36 insertions, 0 deletions
diff --git a/frontend/src/components/settings/pages/general/RemoteDebugging.tsx b/frontend/src/components/settings/pages/general/RemoteDebugging.tsx
new file mode 100644
index 00000000..1310263f
--- /dev/null
+++ b/frontend/src/components/settings/pages/general/RemoteDebugging.tsx
@@ -0,0 +1,34 @@
+import { Field, ToggleField } from 'decky-frontend-lib';
+import { useEffect, useState } from 'react';
+import { FaBug } from 'react-icons/fa';
+
+export default function RemoteDebuggingSettings() {
+ const [allowRemoteDebugging, setAllowRemoteDebugging] = useState<boolean>(false);
+ useEffect(() => {
+ (async () => {
+ const res = (await window.DeckyPluginLoader.callServerMethod('remote_debugging_allowed')) as { result: boolean };
+ setAllowRemoteDebugging(res.result);
+ })();
+ }, []);
+
+ return (
+ <Field
+ label="Allow Remote CEF Debugging"
+ description={
+ <span style={{ whiteSpace: 'pre-line' }}>
+ Allow unauthenticated access to the CEF debugger to anyone in your network
+ </span>
+ }
+ icon={<FaBug style={{ display: 'block' }} />}
+ >
+ <ToggleField
+ checked={allowRemoteDebugging}
+ onChange={(toggleValue) => {
+ setAllowRemoteDebugging(toggleValue);
+ if (toggleValue) window.DeckyPluginLoader.callServerMethod('allow_remote_debugging');
+ else window.DeckyPluginLoader.callServerMethod('disallow_remote_debugging');
+ }}
+ />
+ </Field>
+ );
+}
diff --git a/frontend/src/components/settings/pages/general/index.tsx b/frontend/src/components/settings/pages/general/index.tsx
index 7dc5cfa4..16add6bc 100644
--- a/frontend/src/components/settings/pages/general/index.tsx
+++ b/frontend/src/components/settings/pages/general/index.tsx
@@ -3,6 +3,7 @@ import { useState } from 'react';
import { FaShapes } from 'react-icons/fa';
import { installFromURL } from '../../../store/Store';
+import RemoteDebuggingSettings from './RemoteDebugging';
import UpdaterSettings from './Updater';
export default function GeneralSettings() {
@@ -20,6 +21,7 @@ export default function GeneralSettings() {
/>
</Field> */}
<UpdaterSettings />
+ <RemoteDebuggingSettings />
<Field
label="Manual plugin install"
description={<TextField label={'URL'} value={pluginURL} onChange={(e) => setPluginURL(e?.target.value)} />}