From ede7e047fa81c9a1713fc317a8f7ab332ce04362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20=C5=9Al=C4=99zak?= Date: Mon, 15 Sep 2025 10:18:09 +0200 Subject: [PATCH] add missing permissions --- src-tauri/capabilities/default.json | 1 + .../components/GlobalLogs/GlobalLogs.tsx | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json index 845f9a65..c171d2b6 100644 --- a/src-tauri/capabilities/default.json +++ b/src-tauri/capabilities/default.json @@ -41,6 +41,7 @@ "core:webview:allow-print", "deep-link:default", "fs:default", + "fs:allow-write-text-file", "log:default", "notification:default", "os:default", diff --git a/src/pages/client/pages/ClientSettingsPage/components/GlobalLogs/GlobalLogs.tsx b/src/pages/client/pages/ClientSettingsPage/components/GlobalLogs/GlobalLogs.tsx index 6897cb56..c6f14053 100644 --- a/src/pages/client/pages/ClientSettingsPage/components/GlobalLogs/GlobalLogs.tsx +++ b/src/pages/client/pages/ClientSettingsPage/components/GlobalLogs/GlobalLogs.tsx @@ -4,6 +4,7 @@ import { listen, type UnlistenFn } from '@tauri-apps/api/event'; import * as clipboard from '@tauri-apps/plugin-clipboard-manager'; import { save } from '@tauri-apps/plugin-dialog'; import { writeTextFile } from '@tauri-apps/plugin-fs'; +import { error } from '@tauri-apps/plugin-log'; import { useCallback, useEffect, useRef } from 'react'; import { useI18nContext } from '../../../../../../i18n/i18n-react'; import { ActionButton } from '../../../../../../shared/defguard-ui/components/Layout/ActionButton/ActionButton'; @@ -29,10 +30,20 @@ export const GlobalLogs = () => { const { startGlobalLogWatcher, stopGlobalLogWatcher } = clientApi; const handleLogsDownload = async () => { - const path = await save({}); + const path = await save({ + filters: [ + { + name: 'Logs', + extensions: ['txt', 'log'], + }, + ], + }); + if (path) { const logs = getAllLogs(); await writeTextFile(path, logs); + } else { + error('Failed to save logs! Path was null'); } };