Skip to content

Auto Pause #1204

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 39 additions & 0 deletions apps/desktop/src/components/settings/views/general.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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<typeof schema>;
Expand All @@ -98,6 +99,7 @@ export default function General() {
telemetryConsent: true,
jargons: "",
saveRecordings: true,
autoPauseSilenceMinutes: 10.0,
},
});

Expand All @@ -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]);
Expand All @@ -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({
Expand Down Expand Up @@ -190,6 +194,41 @@ export default function General() {
)}
/>

<FormField
control={form.control}
name="autoPauseSilenceMinutes"
render={({ field }) => (
<FormItem className="flex flex-row items-center justify-between">
<div className="space-y-0.5">
<FormLabel>
<Trans>Auto-pause after silence</Trans>
</FormLabel>
<FormDescription>
<Trans>Automatically pause recording after this many minutes of silence</Trans>
</FormDescription>
</div>
<FormControl>
<Select
onValueChange={(value) => field.onChange(parseInt(value))}
value={field.value?.toString()}
>
<SelectTrigger className="w-[120px]">
<SelectValue placeholder="10 min" />
</SelectTrigger>
<SelectContent>
<SelectItem value="5">5 minutes</SelectItem>
<SelectItem value="10">10 minutes</SelectItem>
<SelectItem value="15">15 minutes</SelectItem>
<SelectItem value="20">20 minutes</SelectItem>
<SelectItem value="30">30 minutes</SelectItem>
<SelectItem value="60">60 minutes</SelectItem>
</SelectContent>
</Select>
</FormControl>
</FormItem>
)}
/>

<FormField
control={form.control}
name="telemetryConsent"
Expand Down
9 changes: 8 additions & 1 deletion apps/desktop/src/components/toast/model-download.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,14 @@ export default function ModelDownloadNotification() {
],
dismissible: false,
});
}, [checkForModelDownload.data, sttModelDownloading.data, llmModelDownloading.data, isDismissed, sttModelExists.data, llmModelExists.data]);
}, [
checkForModelDownload.data,
sttModelDownloading.data,
llmModelDownloading.data,
isDismissed,
sttModelExists.data,
llmModelExists.data,
]);

return null;
}
26 changes: 17 additions & 9 deletions apps/desktop/src/locales/en/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ msgstr ""
"Plural-Forms: \n"

#. js-lingui-explicit-id
#: src/components/settings/views/general.tsx:275
#: src/components/settings/views/general.tsx:314
msgid "Type jargons (e.g., Blitz Meeting, PaC Squad)"
msgstr "Type jargons (e.g., Blitz Meeting, PaC Squad)"

Expand Down Expand Up @@ -376,6 +376,14 @@ msgstr "Assistant:"
#~ msgid "Auto (Default)"
#~ msgstr "Auto (Default)"

#: src/components/settings/views/general.tsx:204
msgid "Auto-pause after silence"
msgstr "Auto-pause after silence"

#: src/components/settings/views/general.tsx:207
msgid "Automatically pause recording after this many minutes of silence"
msgstr "Automatically pause recording after this many minutes of silence"

#: src/components/settings/views/integrations.tsx:246
msgid "Base Folder"
msgstr "Base Folder"
Expand Down Expand Up @@ -438,11 +446,11 @@ msgstr "Chat with meeting notes"
#~ msgid "Choose the language you want to use for the speech-to-text model and language model"
#~ msgstr "Choose the language you want to use for the speech-to-text model and language model"

#: src/components/settings/views/general.tsx:177
#: src/components/settings/views/general.tsx:181
msgid "Choose whether to save your recordings locally."
msgstr "Choose whether to save your recordings locally."

#: src/components/settings/views/general.tsx:230
#: src/components/settings/views/general.tsx:269
msgid "Choose your preferred language of use"
msgstr "Choose your preferred language of use"

Expand Down Expand Up @@ -694,7 +702,7 @@ msgstr "Get Started"
msgid "Grant Access"
msgstr "Grant Access"

#: src/components/settings/views/general.tsx:203
#: src/components/settings/views/general.tsx:242
msgid "Help us improve Hyprnote by sharing anonymous usage data"
msgstr "Help us improve Hyprnote by sharing anonymous usage data"

Expand Down Expand Up @@ -743,7 +751,7 @@ msgstr "Invite"
msgid "Invite members"
msgstr "Invite members"

#: src/components/settings/views/general.tsx:263
#: src/components/settings/views/general.tsx:302
msgid "Jargons"
msgstr "Jargons"

Expand All @@ -763,7 +771,7 @@ msgstr "Key decisions"
msgid "Lab"
msgstr "Lab"

#: src/components/settings/views/general.tsx:227
#: src/components/settings/views/general.tsx:266
msgid "Language"
msgstr "Language"

Expand Down Expand Up @@ -1028,7 +1036,7 @@ msgstr "Role"
#~ msgid "Save and close"
#~ msgstr "Save and close"

#: src/components/settings/views/general.tsx:174
#: src/components/settings/views/general.tsx:178
msgid "Save recordings"
msgstr "Save recordings"

Expand Down Expand Up @@ -1085,7 +1093,7 @@ msgstr "Send invite"
msgid "Settings"
msgstr "Settings"

#: src/components/settings/views/general.tsx:200
#: src/components/settings/views/general.tsx:239
msgid "Share usage data"
msgstr "Share usage data"

Expand Down Expand Up @@ -1316,7 +1324,7 @@ msgstr "Works offline"
#~ msgid "Yes, activate speaker"
#~ msgstr "Yes, activate speaker"

#: src/components/settings/views/general.tsx:266
#: src/components/settings/views/general.tsx:305
msgid "You can make Hyprnote takes these words into account when transcribing"
msgstr "You can make Hyprnote takes these words into account when transcribing"

Expand Down
26 changes: 17 additions & 9 deletions apps/desktop/src/locales/ko/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ msgstr ""
"Plural-Forms: \n"

#. js-lingui-explicit-id
#: src/components/settings/views/general.tsx:275
#: src/components/settings/views/general.tsx:314
msgid "Type jargons (e.g., Blitz Meeting, PaC Squad)"
msgstr ""

Expand Down Expand Up @@ -376,6 +376,14 @@ msgstr ""
#~ msgid "Auto (Default)"
#~ msgstr ""

#: src/components/settings/views/general.tsx:204
msgid "Auto-pause after silence"
msgstr ""

#: src/components/settings/views/general.tsx:207
msgid "Automatically pause recording after this many minutes of silence"
msgstr ""

#: src/components/settings/views/integrations.tsx:246
msgid "Base Folder"
msgstr ""
Expand Down Expand Up @@ -438,11 +446,11 @@ msgstr ""
#~ msgid "Choose the language you want to use for the speech-to-text model and language model"
#~ msgstr ""

#: src/components/settings/views/general.tsx:177
#: src/components/settings/views/general.tsx:181
msgid "Choose whether to save your recordings locally."
msgstr ""

#: src/components/settings/views/general.tsx:230
#: src/components/settings/views/general.tsx:269
msgid "Choose your preferred language of use"
msgstr ""

Expand Down Expand Up @@ -694,7 +702,7 @@ msgstr ""
msgid "Grant Access"
msgstr ""

#: src/components/settings/views/general.tsx:203
#: src/components/settings/views/general.tsx:242
msgid "Help us improve Hyprnote by sharing anonymous usage data"
msgstr ""

Expand Down Expand Up @@ -743,7 +751,7 @@ msgstr ""
msgid "Invite members"
msgstr ""

#: src/components/settings/views/general.tsx:263
#: src/components/settings/views/general.tsx:302
msgid "Jargons"
msgstr ""

Expand All @@ -763,7 +771,7 @@ msgstr ""
msgid "Lab"
msgstr ""

#: src/components/settings/views/general.tsx:227
#: src/components/settings/views/general.tsx:266
msgid "Language"
msgstr ""

Expand Down Expand Up @@ -1028,7 +1036,7 @@ msgstr ""
#~ msgid "Save and close"
#~ msgstr ""

#: src/components/settings/views/general.tsx:174
#: src/components/settings/views/general.tsx:178
msgid "Save recordings"
msgstr ""

Expand Down Expand Up @@ -1085,7 +1093,7 @@ msgstr ""
msgid "Settings"
msgstr ""

#: src/components/settings/views/general.tsx:200
#: src/components/settings/views/general.tsx:239
msgid "Share usage data"
msgstr ""

Expand Down Expand Up @@ -1316,7 +1324,7 @@ msgstr ""
#~ msgid "Yes, activate speaker"
#~ msgstr ""

#: src/components/settings/views/general.tsx:266
#: src/components/settings/views/general.tsx:305
msgid "You can make Hyprnote takes these words into account when transcribing"
msgstr ""

Expand Down
2 changes: 2 additions & 0 deletions crates/db-user/src/config_types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ user_common_derives! {
pub telemetry_consent: bool,
pub save_recordings: Option<bool>,
pub selected_template_id: Option<String>,
pub auto_pause_silence_minutes: Option<f64>,
}
}

Expand All @@ -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),
}
}
}
Expand Down
Loading
Loading