Skip to content

repl: Use split() on shell and control dealer sockets#48823

Merged
miguelraz merged 1 commit intozed-industries:mainfrom
rgbkrk:shell-socket-split
Feb 10, 2026
Merged

repl: Use split() on shell and control dealer sockets#48823
miguelraz merged 1 commit intozed-industries:mainfrom
rgbkrk:shell-socket-split

Conversation

@rgbkrk
Copy link
Collaborator

@rgbkrk rgbkrk commented Feb 9, 2026

Hot on the heels of #48817 I'm bringing the best improvement to the repl underneath: split()-able sockets! Much more will be unlocked by having this.

This split the shell and control DealerSocket connections into independent send/recv halves using the new split() API from zeromq 0.5.0 and runtimelib 1.x. This also nicely cleaned things up so we could have a single select! loop over iopub, shell, and control recv halves. That replaces three separate recv tasks.

This likely closes some issues for certain kernels that would get stuck either during startup or other flows due to them not sending replies to specific requests. I'll see if I can find some issues people already reported I can link back to this.

This allows us to unlock some nifty new things we can do on the shell socket, particularly autocompletion for in-memory values, stdin support, and others. I think it also help with sending and receving KernelInfo, which not all kernels do properly at the start. This makes us a bit more resilient to errant kernels.

Release Notes:

  • N/A

Split the shell and control DealerSocket connections into independent
send/recv halves using the new split() API from zeromq 0.5.0 and
runtimelib 1.x.

A single `select!` loop over iopub, shell, and control recv
halves replaces the three separate recv tasks.
@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label Feb 9, 2026
@rgbkrk rgbkrk added the area:repl repl, jupyter, notebooks, etc label Feb 9, 2026
@github-actions github-actions bot added the community champion Issues filed by our amazing community champions! 🫶 label Feb 9, 2026
@miguelraz miguelraz merged commit 24d9c00 into zed-industries:main Feb 10, 2026
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:repl repl, jupyter, notebooks, etc cla-signed The user has signed the Contributor License Agreement community champion Issues filed by our amazing community champions! 🫶

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants