fix: clean up session cursor state on session deletion
Add resetMessageCursor call in session.deleted handler to prevent unbounded memory growth from orphaned cursor entries.
This commit is contained in:
parent
3de559ff87
commit
ef65f405e8
@ -73,7 +73,7 @@ import { BackgroundManager } from "./features/background-agent";
|
|||||||
import { SkillMcpManager } from "./features/skill-mcp-manager";
|
import { SkillMcpManager } from "./features/skill-mcp-manager";
|
||||||
import { initTaskToastManager } from "./features/task-toast-manager";
|
import { initTaskToastManager } from "./features/task-toast-manager";
|
||||||
import { type HookName } from "./config";
|
import { type HookName } from "./config";
|
||||||
import { log, detectExternalNotificationPlugin, getNotificationConflictWarning } from "./shared";
|
import { log, detectExternalNotificationPlugin, getNotificationConflictWarning, resetMessageCursor } from "./shared";
|
||||||
import { loadPluginConfig } from "./plugin-config";
|
import { loadPluginConfig } from "./plugin-config";
|
||||||
import { createModelCacheState, getModelLimit } from "./plugin-state";
|
import { createModelCacheState, getModelLimit } from "./plugin-state";
|
||||||
import { createConfigHandler } from "./plugin-handlers";
|
import { createConfigHandler } from "./plugin-handlers";
|
||||||
@ -445,6 +445,7 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
|
|||||||
}
|
}
|
||||||
if (sessionInfo?.id) {
|
if (sessionInfo?.id) {
|
||||||
clearSessionAgent(sessionInfo.id);
|
clearSessionAgent(sessionInfo.id);
|
||||||
|
resetMessageCursor(sessionInfo.id);
|
||||||
firstMessageVariantGate.clear(sessionInfo.id);
|
firstMessageVariantGate.clear(sessionInfo.id);
|
||||||
await skillMcpManager.disconnectSession(sessionInfo.id);
|
await skillMcpManager.disconnectSession(sessionInfo.id);
|
||||||
await lspManager.cleanupTempDirectoryClients();
|
await lspManager.cleanupTempDirectoryClients();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user