diff --git a/src-tauri/src/commands/history.rs b/src-tauri/src/commands/history.rs index bcc15d2..6b9f4d3 100644 --- a/src-tauri/src/commands/history.rs +++ b/src-tauri/src/commands/history.rs @@ -73,7 +73,7 @@ pub async fn update_recording_retention_period( period: String, ) -> Result<(), String> { use crate::settings::RecordingRetentionPeriod; - + let retention_period = match period.as_str() { "never" => RecordingRetentionPeriod::Never, "preserve_limit" => RecordingRetentionPeriod::PreserveLimit, diff --git a/src-tauri/src/commands/mod.rs b/src-tauri/src/commands/mod.rs index 13c6490..9e0d248 100644 --- a/src-tauri/src/commands/mod.rs +++ b/src-tauri/src/commands/mod.rs @@ -28,13 +28,13 @@ pub fn open_recordings_folder(app: AppHandle) -> Result<(), String> { .path() .app_data_dir() .map_err(|e| format!("Failed to get app data directory: {}", e))?; - + let recordings_dir = app_data_dir.join("recordings"); - + let path = recordings_dir.to_string_lossy().as_ref().to_string(); app.opener() .open_path(path, None::) .map_err(|e| format!("Failed to open recordings folder: {}", e))?; - + Ok(()) } diff --git a/src-tauri/src/managers/history.rs b/src-tauri/src/managers/history.rs index 5afc5bc..481d9a9 100644 --- a/src-tauri/src/managers/history.rs +++ b/src-tauri/src/managers/history.rs @@ -229,7 +229,10 @@ impl HistoryManager { Ok(()) } - fn cleanup_by_time(&self, retention_period: crate::settings::RecordingRetentionPeriod) -> Result<()> { + fn cleanup_by_time( + &self, + retention_period: crate::settings::RecordingRetentionPeriod, + ) -> Result<()> { let conn = self.get_connection()?; // Calculate cutoff timestamp (current time minus retention period) @@ -243,7 +246,7 @@ impl HistoryManager { // Get all unsaved entries older than the cutoff timestamp let mut stmt = conn.prepare( - "SELECT id, file_name FROM transcription_history WHERE saved = 0 AND timestamp < ?1" + "SELECT id, file_name FROM transcription_history WHERE saved = 0 AND timestamp < ?1", )?; let rows = stmt.query_map(params![cutoff_timestamp], |row| { @@ -258,7 +261,10 @@ impl HistoryManager { let deleted_count = self.delete_entries_and_files(&entries_to_delete)?; if deleted_count > 0 { - debug!("Cleaned up {} old history entries based on retention period", deleted_count); + debug!( + "Cleaned up {} old history entries based on retention period", + deleted_count + ); } Ok(()) diff --git a/src/components/settings/RecordingRetentionPeriod.tsx b/src/components/settings/RecordingRetentionPeriod.tsx index 41b8428..85b7ce2 100644 --- a/src/components/settings/RecordingRetentionPeriod.tsx +++ b/src/components/settings/RecordingRetentionPeriod.tsx @@ -9,19 +9,19 @@ interface RecordingRetentionPeriodProps { grouped?: boolean; } -export const RecordingRetentionPeriodSelector: React.FC = React.memo( - ({ descriptionMode = "tooltip", grouped = false }) => { - const { - getSetting, - updateSetting, - isUpdating, - } = useSettings(); +export const RecordingRetentionPeriodSelector: React.FC = + React.memo(({ descriptionMode = "tooltip", grouped = false }) => { + const { getSetting, updateSetting, isUpdating } = useSettings(); - const selectedRetentionPeriod = getSetting("recording_retention_period") || "never"; + const selectedRetentionPeriod = + getSetting("recording_retention_period") || "never"; const historyLimit = getSetting("history_limit") || 5; const handleRetentionPeriodSelect = async (period: string) => { - await updateSetting("recording_retention_period", period as RecordingRetentionPeriod); + await updateSetting( + "recording_retention_period", + period as RecordingRetentionPeriod, + ); }; const retentionOptions = [ @@ -48,7 +48,7 @@ export const RecordingRetentionPeriodSelector: React.FC ); - }, -); + }); -RecordingRetentionPeriodSelector.displayName = "RecordingRetentionPeriodSelector"; \ No newline at end of file +RecordingRetentionPeriodSelector.displayName = + "RecordingRetentionPeriodSelector"; diff --git a/src/components/settings/advanced/AdvancedSettings.tsx b/src/components/settings/advanced/AdvancedSettings.tsx index d59662d..b1fbb9b 100644 --- a/src/components/settings/advanced/AdvancedSettings.tsx +++ b/src/components/settings/advanced/AdvancedSettings.tsx @@ -24,4 +24,4 @@ export const AdvancedSettings: React.FC = () => { ); -}; \ No newline at end of file +}; diff --git a/src/components/settings/debug/DebugSettings.tsx b/src/components/settings/debug/DebugSettings.tsx index c0210c9..a4a624c 100644 --- a/src/components/settings/debug/DebugSettings.tsx +++ b/src/components/settings/debug/DebugSettings.tsx @@ -19,7 +19,10 @@ export const DebugSettings: React.FC = () => { /> - + diff --git a/src/lib/types.ts b/src/lib/types.ts index ca6f254..aa649a5 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -50,7 +50,9 @@ export const RecordingRetentionPeriodSchema = z.enum([ "weeks2", "months3", ]); -export type RecordingRetentionPeriod = z.infer; +export type RecordingRetentionPeriod = z.infer< + typeof RecordingRetentionPeriodSchema +>; export const LLMPromptSchema = z.object({ id: z.string(), @@ -98,7 +100,8 @@ export const SettingsSchema = z.object({ model_unload_timeout: ModelUnloadTimeoutSchema.optional().default("never"), word_correction_threshold: z.number().optional().default(0.18), history_limit: z.number().optional().default(5), - recording_retention_period: RecordingRetentionPeriodSchema.optional().default("preserve_limit"), + recording_retention_period: + RecordingRetentionPeriodSchema.optional().default("preserve_limit"), paste_method: PasteMethodSchema.optional().default("ctrl_v"), clipboard_handling: ClipboardHandlingSchema.optional().default("dont_modify"), post_process_enabled: z.boolean().optional().default(false),