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:
@@ -80,6 +80,39 @@
|
||||
{ "title": "Medium", "value": "medium" },
|
||||
{ "title": "High", "value": "high" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "showToolCalls",
|
||||
"title": "Show Tool Calls",
|
||||
"label": "Show which tools Lam used",
|
||||
"description": "List the tools Lam called under each answer, for example web_search or get_datetime.",
|
||||
"type": "checkbox",
|
||||
"required": false,
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "showReasoning",
|
||||
"title": "Show Reasoning",
|
||||
"label": "Show the model's reasoning",
|
||||
"description": "Include the model's thinking trace under each answer. Useful for seeing why a model answered the way it did, but it makes replies much longer.",
|
||||
"type": "checkbox",
|
||||
"required": false,
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"name": "resumeTimeout",
|
||||
"title": "Start New Chat After",
|
||||
"description": "When the command opens, resume the last conversation only if it was used recently. Past this much idle time it starts a fresh chat instead. The old conversation is never deleted — it stays in the sidebar.",
|
||||
"type": "dropdown",
|
||||
"required": false,
|
||||
"default": "1h",
|
||||
"data": [
|
||||
{ "title": "Never — always reopen the last chat", "value": "never" },
|
||||
{ "title": "After 15 minutes", "value": "15m" },
|
||||
{ "title": "After 1 hour", "value": "1h" },
|
||||
{ "title": "After 6 hours", "value": "6h" },
|
||||
{ "title": "After 1 day", "value": "1d" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
|
||||
Reference in New Issue
Block a user