summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-27 20:26:02 +0900
committerAdam Malczewski <[email protected]>2026-06-27 20:26:02 +0900
commitb70ae547fdcb8c1794981957485537dc21a8b5fd (patch)
treee2617564fb2a0f430d5fa4170806120fa2890346 /src
parentf5dc22f7c14d6c0dd4bcedee5a85b21ecd294aed (diff)
downloaddispatch-web-b70ae547fdcb8c1794981957485537dc21a8b5fd.tar.gz
dispatch-web-b70ae547fdcb8c1794981957485537dc21a8b5fd.zip
refactor(vision): fold Vision settings into the Compaction sidebar view
Both pertain to compaction (message compaction + image compaction), so they share one sidebar panel. Removes the standalone "Vision" view kind; the VisionSettingsView now renders inside the Compaction panel, below CompactionView (with an "Image compaction" divider). CompactionView stays keyed per conversation (its percent is per-conversation); VisionSettingsView stays un-keyed (its settings are global). The vision feature library + manifest are unchanged (still a composed module). A persisted "vision" sidebar panel gracefully renders empty (the kind is no longer in viewKinds) until the user re-selects Compaction. Verification: svelte-check 0/0; vitest 959/959; biome clean; build OK. Not merged or pushed.
Diffstat (limited to 'src')
-rw-r--r--src/app/App.svelte8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/app/App.svelte b/src/app/App.svelte
index 7d70f67..e521167 100644
--- a/src/app/App.svelte
+++ b/src/app/App.svelte
@@ -113,7 +113,6 @@
{ id: "cache-warming", label: "Cache Warming" },
{ id: "tasks", label: "Tasks" },
{ id: "compaction", label: "Compaction" },
- { id: "vision", label: "Vision" },
{ id: "heartbeat", label: "Heartbeat" },
{ id: "system-prompt", label: "System Prompt" },
{ id: "settings", label: "Settings" },
@@ -683,7 +682,9 @@
{/if}
{/key}
{:else if kind === "compaction"}
- <!-- Re-mount per conversation so the percent + feedback can't bleed across tabs. -->
+ <!-- Message compaction is per-conversation (keyed so the percent + feedback
+ can't bleed across tabs). Vision (image-compaction) settings are GLOBAL,
+ so they stay mounted across conversation switches (no {#key}). -->
{#key store.currentConversationId}
<CompactionView
percent={store.compactPercent}
@@ -692,8 +693,7 @@
savePercent={saveCompactPercent}
/>
{/key}
- {:else if kind === "vision"}
- <!-- Global vision settings (image compaction). Not conversation-scoped (no {#key}). -->
+ <div class="divider my-1 text-xs text-base-content/40">Image compaction</div>
<VisionSettingsView
models={store.models}
modelInfo={store.modelInfo}