generated from nhcarrigan/template
feat: CLI v2.1.68–v2.1.74 compatibility updates (#221)
## Summary This PR brings Hikari Desktop up to full compatibility with Claude Code CLI versions v2.1.68 through v2.1.74, implementing all changelog items audited in issues #200–#218. ## Changes ### Bug Fixes - Remove deprecated Claude Opus 4.0 and 4.1 models from the model selector - Auto-migrate users pinned to deprecated models to Opus 4.6 ### New Features - Add cron tool support (`CronCreate`, `CronDelete`, `CronList`) with character state mapping and `CLAUDE_CODE_DISABLE_CRON` settings toggle - Handle `EnterWorktree` and `ExitWorktree` tools in character state mapping and tool display - Add CLI update check with npm registry indicator in the version bar - Add `agent_type` field and support the Agent tool rename from CLI v2.1.69 - Consume `worktree` field from status line hook events - Display per-agent model override in the agent monitor tree - Expose Claude Code CLI built-in slash commands (`/simplify`, `/loop`, `/batch`, `/memory`, `/context`) in the command menu with CLI badges - Add `includeGitInstructions` toggle in settings - Add `ENABLE_CLAUDEAI_MCP_SERVERS` opt-out setting - Linkify MCP binary file paths (PDFs, audio, Office docs) in markdown output - Add auto-memory panel, `/memory` slash command shortcut, and unified toast notification system - Toast notifications for `WorktreeCreate` and `WorktreeRemove` hook events - Sort session resume list by most recent activity, with most recent user message as preview - Convert WSL Linux paths to Windows UNC paths when opening binary files via `open_binary_file` command - Expose `autoMemoryDirectory` setting in ConfigSidebar (Agent Settings section) - Add `/context` as a CLI built-in in the slash command menu - Expose `modelOverrides` setting as a JSON textarea in ConfigSidebar (for AWS Bedrock, Google Vertex, etc.) > **Note:** The CLI update check commit does not have a corresponding issue — it was a bonus addition during the audit sprint. ## Closes Closes #200 Closes #201 Closes #202 Closes #205 Closes #206 Closes #207 Closes #208 Closes #209 Closes #210 Closes #211 Closes #212 Closes #213 Closes #214 Closes #215 Closes #216 Closes #217 Closes #218 Reviewed-on: #221 Co-authored-by: Hikari <hikari@nhcarrigan.com> Co-committed-by: Hikari <hikari@nhcarrigan.com>
This commit was merged in pull request #221.
This commit is contained in:
+17
-11
@@ -378,7 +378,11 @@ function createSessionsStore() {
|
||||
isLoading.set(true);
|
||||
try {
|
||||
const result = await invoke<SessionListItem[]>("list_sessions");
|
||||
sessions.set(result);
|
||||
sessions.set(
|
||||
result.sort(
|
||||
(a, b) => new Date(b.last_activity_at).getTime() - new Date(a.last_activity_at).getTime()
|
||||
)
|
||||
);
|
||||
} catch (error) {
|
||||
console.error("Failed to load sessions:", error);
|
||||
} finally {
|
||||
@@ -395,15 +399,13 @@ function createSessionsStore() {
|
||||
tool_name: line.toolName,
|
||||
}));
|
||||
|
||||
const userAndAssistantMessages = conversation.terminalLines.filter(
|
||||
(line) => line.type === "user" || line.type === "assistant"
|
||||
);
|
||||
const previewContent =
|
||||
userAndAssistantMessages
|
||||
.slice(0, 3)
|
||||
.map((m) => m.content)
|
||||
.join(" ")
|
||||
.slice(0, 150) + (userAndAssistantMessages.length > 3 ? "..." : "");
|
||||
const userMessages = conversation.terminalLines.filter((line) => line.type === "user");
|
||||
const mostRecentUserMessage = userMessages.at(-1);
|
||||
const previewContent = mostRecentUserMessage
|
||||
? mostRecentUserMessage.content.length > 150
|
||||
? mostRecentUserMessage.content.slice(0, 150) + "..."
|
||||
: mostRecentUserMessage.content
|
||||
: "Empty conversation";
|
||||
|
||||
const session: SavedSession = {
|
||||
id: conversation.id,
|
||||
@@ -458,7 +460,11 @@ function createSessionsStore() {
|
||||
const result = await invoke<SessionListItem[]>("search_sessions", {
|
||||
query,
|
||||
});
|
||||
sessions.set(result);
|
||||
sessions.set(
|
||||
result.sort(
|
||||
(a, b) => new Date(b.last_activity_at).getTime() - new Date(a.last_activity_at).getTime()
|
||||
)
|
||||
);
|
||||
} catch (error) {
|
||||
console.error("Failed to search sessions:", error);
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user