Thank you very much! Our messages appear to always add a "buffers" field even when the list of buffers is empty. I'll fix that.
On Monday, December 18, 2017 at 1:17:35 PM UTC-5, Jason Grout wrote: > > The websocket frames are sent in either binary or text, depending on > whether there are binary buffers encoded in the message (it is a > per-message decision, not an overall decision). The decision logic is here: > https://github.com/jupyter/notebook/blob/ca50f1af5afb525fd95b98b2e61e69db28094467/notebook/base/zmqhandlers.py#L230 > > I think it would be very useful to have either something that can log the > messages in the kernel, right around that logic. Another interesting change > would be to have a debug switch in the notebook server that encodes any > binary message buffers with base64 so the websocket message can still be a > text websocket frame. Another place to put the logging logic is in the > frontend, after the message has been converted back into a native js object. > > Jason > > > On Mon, Dec 18, 2017 at 6:23 AM Christian Schafmeister < > [email protected] <javascript:>> wrote: > >> Hello, >> >> How can I control whether the jupyter server sends binary websocket >> frames vs text websocket frames to the browser? >> >> When monitoring websocket traffic between an ipython jupyter notebook >> kernel and the browser, all websocket frames, both to the browser and from >> the browser are in websocket text frames. This makes it easy to read the >> JSON dictionaries using almost any browser. >> When monitoring websocket traffic between our Common Lisp kernel and a >> browser, the websocket frames to the browser are binary websocket frames >> and the frames from the browser are websocket text frames. >> I recently learned that it is the jupyter notebook server (written in >> python) that is interposed between our kernel and the browser that is >> carrying out this websocket communication. Why is it using binary frames? >> Binary websocket frames are a lot harder to dig into and extract the JSON >> from. >> >> I'd like to monitor the websocket traffic between the jupyter server and >> the browser for debugging. >> It has been extremely helpful to do this in a painful/limited way to add >> jupyter widgets support to our kernel (based on cl-jupyter/Common Lisp). >> >> Best, >> >> Christian Schafmeister >> Professor >> Chemistry Department >> Temple University >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Project Jupyter" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jupyter/9915a01a-5704-4671-86ce-5c33793504ee%40googlegroups.com >> >> <https://groups.google.com/d/msgid/jupyter/9915a01a-5704-4671-86ce-5c33793504ee%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "Project Jupyter" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/4af64054-cede-478d-89a9-28fe4ca8a6c7%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
