Skip to content

Commit 69fbd7a

Browse files
committed
merge
1 parent 61211e0 commit 69fbd7a

File tree

4 files changed

+14
-10
lines changed

4 files changed

+14
-10
lines changed

apps/array/src/renderer/features/sessions/components/ConversationView.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ import {
1212
isJsonRpcResponse,
1313
} from "@shared/types/session-events";
1414
import { useMemo } from "react";
15-
import {
16-
GitActionMessage,
17-
parseGitActionMessage,
18-
} from "./GitActionMessage";
15+
import { GitActionMessage, parseGitActionMessage } from "./GitActionMessage";
1916
import { GitActionResult } from "./GitActionResult";
2017
import { SessionFooter } from "./SessionFooter";
2118
import {

apps/array/src/renderer/features/sessions/components/ModelSelector.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export function ModelSelector({
2222
const defaultModel = useSettingsStore((state) => state.defaultModel);
2323
const setDefaultModel = useSettingsStore((state) => state.setDefaultModel);
2424
const { setSessionModel } = useSessionActions();
25-
const session = useSessionForTask(taskId ?? "");
25+
const session = useSessionForTask(taskId);
2626

2727
// Use session model if available, otherwise fall back to default
2828
const activeModel = session?.model ?? defaultModel;

apps/array/src/renderer/features/sessions/hooks/useKeyboardShortcut.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useEffect } from "react";
1+
import { useEffect, useLayoutEffect, useRef } from "react";
22

33
interface Options {
44
enabled?: boolean;
@@ -10,17 +10,22 @@ export function useKeyboardShortcut(
1010
options: Options = {},
1111
): void {
1212
const { enabled = true } = options;
13+
const callbackRef = useRef(callback);
14+
15+
useLayoutEffect(() => {
16+
callbackRef.current = callback;
17+
});
1318

1419
useEffect(() => {
1520
if (!enabled) return;
1621

1722
function handleKeyDown(e: KeyboardEvent) {
1823
if (e.key === key) {
19-
callback();
24+
callbackRef.current();
2025
}
2126
}
2227

2328
window.addEventListener("keydown", handleKeyDown);
2429
return () => window.removeEventListener("keydown", handleKeyDown);
25-
}, [key, callback, enabled]);
30+
}, [key, enabled]);
2631
}

apps/array/src/renderer/features/sessions/stores/sessionStore.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -563,9 +563,11 @@ const useStore = create<SessionStore>()(
563563

564564
export const useSessions = () => useStore((s) => s.sessions);
565565
export const useSessionActions = () => useStore((s) => s.actions);
566-
export const useSessionForTask = (taskId: string) =>
566+
export const useSessionForTask = (taskId: string | undefined) =>
567567
useStore((s) =>
568-
Object.values(s.sessions).find((session) => session.taskId === taskId),
568+
taskId
569+
? Object.values(s.sessions).find((session) => session.taskId === taskId)
570+
: undefined,
569571
);
570572
export const getSessionActions = () => useStore.getState().actions;
571573

0 commit comments

Comments
 (0)