fix(hooks): make /stop-continuation one-time only and respect in session recovery

- Clear stop state when user sends new message (chat.message handler)
- Add isContinuationStopped check to session error recovery block
- Continuation resumes automatically after user interaction
This commit is contained in:
justsisyphus
2026-01-31 15:24:27 +09:00
parent e63c568c4f
commit 4b5e38f8f8
3 changed files with 58 additions and 1 deletions
+7 -1
View File
@@ -429,6 +429,7 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
}
}
await stopContinuationGuard?.["chat.message"]?.(input);
await keywordDetector?.["chat.message"]?.(input, output);
await claudeCodeHooks["chat.message"]?.(input, output);
await autoSlashCommand?.["chat.message"]?.(input, output);
@@ -591,7 +592,12 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
const recovered =
await sessionRecovery.handleSessionRecovery(messageInfo);
if (recovered && sessionID && sessionID === getMainSessionID()) {
if (
recovered &&
sessionID &&
sessionID === getMainSessionID() &&
!stopContinuationGuard?.isStopped(sessionID)
) {
await ctx.client.session
.prompt({
path: { id: sessionID },