diff --git a/desktop/src-tauri/capabilities/default.json b/desktop/src-tauri/capabilities/default.json index 02123d46..758ad77c 100644 --- a/desktop/src-tauri/capabilities/default.json +++ b/desktop/src-tauri/capabilities/default.json @@ -100,6 +100,7 @@ }, "dialog:allow-open", "dialog:allow-save", + "dialog:allow-message", "notification:default", "process:allow-exit", "process:allow-restart", diff --git a/desktop/src/__tests__/tauriCapabilities.test.ts b/desktop/src/__tests__/tauriCapabilities.test.ts new file mode 100644 index 00000000..68e6bf65 --- /dev/null +++ b/desktop/src/__tests__/tauriCapabilities.test.ts @@ -0,0 +1,31 @@ +import { describe, expect, it } from 'vitest' +import defaultCapabilityJson from '../../src-tauri/capabilities/default.json?raw' + +function readDefaultCapabilityPermissions(): string[] { + const capability = JSON.parse(defaultCapabilityJson) as { + permissions?: unknown[] + } + + return (capability.permissions ?? []).filter((permission): permission is string => + typeof permission === 'string' + ) +} + +describe('Tauri default capability', () => { + it('allows the dialog message API used by Tauri alert/confirm shims', () => { + const permissions = readDefaultCapabilityPermissions() + + expect( + permissions.some(permission => + permission === 'dialog:default' || permission === 'dialog:allow-message' + ) + ).toBe(true) + }) + + it('keeps file dialog access enabled', () => { + const permissions = readDefaultCapabilityPermissions() + + expect(permissions).toContain('dialog:allow-open') + expect(permissions).toContain('dialog:allow-save') + }) +})