github / github/copilot.vim

Long delay on :q when exiting Neovim with copilot.vim enabled, even with session counting patches — any suggestions?

Aperta
#156 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Vim Script
Stelle
11.7k
Fork
810
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hi,

I’m experiencing a significant delay (~10 seconds) when quitting Neovim (:q) with copilot.vim enabled, and this happens even with a single Neovim session after it has been idle for a while.

To mitigate this, I’ve tried:

Adding a session counter (both Lua in init.lua and Vimscript in a plugin/copilot_session.vim patch) to track how many Neovim sessions with Copilot are active.

On VimLeavePre, only calling Copilot disable and killing the copilot node process when the last session exits, skipping it otherwise to avoid the stall.

Clearing Copilot’s own VimLeavePre autocmd group (github_copilot) in all but the last session to prevent multiple shutdown hooks running.

Avoiding forcibly killing node processes except on the last session exit.

However, the stall still occurs on quit even when only one Neovim session is open and idle. The copilot node process appears to be killed during exit, and I suspect Copilot’s internal shutdown logic is blocking Neovim exit.

My questions are:

Are there known issues in copilot.vim causing blocking delays on exit after idle?

Is there an official or recommended way to make Copilot’s shutdown asynchronous or non-blocking?

How can I reliably prevent the exit delay without disabling Copilot’s essential functionality?

Are there patches, config workarounds, or plugin updates that address this problem?

Thanks in advance for any insights or help!
NVIM v0.11.1
Build type: RelWithDebInfo
LuaJIT 2.1.1741730670
node --version
v22.15.1
Linux 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Jul 20 08:38:27 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.