feat(frontend): auto-consolidate tasks toggle in General settings
New Tasks section in the General tab with a single checkbox controlling whether the consolidation pipeline fires automatically. Persists to the auto_consolidate_tasks user setting (string 'true'/'false'). Manual 'Re-consolidate' in the task editor bypasses the gate.
This commit is contained in:
@@ -19,6 +19,21 @@ const defaultModel = ref("");
|
||||
const userTimezone = ref("");
|
||||
const savingTimezone = ref(false);
|
||||
const timezoneSaved = ref(false);
|
||||
const autoConsolidateTasks = ref(true);
|
||||
const savingAutoConsolidate = ref(false);
|
||||
|
||||
async function saveAutoConsolidate() {
|
||||
savingAutoConsolidate.value = true;
|
||||
try {
|
||||
await apiPut('/api/settings', {
|
||||
auto_consolidate_tasks: autoConsolidateTasks.value ? "true" : "false",
|
||||
});
|
||||
} catch {
|
||||
toastStore.show('Failed to save setting', 'error');
|
||||
} finally {
|
||||
savingAutoConsolidate.value = false;
|
||||
}
|
||||
}
|
||||
|
||||
function detectTimezone() {
|
||||
userTimezone.value = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
@@ -754,6 +769,8 @@ onMounted(async () => {
|
||||
defaultModel.value = allSettings.default_model ?? "";
|
||||
backgroundModel.value = allSettings.background_model ?? "";
|
||||
userTimezone.value = allSettings.user_timezone ?? "";
|
||||
// Default true if unset; explicit "false" disables auto-consolidation.
|
||||
autoConsolidateTasks.value = (allSettings.auto_consolidate_tasks ?? "true") !== "false";
|
||||
chatRetentionDays.value = allSettings.chat_retention_days !== undefined
|
||||
? Number(allSettings.chat_retention_days)
|
||||
: 90;
|
||||
@@ -1510,6 +1527,29 @@ function formatUserDate(iso: string): string {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Tasks -->
|
||||
<section class="settings-section full-width">
|
||||
<h2>Tasks</h2>
|
||||
<p class="section-desc">
|
||||
Task bodies are auto-summarized from accumulated work logs. The summary runs every few logs, plus on task close.
|
||||
</p>
|
||||
<div class="field">
|
||||
<label class="checkbox-label">
|
||||
<input
|
||||
type="checkbox"
|
||||
v-model="autoConsolidateTasks"
|
||||
:disabled="savingAutoConsolidate"
|
||||
@change="saveAutoConsolidate"
|
||||
/>
|
||||
Auto-consolidate task bodies
|
||||
</label>
|
||||
<p class="field-hint">
|
||||
When off, the task body is only refreshed when you click "Re-consolidate"
|
||||
on a task. Existing summaries remain in place.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Timezone -->
|
||||
<section class="settings-section full-width">
|
||||
<h2>Timezone</h2>
|
||||
|
||||
Reference in New Issue
Block a user