You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: release lock before streaming and add kernel interrupt support
Fixes#213 — asyncio.Lock in messaging.py not released on client disconnect,
causing cascading timeouts.
Changes:
- Narrow lock scope in ContextWebSocket.execute() to only cover the
prepare+send phase (Phase A), releasing it before result streaming
(Phase B). This prevents orphaned locks on client disconnect.
- Schedule env var cleanup task under the lock (before release) to
avoid the race condition flagged in PRs #234/#235.
- Add POST /contexts/{id}/interrupt endpoint that calls Jupyter's
kernel interrupt API, allowing clients to stop long-running code
without restarting the kernel (preserves state).
- Add interrupt_code_context/interruptCodeContext to Python and JS SDKs.
Co-Authored-By: vasek <vasek.mlejnsky@gmail.com>
0 commit comments