diff --git a/Cargo.lock b/Cargo.lock index 527dd8f19..c1f8f6077 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14255,6 +14255,7 @@ dependencies = [ "hound", "language", "listener-interface", + "notification2", "objc2 0.6.1", "objc2-foundation 0.3.1", "rodio", @@ -14368,6 +14369,10 @@ dependencies = [ "thiserror 2.0.12", ] +[[package]] +name = "tauri-plugin-meeting-automation" +version = "0.1.0" + [[package]] name = "tauri-plugin-membership" version = "0.1.0" diff --git a/apps/desktop/src/components/settings/views/general.tsx b/apps/desktop/src/components/settings/views/general.tsx index 0867edff6..02ebd1d79 100644 --- a/apps/desktop/src/components/settings/views/general.tsx +++ b/apps/desktop/src/components/settings/views/general.tsx @@ -74,6 +74,7 @@ const schema = z.object({ telemetryConsent: z.boolean().optional(), jargons: z.string(), saveRecordings: z.boolean().optional(), + autoPauseSilenceMinutes: z.number().min(1).max(60).optional(), }); type Schema = z.infer; @@ -98,6 +99,7 @@ export default function General() { telemetryConsent: true, jargons: "", saveRecordings: true, + autoPauseSilenceMinutes: 10.0, }, }); @@ -109,6 +111,7 @@ export default function General() { telemetryConsent: config.data.general.telemetry_consent ?? true, jargons: (config.data.general.jargons ?? []).join(", "), saveRecordings: config.data.general.save_recordings ?? true, + autoPauseSilenceMinutes: config.data.general.auto_pause_silence_minutes ?? 10.0, }); } }, [config.data, form]); @@ -127,6 +130,7 @@ export default function General() { jargons: v.jargons.split(",").map((jargon) => jargon.trim()).filter(Boolean), save_recordings: v.saveRecordings ?? true, selected_template_id: config.data.general.selected_template_id, + auto_pause_silence_minutes: v.autoPauseSilenceMinutes ?? 10.0, }; await dbCommands.setConfig({ @@ -190,6 +194,41 @@ export default function General() { )} /> + ( + +
+ + Auto-pause after silence + + + Automatically pause recording after this many minutes of silence + +
+ + + +
+ )} + /> + , pub selected_template_id: Option, + pub auto_pause_silence_minutes: Option, } } @@ -57,6 +58,7 @@ impl Default for ConfigGeneral { telemetry_consent: true, save_recordings: Some(true), selected_template_id: None, + auto_pause_silence_minutes: Some(10.0), } } } diff --git a/plugins/db/js/bindings.gen.ts b/plugins/db/js/bindings.gen.ts index a6855cb40..056ced819 100644 --- a/plugins/db/js/bindings.gen.ts +++ b/plugins/db/js/bindings.gen.ts @@ -1,230 +1,367 @@ // @ts-nocheck - // This file was generated by [tauri-specta](https://github.com/oscartbeaumont/tauri-specta). Do not edit this file manually. /** user-defined commands **/ - export const commands = { -async getEvent(id: string) : Promise { + async getEvent(id: string): Promise { return await TAURI_INVOKE("plugin:db|get_event", { id }); -}, -async listEvents(filter: ListEventFilter | null) : Promise { + }, + async listEvents(filter: ListEventFilter | null): Promise { return await TAURI_INVOKE("plugin:db|list_events", { filter }); -}, -async getCalendar(calendarId: string) : Promise { + }, + async getCalendar(calendarId: string): Promise { return await TAURI_INVOKE("plugin:db|get_calendar", { calendarId }); -}, -async listCalendars(userId: string) : Promise { + }, + async listCalendars(userId: string): Promise { return await TAURI_INVOKE("plugin:db|list_calendars", { userId }); -}, -async upsertCalendar(calendar: Calendar) : Promise { + }, + async upsertCalendar(calendar: Calendar): Promise { return await TAURI_INVOKE("plugin:db|upsert_calendar", { calendar }); -}, -async toggleCalendarSelected(trackingId: string) : Promise { - return await TAURI_INVOKE("plugin:db|toggle_calendar_selected", { trackingId }); -}, -async upsertSession(session: Session) : Promise { + }, + async toggleCalendarSelected(trackingId: string): Promise { + return await TAURI_INVOKE("plugin:db|toggle_calendar_selected", { + trackingId, + }); + }, + async upsertSession(session: Session): Promise { return await TAURI_INVOKE("plugin:db|upsert_session", { session }); -}, -async visitSession(id: string) : Promise { + }, + async visitSession(id: string): Promise { return await TAURI_INVOKE("plugin:db|visit_session", { id }); -}, -async listTemplates() : Promise { + }, + async listTemplates(): Promise { return await TAURI_INVOKE("plugin:db|list_templates"); -}, -async upsertTemplate(template: Template) : Promise