Chores customize install #23
@@ -48,6 +48,7 @@ const DEFAULT_SETTINGS: AppSettings = {
|
||||
audio_output_device: null, // system default render device (FR-CAP-1)
|
||||
microphone_enabled: true, // capture the user's mic into the transcript (FR-CAP-7)
|
||||
audio_input_device: null, // system default capture device
|
||||
auto_start: false, // launch at login — opt-in, off by default (NFR-RES-4)
|
||||
};
|
||||
|
||||
class SettingsStore {
|
||||
@@ -383,6 +384,18 @@ class SettingsStore {
|
||||
return this.patch({ default_record: on });
|
||||
}
|
||||
|
||||
/** Launch-at-login toggle (NFR-RES-4). Goes through its own command (not
|
||||
* patch) since the backend also writes the per-user OS Run entry; that
|
||||
* command persists auto_start itself, so we just mirror it locally. */
|
||||
async setAutoStart(on: boolean) {
|
||||
this.settings = { ...this.settings, auto_start: on };
|
||||
try {
|
||||
await api.setAutoStart(on);
|
||||
} catch {
|
||||
this.backendStub = true;
|
||||
}
|
||||
}
|
||||
|
||||
setRetentionPolicy(maxAgeDays: number | null, maxSizeGb: number | null) {
|
||||
return this.patch({ retention_max_age_days: maxAgeDays, retention_max_size_gb: maxSizeGb });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user