diff options
| author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-08-18 23:50:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-18 14:50:59 -0700 |
| commit | 43dee863cd5b9d43d79c603021b747ef290ab544 (patch) | |
| tree | b36768640e0cdd545de75d1c6fad41163b305eb1 /frontend | |
| parent | 55a76826633ba0678f30aca21153cfc446964f0c (diff) | |
| download | decky-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.tsx | 34 | ||||
| -rw-r--r-- | frontend/src/components/settings/pages/general/index.tsx | 2 |
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)} />} |
