chore(hardening): tighten security and footprint defaults

This commit is contained in:
2026-04-24 19:03:57 +01:00
parent 55b34d8ffc
commit b333c6229e
36 changed files with 8702 additions and 254 deletions

View File

@@ -1805,6 +1805,14 @@
{/if}
</p>
</div>
<div class="mt-5">
<Toggle
bind:checked={settings.prewarmModelOnStartup}
label="Prewarm transcription model on startup"
description="Loads Whisper after the app opens. Faster first capture, but higher idle memory use."
/>
</div>
</div>
{/if}
</div>

View File

@@ -64,6 +64,7 @@ const defaults: SettingsState = {
llmModelId: null,
llmPromptPreset: "default",
aiGpuConcurrency: "parallel",
prewarmModelOnStartup: false,
saveAudio: false,
outputFolder: "",
globalHotkey: "Ctrl+Shift+R",

View File

@@ -51,6 +51,7 @@ export interface SettingsState {
llmModelId: LlmModelIdStr | null;
llmPromptPreset: LlmPromptPreset;
aiGpuConcurrency: AiGpuConcurrency;
prewarmModelOnStartup: boolean;
saveAudio: boolean;
outputFolder: string;
globalHotkey: string;

View File

@@ -324,6 +324,10 @@
// calls from DictationPage around cleanup_transcript_text_cmd.
refreshLlmStatus(settings.aiTier).catch(() => {});
if (settings.prewarmModelOnStartup) {
invoke("prewarm_default_model_cmd").catch(() => {});
}
// Meeting auto-capture: poll the process list and toast when a match
// appears (edge-triggered — no repeat toasts until the app goes away
// and comes back). We never start recording from this signal; the