From 96be25f4bee6f3352333a74b5425423b42a82927 Mon Sep 17 00:00:00 2001 From: Jacek Chmielewski Date: Wed, 11 Mar 2026 10:49:52 +0100 Subject: [PATCH 1/6] copy adoption logs --- web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx | 5 +++++ .../GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx | 5 +++++ .../steps/MigrationWizardEdgeAdoptionStep.tsx | 5 +++++ .../pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx b/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx index e25220ed0c..266cccf3e5 100644 --- a/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx +++ b/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx @@ -7,6 +7,7 @@ import { WizardCard } from '../../../shared/components/wizard/WizardCard/WizardC import { Button } from '../../../shared/defguard-ui/components/Button/Button'; import { CodeCard } from '../../../shared/defguard-ui/components/CodeCard/CodeCard'; import { SizedBox } from '../../../shared/defguard-ui/components/SizedBox/SizedBox'; +import { useClipboard } from '../../../shared/defguard-ui/hooks/useClipboard'; import { ThemeSpacing } from '../../../shared/defguard-ui/types'; import { useSSEController } from '../../../shared/hooks/useSSEController'; import { EdgeSetupStep } from '../types'; @@ -20,6 +21,7 @@ export const SetupEdgeAdoptionStep = () => { const edgeAdoptionState = useEdgeWizardStore((s) => s.edgeAdoptionState); const setEdgeAdoptionState = useEdgeWizardStore((s) => s.setEdgeAdoptionState); const resetEdgeAdoptionState = useEdgeWizardStore((s) => s.resetEdgeAdoptionState); + const { writeToClipboard } = useClipboard(); const handleEvent = useCallback( (event: SetupEvent) => { @@ -154,6 +156,9 @@ export const SetupEdgeAdoptionStep = () => { { + void writeToClipboard(edgeAdoptionState.proxyLogs.join('\n')); + }} /> diff --git a/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx b/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx index babd602b9f..293e7ec966 100644 --- a/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx +++ b/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx @@ -6,6 +6,7 @@ import { LoadingStep } from '../../../shared/components/LoadingStep/LoadingStep' import { WizardCard } from '../../../shared/components/wizard/WizardCard/WizardCard'; import { Button } from '../../../shared/defguard-ui/components/Button/Button'; import { CodeCard } from '../../../shared/defguard-ui/components/CodeCard/CodeCard'; +import { useClipboard } from '../../../shared/defguard-ui/hooks/useClipboard'; import { useSSEController } from '../../../shared/hooks/useSSEController'; import { GatewaySetupStep } from '../types'; import { useGatewayWizardStore } from '../useGatewayWizardStore'; @@ -20,6 +21,7 @@ export const SetupGatewayAdoptionStep = () => { const resetGatewayAdoptionState = useGatewayWizardStore( (s) => s.resetGatewayAdoptionState, ); + const { writeToClipboard } = useClipboard(); const handleEvent = useCallback( (event: SetupEvent) => { @@ -162,6 +164,9 @@ export const SetupGatewayAdoptionStep = () => { { + void writeToClipboard(gatewayAdoptionState.gatewayLogs.join('\n')); + }} /> ) : null} diff --git a/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx b/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx index da0c1a7319..5895a4c692 100644 --- a/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx +++ b/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx @@ -6,6 +6,7 @@ import { WizardCard } from '../../../shared/components/wizard/WizardCard/WizardC import { Button } from '../../../shared/defguard-ui/components/Button/Button'; import { CodeCard } from '../../../shared/defguard-ui/components/CodeCard/CodeCard'; import { SizedBox } from '../../../shared/defguard-ui/components/SizedBox/SizedBox'; +import { useClipboard } from '../../../shared/defguard-ui/hooks/useClipboard'; import { ThemeSpacing } from '../../../shared/defguard-ui/types'; import { useSSEController } from '../../../shared/hooks/useSSEController'; import type { SetupEvent, SetupStep, SetupStepId } from '../../EdgeSetupPage/steps/types'; @@ -16,6 +17,7 @@ export const MigrationWizardEdgeAdoptionStep = () => { const edgeAdoptionState = useMigrationWizardStore((s) => s.edgeAdoptionState); const setEdgeAdoptionState = useMigrationWizardStore((s) => s.setEdgeAdoptionState); const resetEdgeAdoptionState = useMigrationWizardStore((s) => s.resetEdgeAdoptionState); + const { writeToClipboard } = useClipboard(); const handleEvent = useCallback( (event: SetupEvent) => { @@ -146,6 +148,9 @@ export const MigrationWizardEdgeAdoptionStep = () => { { + void writeToClipboard(edgeAdoptionState.proxyLogs.join('\n')); + }} /> diff --git a/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx b/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx index faa01a5aea..7dad8f67f1 100644 --- a/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx +++ b/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx @@ -6,6 +6,7 @@ import { WizardCard } from '../../../../shared/components/wizard/WizardCard/Wiza import { Button } from '../../../../shared/defguard-ui/components/Button/Button'; import { CodeCard } from '../../../../shared/defguard-ui/components/CodeCard/CodeCard'; import { SizedBox } from '../../../../shared/defguard-ui/components/SizedBox/SizedBox'; +import { useClipboard } from '../../../../shared/defguard-ui/hooks/useClipboard'; import { ThemeSpacing } from '../../../../shared/defguard-ui/types'; import { useSSEController } from '../../../../shared/hooks/useSSEController'; import type { @@ -22,6 +23,7 @@ export const SetupEdgeAdoptionStep = () => { const edgeAdoptionState = useSetupWizardStore((s) => s.edgeAdoptionState); const setEdgeAdoptionState = useSetupWizardStore((s) => s.setEdgeAdoptionState); const resetEdgeAdoptionState = useSetupWizardStore((s) => s.resetEdgeAdoptionState); + const { writeToClipboard } = useClipboard(); const handleEvent = useCallback( (event: SetupEvent) => { @@ -152,6 +154,9 @@ export const SetupEdgeAdoptionStep = () => { { + void writeToClipboard(edgeAdoptionState.proxyLogs.join('\n')); + }} /> From 0ed847b1c657430378353c576eee3e55192d44e2 Mon Sep 17 00:00:00 2001 From: Jacek Chmielewski Date: Wed, 11 Mar 2026 12:11:32 +0100 Subject: [PATCH 2/6] use CodeCard copy prop --- .../pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx | 6 +----- .../GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx | 6 +----- .../steps/MigrationWizardEdgeAdoptionStep.tsx | 6 +----- .../pages/SetupPage/autoAdoption/AutoAdoptionSetupPage.tsx | 7 +------ .../SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx | 6 +----- web/src/shared/defguard-ui | 2 +- 6 files changed, 6 insertions(+), 27 deletions(-) diff --git a/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx b/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx index 266cccf3e5..3d84e51e55 100644 --- a/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx +++ b/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx @@ -7,7 +7,6 @@ import { WizardCard } from '../../../shared/components/wizard/WizardCard/WizardC import { Button } from '../../../shared/defguard-ui/components/Button/Button'; import { CodeCard } from '../../../shared/defguard-ui/components/CodeCard/CodeCard'; import { SizedBox } from '../../../shared/defguard-ui/components/SizedBox/SizedBox'; -import { useClipboard } from '../../../shared/defguard-ui/hooks/useClipboard'; import { ThemeSpacing } from '../../../shared/defguard-ui/types'; import { useSSEController } from '../../../shared/hooks/useSSEController'; import { EdgeSetupStep } from '../types'; @@ -21,7 +20,6 @@ export const SetupEdgeAdoptionStep = () => { const edgeAdoptionState = useEdgeWizardStore((s) => s.edgeAdoptionState); const setEdgeAdoptionState = useEdgeWizardStore((s) => s.setEdgeAdoptionState); const resetEdgeAdoptionState = useEdgeWizardStore((s) => s.resetEdgeAdoptionState); - const { writeToClipboard } = useClipboard(); const handleEvent = useCallback( (event: SetupEvent) => { @@ -156,9 +154,7 @@ export const SetupEdgeAdoptionStep = () => { { - void writeToClipboard(edgeAdoptionState.proxyLogs.join('\n')); - }} + copy /> diff --git a/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx b/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx index 293e7ec966..8c78d86f41 100644 --- a/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx +++ b/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx @@ -6,7 +6,6 @@ import { LoadingStep } from '../../../shared/components/LoadingStep/LoadingStep' import { WizardCard } from '../../../shared/components/wizard/WizardCard/WizardCard'; import { Button } from '../../../shared/defguard-ui/components/Button/Button'; import { CodeCard } from '../../../shared/defguard-ui/components/CodeCard/CodeCard'; -import { useClipboard } from '../../../shared/defguard-ui/hooks/useClipboard'; import { useSSEController } from '../../../shared/hooks/useSSEController'; import { GatewaySetupStep } from '../types'; import { useGatewayWizardStore } from '../useGatewayWizardStore'; @@ -21,7 +20,6 @@ export const SetupGatewayAdoptionStep = () => { const resetGatewayAdoptionState = useGatewayWizardStore( (s) => s.resetGatewayAdoptionState, ); - const { writeToClipboard } = useClipboard(); const handleEvent = useCallback( (event: SetupEvent) => { @@ -164,9 +162,7 @@ export const SetupGatewayAdoptionStep = () => { { - void writeToClipboard(gatewayAdoptionState.gatewayLogs.join('\n')); - }} + copy /> ) : null} diff --git a/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx b/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx index 5895a4c692..f2540a72f4 100644 --- a/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx +++ b/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx @@ -6,7 +6,6 @@ import { WizardCard } from '../../../shared/components/wizard/WizardCard/WizardC import { Button } from '../../../shared/defguard-ui/components/Button/Button'; import { CodeCard } from '../../../shared/defguard-ui/components/CodeCard/CodeCard'; import { SizedBox } from '../../../shared/defguard-ui/components/SizedBox/SizedBox'; -import { useClipboard } from '../../../shared/defguard-ui/hooks/useClipboard'; import { ThemeSpacing } from '../../../shared/defguard-ui/types'; import { useSSEController } from '../../../shared/hooks/useSSEController'; import type { SetupEvent, SetupStep, SetupStepId } from '../../EdgeSetupPage/steps/types'; @@ -17,7 +16,6 @@ export const MigrationWizardEdgeAdoptionStep = () => { const edgeAdoptionState = useMigrationWizardStore((s) => s.edgeAdoptionState); const setEdgeAdoptionState = useMigrationWizardStore((s) => s.setEdgeAdoptionState); const resetEdgeAdoptionState = useMigrationWizardStore((s) => s.resetEdgeAdoptionState); - const { writeToClipboard } = useClipboard(); const handleEvent = useCallback( (event: SetupEvent) => { @@ -148,9 +146,7 @@ export const MigrationWizardEdgeAdoptionStep = () => { { - void writeToClipboard(edgeAdoptionState.proxyLogs.join('\n')); - }} + copy /> diff --git a/web/src/pages/SetupPage/autoAdoption/AutoAdoptionSetupPage.tsx b/web/src/pages/SetupPage/autoAdoption/AutoAdoptionSetupPage.tsx index 6debe3f863..4e7d5b0d8c 100644 --- a/web/src/pages/SetupPage/autoAdoption/AutoAdoptionSetupPage.tsx +++ b/web/src/pages/SetupPage/autoAdoption/AutoAdoptionSetupPage.tsx @@ -11,7 +11,6 @@ import { CodeCard } from '../../../shared/defguard-ui/components/CodeCard/CodeCa import { Divider } from '../../../shared/defguard-ui/components/Divider/Divider'; import { Icon } from '../../../shared/defguard-ui/components/Icon'; import { SizedBox } from '../../../shared/defguard-ui/components/SizedBox/SizedBox'; -import { useClipboard } from '../../../shared/defguard-ui/hooks/useClipboard'; import { ThemeSpacing } from '../../../shared/defguard-ui/types'; import { downloadText } from '../../../shared/utils/download'; import worldMap from '../assets/world-map.png'; @@ -47,8 +46,6 @@ type AutoAdoptionWelcomeContentProps = { const AutoAdoptionFailedWelcomeContent = ({ results, }: AutoAdoptionWelcomeContentProps) => { - const { writeToClipboard } = useClipboard(); - return (
@@ -94,9 +91,7 @@ const AutoAdoptionFailedWelcomeContent = ({ }, )} value={componentLogs} - onCopy={() => { - void writeToClipboard(componentLogs); - }} + copy onDownload={() => { downloadText( componentLogs, diff --git a/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx b/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx index 7dad8f67f1..668b894b3c 100644 --- a/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx +++ b/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx @@ -6,7 +6,6 @@ import { WizardCard } from '../../../../shared/components/wizard/WizardCard/Wiza import { Button } from '../../../../shared/defguard-ui/components/Button/Button'; import { CodeCard } from '../../../../shared/defguard-ui/components/CodeCard/CodeCard'; import { SizedBox } from '../../../../shared/defguard-ui/components/SizedBox/SizedBox'; -import { useClipboard } from '../../../../shared/defguard-ui/hooks/useClipboard'; import { ThemeSpacing } from '../../../../shared/defguard-ui/types'; import { useSSEController } from '../../../../shared/hooks/useSSEController'; import type { @@ -23,7 +22,6 @@ export const SetupEdgeAdoptionStep = () => { const edgeAdoptionState = useSetupWizardStore((s) => s.edgeAdoptionState); const setEdgeAdoptionState = useSetupWizardStore((s) => s.setEdgeAdoptionState); const resetEdgeAdoptionState = useSetupWizardStore((s) => s.resetEdgeAdoptionState); - const { writeToClipboard } = useClipboard(); const handleEvent = useCallback( (event: SetupEvent) => { @@ -154,9 +152,7 @@ export const SetupEdgeAdoptionStep = () => { { - void writeToClipboard(edgeAdoptionState.proxyLogs.join('\n')); - }} + copy /> diff --git a/web/src/shared/defguard-ui b/web/src/shared/defguard-ui index 61d017e5e5..658678b674 160000 --- a/web/src/shared/defguard-ui +++ b/web/src/shared/defguard-ui @@ -1 +1 @@ -Subproject commit 61d017e5e5ac75b687b73ec0b180df274de21a19 +Subproject commit 658678b6740b36e99b9bd86b3f3bb638ad35e625 From 9361c7fffed23e1f2cafbe528db53b02ef136704 Mon Sep 17 00:00:00 2001 From: Jacek Chmielewski Date: Wed, 11 Mar 2026 13:58:57 +0100 Subject: [PATCH 3/6] enable logs download on all adoption screens --- .../pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx | 1 + .../steps/SetupGatewayAdaptationStep.tsx | 1 + .../steps/MigrationWizardEdgeAdoptionStep.tsx | 1 + .../SetupPage/autoAdoption/AutoAdoptionSetupPage.tsx | 9 +-------- .../SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx | 1 + web/src/shared/defguard-ui | 2 +- 6 files changed, 6 insertions(+), 9 deletions(-) diff --git a/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx b/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx index 3d84e51e55..b16b359add 100644 --- a/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx +++ b/web/src/pages/EdgeSetupPage/steps/SetupEdgeAdoptionStep.tsx @@ -155,6 +155,7 @@ export const SetupEdgeAdoptionStep = () => { title={m.edge_setup_adoption_error_log_title()} value={edgeAdoptionState.proxyLogs.join('\n')} copy + download /> diff --git a/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx b/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx index 8c78d86f41..a9fc00afb3 100644 --- a/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx +++ b/web/src/pages/GatewaySetupPage/steps/SetupGatewayAdaptationStep.tsx @@ -163,6 +163,7 @@ export const SetupGatewayAdoptionStep = () => { title={m.gateway_setup_adoption_error_log_title()} value={gatewayAdoptionState.gatewayLogs.join('\n')} copy + download /> ) : null} diff --git a/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx b/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx index f2540a72f4..621819c7e0 100644 --- a/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx +++ b/web/src/pages/MigrationWizardPage/steps/MigrationWizardEdgeAdoptionStep.tsx @@ -147,6 +147,7 @@ export const MigrationWizardEdgeAdoptionStep = () => { title={m.edge_setup_adoption_error_log_title()} value={edgeAdoptionState.proxyLogs.join('\n')} copy + download /> diff --git a/web/src/pages/SetupPage/autoAdoption/AutoAdoptionSetupPage.tsx b/web/src/pages/SetupPage/autoAdoption/AutoAdoptionSetupPage.tsx index 4e7d5b0d8c..18fb77ef3f 100644 --- a/web/src/pages/SetupPage/autoAdoption/AutoAdoptionSetupPage.tsx +++ b/web/src/pages/SetupPage/autoAdoption/AutoAdoptionSetupPage.tsx @@ -12,7 +12,6 @@ import { Divider } from '../../../shared/defguard-ui/components/Divider/Divider' import { Icon } from '../../../shared/defguard-ui/components/Icon'; import { SizedBox } from '../../../shared/defguard-ui/components/SizedBox/SizedBox'; import { ThemeSpacing } from '../../../shared/defguard-ui/types'; -import { downloadText } from '../../../shared/utils/download'; import worldMap from '../assets/world-map.png'; import { AutoAdoptionAdminUserStep } from './steps/AutoAdoptionAdminUserStep'; import { AutoAdoptionMfaSetupStep } from './steps/AutoAdoptionMfaSetupStep'; @@ -92,13 +91,7 @@ const AutoAdoptionFailedWelcomeContent = ({ )} value={componentLogs} copy - onDownload={() => { - downloadText( - componentLogs, - `auto-adoption-error-log-${component}`, - 'txt', - ); - }} + download />
)} diff --git a/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx b/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx index 668b894b3c..bf7ef4d50e 100644 --- a/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx +++ b/web/src/pages/SetupPage/initial/steps/SetupEdgeAdoptionStep.tsx @@ -153,6 +153,7 @@ export const SetupEdgeAdoptionStep = () => { title={m.edge_setup_adoption_error_log_title()} value={edgeAdoptionState.proxyLogs.join('\n')} copy + download /> diff --git a/web/src/shared/defguard-ui b/web/src/shared/defguard-ui index 658678b674..34d9ada1fc 160000 --- a/web/src/shared/defguard-ui +++ b/web/src/shared/defguard-ui @@ -1 +1 @@ -Subproject commit 658678b6740b36e99b9bd86b3f3bb638ad35e625 +Subproject commit 34d9ada1fc1fc7711317bff5bb005c1f781673e1 From 5384020fb9b7cabc1298dac8620e43d5e381d250 Mon Sep 17 00:00:00 2001 From: Jacek Chmielewski Date: Wed, 11 Mar 2026 14:06:26 +0100 Subject: [PATCH 4/6] updaste defguard-ui module --- web/src/shared/defguard-ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/shared/defguard-ui b/web/src/shared/defguard-ui index 34d9ada1fc..cedccbeb62 160000 --- a/web/src/shared/defguard-ui +++ b/web/src/shared/defguard-ui @@ -1 +1 @@ -Subproject commit 34d9ada1fc1fc7711317bff5bb005c1f781673e1 +Subproject commit cedccbeb62e0fc11306e963535067fee41a00bd9 From 233314f117d2d82e7fd03362e7a80a54ee7b0f75 Mon Sep 17 00:00:00 2001 From: Jacek Chmielewski Date: Wed, 11 Mar 2026 15:07:09 +0100 Subject: [PATCH 5/6] update defguard-ui --- web/src/shared/defguard-ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/shared/defguard-ui b/web/src/shared/defguard-ui index cedccbeb62..a03be27a3f 160000 --- a/web/src/shared/defguard-ui +++ b/web/src/shared/defguard-ui @@ -1 +1 @@ -Subproject commit cedccbeb62e0fc11306e963535067fee41a00bd9 +Subproject commit a03be27a3fea5838458172dfb9b35650af15a4bb From e4f5be34ff385aa1bbf487b662068196ead2db2c Mon Sep 17 00:00:00 2001 From: Jacek Chmielewski Date: Wed, 11 Mar 2026 15:25:03 +0100 Subject: [PATCH 6/6] update defguard-ui --- web/src/shared/defguard-ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/shared/defguard-ui b/web/src/shared/defguard-ui index a03be27a3f..4f0511917c 160000 --- a/web/src/shared/defguard-ui +++ b/web/src/shared/defguard-ui @@ -1 +1 @@ -Subproject commit a03be27a3fea5838458172dfb9b35650af15a4bb +Subproject commit 4f0511917cc970a87b7113bd240380d8747e80b9