Chores customize install #23
@@ -48,6 +48,7 @@ const DEFAULT_SETTINGS: AppSettings = {
|
|||||||
audio_output_device: null, // system default render device (FR-CAP-1)
|
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)
|
microphone_enabled: true, // capture the user's mic into the transcript (FR-CAP-7)
|
||||||
audio_input_device: null, // system default capture device
|
audio_input_device: null, // system default capture device
|
||||||
|
auto_start: false, // launch at login — opt-in, off by default (NFR-RES-4)
|
||||||
};
|
};
|
||||||
|
|
||||||
class SettingsStore {
|
class SettingsStore {
|
||||||
@@ -383,6 +384,18 @@ class SettingsStore {
|
|||||||
return this.patch({ default_record: on });
|
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) {
|
setRetentionPolicy(maxAgeDays: number | null, maxSizeGb: number | null) {
|
||||||
return this.patch({ retention_max_age_days: maxAgeDays, retention_max_size_gb: maxSizeGb });
|
return this.patch({ retention_max_age_days: maxAgeDays, retention_max_size_gb: maxSizeGb });
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user