fix(event): respect tmux integration disabled state in event forwarding

🤖 Generated with assistance of [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
This commit is contained in:
YeonGyu-Kim
2026-04-05 13:27:50 +09:00
parent c9c7b75269
commit 07ccbd2047
2 changed files with 133 additions and 15 deletions
+19 -13
View File
@@ -36,6 +36,7 @@ import { lspManager } from "../tools";
import type { CreatedHooks } from "../create-hooks";
import type { Managers } from "../create-managers";
import { isTmuxIntegrationEnabled } from "../create-runtime-tmux-config";
import { pruneRecentSyntheticIdles } from "./recent-synthetic-idles";
import { normalizeSessionStatusToIdle } from "./session-status-normalizer";
@@ -138,7 +139,8 @@ export function createEventHandler(args: {
managers: Managers;
hooks: CreatedHooks;
}): (input: EventInput) => Promise<void> {
const { ctx, firstMessageVariantGate, managers, hooks } = args;
const { ctx, pluginConfig, firstMessageVariantGate, managers, hooks } = args;
const tmuxIntegrationEnabled = isTmuxIntegrationEnabled(pluginConfig)
const pluginContext = ctx as {
directory: string;
client: {
@@ -344,7 +346,7 @@ export function createEventHandler(args: {
const { event } = input;
const props = event.properties as Record<string, unknown> | undefined;
if (TMUX_ACTIVITY_EVENT_TYPES.has(event.type)) {
if (tmuxIntegrationEnabled && TMUX_ACTIVITY_EVENT_TYPES.has(event.type)) {
managers.tmuxSessionManager.onEvent?.(event as { type: string; properties?: Record<string, unknown> });
}
@@ -357,14 +359,16 @@ export function createEventHandler(args: {
firstMessageVariantGate.markSessionCreated(sessionInfo);
await managers.tmuxSessionManager.onSessionCreated(
event as {
type: string;
properties?: {
info?: { id?: string; parentID?: string; title?: string };
};
},
);
if (tmuxIntegrationEnabled) {
await managers.tmuxSessionManager.onSessionCreated(
event as {
type: string;
properties?: {
info?: { id?: string; parentID?: string; title?: string };
};
},
);
}
}
if (event.type === "session.deleted") {
@@ -394,9 +398,11 @@ export function createEventHandler(args: {
deleteSessionTools(sessionInfo.id);
await managers.skillMcpManager.disconnectSession(sessionInfo.id);
await lspManager.cleanupTempDirectoryClients();
await managers.tmuxSessionManager.onSessionDeleted({
sessionID: sessionInfo.id,
});
if (tmuxIntegrationEnabled) {
await managers.tmuxSessionManager.onSessionDeleted({
sessionID: sessionInfo.id,
});
}
}
}