diff --git a/appviews/src/Administrate/administrate-store.ts b/appviews/src/Administrate/administrate-store.ts index 91bc85a4a..ff88533b0 100644 --- a/appviews/src/Administrate/administrate-store.ts +++ b/appviews/src/Administrate/administrate-store.ts @@ -53,12 +53,14 @@ export interface AdvancedState { appcastEndpointOverride?: string; appcastEndpointDefault: string; appVersions?: { [key: string]: string }; + webviewDebugging: boolean; } export type AdvancedAction = | { case: 'pairqlEndpointSet'; url?: string } | { case: 'websocketEndpointSet'; url?: string } | { case: 'appcastEndpointSet'; url?: string } + | { case: 'setWebviewDebugging'; enabled: boolean } | { case: 'forceUpdateToSpecificVersionClicked'; version: string } | { case: 'deleteAllDeviceStorageClicked' }; diff --git a/appviews/src/Administrate/screens/HiddenAdvancedScreen.tsx b/appviews/src/Administrate/screens/HiddenAdvancedScreen.tsx index 601f71d1c..9da70f5b8 100644 --- a/appviews/src/Administrate/screens/HiddenAdvancedScreen.tsx +++ b/appviews/src/Administrate/screens/HiddenAdvancedScreen.tsx @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import { TextInput, Button, SelectMenu } from '@shared/components'; +import { TextInput, Button, SelectMenu, Toggle } from '@shared/components'; import { typesafe } from '@shared/ts-utils'; import type { AdvancedAction, AdvancedState } from '../administrate-store'; @@ -18,6 +18,7 @@ const HiddenAdvancedScreen: React.FC = ({ appcastEndpointDefault, appcastEndpointOverride, appVersions, + webviewDebugging, }) => { const [pqlOverride, setPqlOverride] = useState(pairqlEndpointOverride ?? ``); const [wsOverride, setWsOverride] = useState(websocketEndpointOverride ?? ``); @@ -147,6 +148,20 @@ const HiddenAdvancedScreen: React.FC = ({ Clear +
+
+

+ Webview debugging enabled: +

+

+ Restart app to debug menu bar, use environment variable for onboarding +

+
+ emit({ case: `setWebviewDebugging`, enabled })} + /> +
); }; diff --git a/storybook/stories/macos-app/Administrate.stories.tsx b/storybook/stories/macos-app/Administrate.stories.tsx index 9fb36a2b2..31dadaa9d 100644 --- a/storybook/stories/macos-app/Administrate.stories.tsx +++ b/storybook/stories/macos-app/Administrate.stories.tsx @@ -136,6 +136,7 @@ export const Advanced: Story = props({ pairqlEndpointDefault: `https://api.getrude.app/pairql`, websocketEndpointDefault: `https://api.getrude.app/websocket-app`, appcastEndpointDefault: `https://api.getrude.app/appcast.xml`, + webviewDebugging: false, appVersions: { '2.1.1': `2.1.1`, '2.2.0': `2.2.0 (beta)`,