diff --git a/packages/app/src/context/file/watcher.test.ts b/packages/app/src/context/file/watcher.test.ts index 9536b52536..dbe745ff7d 100644 --- a/packages/app/src/context/file/watcher.test.ts +++ b/packages/app/src/context/file/watcher.test.ts @@ -7,7 +7,7 @@ describe("file watcher invalidation", () => { const refresh: string[] = [] invalidateFromWatcher( { - type: "file.watcher.updated", + type: "filesystem.changed", properties: { file: "src/new.ts", event: "add", @@ -32,7 +32,7 @@ describe("file watcher invalidation", () => { invalidateFromWatcher( { - type: "file.watcher.updated", + type: "filesystem.changed", properties: { file: "src/open.ts", event: "change", @@ -63,7 +63,7 @@ describe("file watcher invalidation", () => { invalidateFromWatcher( { - type: "file.watcher.updated", + type: "filesystem.changed", properties: { file: "src", event: "change", @@ -81,7 +81,7 @@ describe("file watcher invalidation", () => { invalidateFromWatcher( { - type: "file.watcher.updated", + type: "filesystem.changed", properties: { file: "src/file.ts", event: "change", @@ -111,7 +111,7 @@ describe("file watcher invalidation", () => { invalidateFromWatcher( { - type: "file.watcher.updated", + type: "filesystem.changed", properties: { file: ".git/index.lock", event: "change", diff --git a/packages/app/src/context/file/watcher.ts b/packages/app/src/context/file/watcher.ts index 79cda02195..3b58d31b83 100644 --- a/packages/app/src/context/file/watcher.ts +++ b/packages/app/src/context/file/watcher.ts @@ -16,7 +16,7 @@ type WatcherOps = { } export function invalidateFromWatcher(event: WatcherEvent, ops: WatcherOps) { - if (event.type !== "file.watcher.updated") return + if (event.type !== "filesystem.changed") return const props = typeof event.properties === "object" && event.properties ? (event.properties as Record) : undefined const rawPath = typeof props?.file === "string" ? props.file : undefined diff --git a/packages/app/src/context/notification.tsx b/packages/app/src/context/notification.tsx index cf2ea7bd84..7dbf014f78 100644 --- a/packages/app/src/context/notification.tsx +++ b/packages/app/src/context/notification.tsx @@ -398,15 +398,20 @@ function createServerNotificationState(input: { const unsub = serverSDK().event.listen((e) => { const event = e.details - if (event.type !== "session.idle" && event.type !== "session.execution.failed") return + if ( + event.type !== "session.execution.succeeded" && + event.type !== "session.execution.interrupted" && + event.type !== "session.execution.failed" + ) + return const directory = e.name const time = Date.now() - if (event.type === "session.idle") { - handleSessionIdle(directory, event, time) + if (event.type === "session.execution.failed") { + handleSessionError(directory, event, time) return } - handleSessionError(directory, event, time) + handleSessionIdle(directory, event, time) }) onCleanup(() => { meta.disposed = true diff --git a/packages/app/src/context/server-sync.tsx b/packages/app/src/context/server-sync.tsx index 5ad49e1850..3029ee37e5 100644 --- a/packages/app/src/context/server-sync.tsx +++ b/packages/app/src/context/server-sync.tsx @@ -591,7 +591,6 @@ export function createServerSyncContextInner(serverSDK: ServerSDK) { event.current?.type === "session.moved" || // event.current?.type === "session.archived" || event.current?.type === "session.forked" || - eventType === "command.updated" || eventType === "config.updated" || eventType === "agent.updated" ) @@ -604,6 +603,11 @@ export function createServerSyncContextInner(serverSDK: ServerSDK) { .fetchQuery(queryOptionsApi.agents(key)) .then((data) => setStore("agent", data)) .catch(() => {}) + if (eventType === "command.updated") + void loadCommands(directory, serverSDK.api.command) + .then((commands) => setStore("command", commands)) + .catch(() => {}) + if (eventType === "project.directories.updated") void bootstrap.refetch() applyDirectoryEvent({ event, directory,