feat: display toggles, smart session resume, fix stale transcript pane
Three things. 1. Two new display preferences. "Show Tool Calls" and "Show Reasoning" control whether each answer lists the tools Lam called and the model's thinking trace. Both default on, so nothing changes on upgrade. 2. Fix: starting a new chat left the previous conversation in the right pane. The pane rendered the highlighted row's transcript, and Vicinae exposes no way to set the selected row, so the selection could stay put when cmd+N prepended a new chat. The pane now derives from the active session rather than the row, so it follows the chat the user is actually in whatever the selection happens to be. A side benefit is that mount now reads only session summaries, not every transcript. 3. "Start New Chat After" (default 1 hour) starts a fresh chat when the command opens and the last conversation is older than the window. "Never" restores the old always-reopen behaviour, for people who want to stay in their last chat. Old conversations are never deleted; they just sort into their recency section. The setup screen lists all three so the current values are visible without opening preferences. Verified: setup renders "Show Tool Calls: Shown", "Show Reasoning: Shown", "Start New Chat After: After 1 hour" with 17 models reachable. typecheck, eslint, 127 tests and vici build all pass.
This commit is contained in:
+19
-1
@@ -1,6 +1,6 @@
|
||||
import { Action, ActionPanel, Icon, List, openExtensionPreferences } from "@vicinae/api";
|
||||
import { useCallback, useEffect, useMemo, useState } from "react";
|
||||
import { getLamPreferences, needsSetup } from "./lib/preferences";
|
||||
import { describeResumeTimeout, getLamPreferences, needsSetup } from "./lib/preferences";
|
||||
import { listModels } from "./lib/ollama";
|
||||
import type { ModelInfo } from "./lib/types";
|
||||
import { errorMessage } from "./lib/utils";
|
||||
@@ -131,6 +131,24 @@ export default function SetupCommand() {
|
||||
subtitle={preferences.think ?? "Off"}
|
||||
actions={settingsActions}
|
||||
/>
|
||||
<List.Item
|
||||
icon={Icon.BulletPoints}
|
||||
title="Show Tool Calls"
|
||||
subtitle={preferences.showToolCalls ? "Shown" : "Hidden"}
|
||||
actions={settingsActions}
|
||||
/>
|
||||
<List.Item
|
||||
icon={Icon.SpeechBubble}
|
||||
title="Show Reasoning"
|
||||
subtitle={preferences.showReasoning ? "Shown" : "Hidden"}
|
||||
actions={settingsActions}
|
||||
/>
|
||||
<List.Item
|
||||
icon={Icon.ArrowClockwise}
|
||||
title="Start New Chat After"
|
||||
subtitle={describeResumeTimeout(preferences.resumeTimeoutMs)}
|
||||
actions={settingsActions}
|
||||
/>
|
||||
</List.Section>
|
||||
|
||||
{error ? (
|
||||
|
||||
Reference in New Issue
Block a user