fix(hooks): compose session recovery callbacks for continuation enforcers
Cubic found that registering task-continuation-enforcer recovery callbacks overrode the todo-continuation-enforcer callbacks. Compose the callbacks so both enforcers receive abort/recovery notifications.
This commit is contained in:
parent
551dbc95f2
commit
01594a67af
21
src/index.ts
21
src/index.ts
@ -374,12 +374,7 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
|
|||||||
)
|
)
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
if (sessionRecovery && todoContinuationEnforcer) {
|
// sessionRecovery callbacks are setters; compose callbacks so both enforcers are notified.
|
||||||
sessionRecovery.setOnAbortCallback(todoContinuationEnforcer.markRecovering);
|
|
||||||
sessionRecovery.setOnRecoveryCompleteCallback(
|
|
||||||
todoContinuationEnforcer.markRecoveryComplete,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const backgroundNotificationHook = isHookEnabled("background-notification")
|
const backgroundNotificationHook = isHookEnabled("background-notification")
|
||||||
? createBackgroundNotificationHook(backgroundManager)
|
? createBackgroundNotificationHook(backgroundManager)
|
||||||
@ -487,11 +482,15 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
|
|||||||
})
|
})
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
if (sessionRecovery && taskContinuationEnforcer) {
|
if (sessionRecovery && (todoContinuationEnforcer || taskContinuationEnforcer)) {
|
||||||
sessionRecovery.setOnAbortCallback(taskContinuationEnforcer.markRecovering);
|
sessionRecovery.setOnAbortCallback((sessionID) => {
|
||||||
sessionRecovery.setOnRecoveryCompleteCallback(
|
todoContinuationEnforcer?.markRecovering(sessionID);
|
||||||
taskContinuationEnforcer.markRecoveryComplete,
|
taskContinuationEnforcer?.markRecovering(sessionID);
|
||||||
);
|
});
|
||||||
|
sessionRecovery.setOnRecoveryCompleteCallback((sessionID) => {
|
||||||
|
todoContinuationEnforcer?.markRecoveryComplete(sessionID);
|
||||||
|
taskContinuationEnforcer?.markRecoveryComplete(sessionID);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const taskToolsRecord: Record<string, ToolDefinition> = taskSystemEnabled
|
const taskToolsRecord: Record<string, ToolDefinition> = taskSystemEnabled
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user