Skip to content

Fix Deno display_data to use broadcast API#7

Merged
rgbkrk merged 2 commits into
mainfrom
paris-v7
Feb 25, 2026
Merged

Fix Deno display_data to use broadcast API#7
rgbkrk merged 2 commits into
mainfrom
paris-v7

Conversation

@rgbkrk

@rgbkrk rgbkrk commented Feb 25, 2026

Copy link
Copy Markdown
Member

Summary

The previous PR showed that Deno.jupyter.html tagged template doesn't emit display_data messages (test showed ⏭️ skipped), but Deno.jupyter.broadcast("display_data", ...) does work (update_display_data test passed ✅).

This PR:

  • Changes Deno display_data_code to use Deno.jupyter.broadcast("display_data", ...)
  • Clarifies that evcxr requires trait implementation for display_data

Expected Results

  • Deno display_data: ⏭️ → ✅
  • Deno should go from 19/24 to 20/24

The Deno.jupyter.html tagged template doesn't emit display_data messages.
Use Deno.jupyter.broadcast("display_data", ...) which is proven to work.
Also clarify evcxr requires trait impl for display_data.
Tests that kernels can output to stderr stream correctly.
@github-actions

Copy link
Copy Markdown

Kernel Conformance Matrix

Kernel Tier 1 Tier 2 Tier 3 Tier 4 Total
deno 8/9 6/7 3/3 3/5 20/24
evcxr 9/9 3/7 1/3 3/5 16/24
ipykernel 9/9 7/7 3/3 5/5 24/24

deno (Deno kernel) - 3 failures, 1 skipped

Language: typescript | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
interrupt_request interrupt_request unknown Timeout waiting for control reply
shutdown_reply shutdown_request unknown Timeout waiting for control reply

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
evcxr (evcxr_jupyter) - 5 failures, 3 skipped

Language: Rust | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
inspect_request inspect_request unknown Timeout waiting for shell reply
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: missing field status

Skipped (Not Implemented)

  • display_data: Kernel can produce display_data messages for rich output
  • update_display_data: Kernel can update existing displays via update_display_data
  • stdin_input_request: Kernel can request input from frontend via stdin channel

Test Results by Message Type

Test Message Type deno evcxr ipykernel
comm_info_request comm_info_request
comms_lifecycle comm_open
complete_request complete_request
display_data display_data ⏭️
error_handling execute_request
execute_input_broadcast execute_input
execute_reply_ok execute_request
execute_result execute_result
execute_stdout execute_request
execution_count_increments execute_request
heartbeat_responds heartbeat
history_request history_request
inspect_request inspect_request
interrupt_request interrupt_request
is_complete_complete is_complete_request
is_complete_incomplete is_complete_request ⚠️ ⚠️
kernel_info_has_language_info kernel_info_request
kernel_info_has_protocol_version kernel_info_request
kernel_info_reply_valid kernel_info_request
parent_header_correlation parent_header
shutdown_reply shutdown_request
status_busy_idle_lifecycle status
stdin_input_request input_request ⏭️ ⏭️
update_display_data update_display_data ⏭️

@github-actions

Copy link
Copy Markdown

Kernel Conformance Matrix

Kernel Tier 1 Tier 2 Tier 3 Tier 4 Total
deno 9/10 6/7 3/3 3/5 21/25
evcxr 10/10 3/7 1/3 3/5 17/25
ipykernel 10/10 7/7 3/3 5/5 25/25

deno (Deno kernel) - 3 failures, 1 skipped

Language: typescript | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
interrupt_request interrupt_request unknown Timeout waiting for control reply
shutdown_reply shutdown_request unknown Timeout waiting for control reply

Skipped (Not Implemented)

  • stdin_input_request: Kernel can request input from frontend via stdin channel
evcxr (evcxr_jupyter) - 5 failures, 3 skipped

Language: Rust | Protocol: 5.3

Failures

Test Message Type Likely Source Reason
inspect_request inspect_request unknown Timeout waiting for shell reply
history_request history_request unknown Timeout waiting for shell reply
comm_info_request comm_info_request unknown Timeout waiting for shell reply
interrupt_request interrupt_request unknown Protocol error: Error deserializing content for msg_type interrupt_reply: missing field status

Skipped (Not Implemented)

  • display_data: Kernel can produce display_data messages for rich output
  • update_display_data: Kernel can update existing displays via update_display_data
  • stdin_input_request: Kernel can request input from frontend via stdin channel

Test Results by Message Type

Test Message Type deno evcxr ipykernel
comm_info_request comm_info_request
comms_lifecycle comm_open
complete_request complete_request
display_data display_data ⏭️
error_handling execute_request
execute_input_broadcast execute_input
execute_reply_ok execute_request
execute_result execute_result
execute_stderr stream
execute_stdout execute_request
execution_count_increments execute_request
heartbeat_responds heartbeat
history_request history_request
inspect_request inspect_request
interrupt_request interrupt_request
is_complete_complete is_complete_request
is_complete_incomplete is_complete_request ⚠️ ⚠️
kernel_info_has_language_info kernel_info_request
kernel_info_has_protocol_version kernel_info_request
kernel_info_reply_valid kernel_info_request
parent_header_correlation parent_header
shutdown_reply shutdown_request
status_busy_idle_lifecycle status
stdin_input_request input_request ⏭️ ⏭️
update_display_data update_display_data ⏭️

@rgbkrk
rgbkrk merged commit 1fe9c9e into main Feb 25, 2026
4 checks passed
@rgbkrk
rgbkrk deleted the paris-v7 branch February 26, 2026 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant