Skip to content

[Bug] Output window freezes and stops updating when entered (MoltenEnterOutput) #353

Description

@salastro

Description

When entering the output window using :noautocmd MoltenEnterOutput, the window freezes and stops updating in real time. This makes it impossible to monitor incremental output (such as training logs or progress bars) while inside the output window. The updates continue appearing as expected only when the output window is not focused or entered.

Reproduction Steps

  1. Evaluate a long-running cell that produces incremental output (e.g., a training loop with logging printed on new line).
  2. Open the output window via :noautocmd MoltenEnterOutput (using the default or any enter_output_behavior).
  3. While the window is focused, observe that new output does not appear until you leave the window.

Expected Behavior

The output window should update in real time, showing new output as it is produced by the kernel, even while focused/entered.

Additional Info

  • Setting g:molten_output_win_hide_on_leave = false does resolve this (output updates in real time), but now the output window never closes on leave, requiring manual cleanup.
  • Using virtual text output as a workaround is not always suitable (especially for image/plot-heavy use-cases).
  • This is likely caused by the window redrawing being intentionally disabled while "entered" to avoid disruptions, but this blocks essential interactivity.

Versions

  • NeoVim Version: v0.11.6
  • OS: Bedrock Linux 0.7.30 Poki x86_64 (Void Linux 6.12.69_1)
  • Python Version: 3.14.2
  • Python installed via: xbps-install
  • Health checks: see below
`:checkhealth molten`

==============================================================================
molten: 4 ⚠️

molten-nvim ~

  • ✅ OK NeoVim >=0.9
  • ✅ OK Python >=3.10
  • ✅ OK Python module pynvim found
  • ✅ OK Python module jupyter-client found
  • ✅ OK Python module cairosvg found
  • ⚠️ WARNING Optional python module pnglatex not found
    • ADVICE:
      • pip install pnglatex
  • ⚠️ WARNING Optional python module plotly not found
    • ADVICE:
      • pip install plotly
  • ⚠️ WARNING Optional python module kaleido not found
    • ADVICE:
      • pip install kaleido
  • ⚠️ WARNING Optional python module pyperclip not found
    • ADVICE:
      • pip install pyperclip
  • ✅ OK Python module nbformat found
  • ✅ OK Python module pillow found
`:checkhealth provider` (python parts)

==============================================================================
vim.provider: 4 ⚠️

Clipboard (optional) ~

  • ✅ OK Clipboard tool found: xsel

Node.js provider (optional) ~

  • Node.js: v24.13.0

  • ⚠️ WARNING Missing "neovim" npm (or yarn, pnpm) package.

    • ADVICE:
      • Run in shell: npm install -g neovim
      • Run in shell (if you use yarn): yarn global add neovim
      • Run in shell (if you use pnpm): pnpm install -g neovim
      • You may disable this provider (and warning) by adding let g:loaded_node_provider = 0 to your init.vim

Perl provider (optional) ~

  • ⚠️ WARNING "Neovim::Ext" cpan module is not installed
    • ADVICE:
      • See :help |provider-perl| for more information.
      • You can disable this provider (and warning) by adding let g:loaded_perl_provider = 0 to your init.vim
  • ⚠️ WARNING No usable perl executable found

Python 3 provider (optional) ~

  • g:python3_host_prog is not set. Searching for pynvim-python in the environment.
  • Executable: /usr/bin/pynvim-python
  • Python version: 3.14.2
  • pynvim version: 0.6.0
  • ✅ OK Latest pynvim is installed.

Python virtualenv ~

  • ✅ OK no $VIRTUAL_ENV

Ruby provider (optional) ~

  • ⚠️ WARNING ruby and gem must be in $PATH.
    • ADVICE:
      • Install Ruby and verify that ruby and gem commands work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions