Long delay on :q when exiting Neovim with copilot.vim enabled, even with session counting patches — any suggestions?
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 30/100
调研方向
首先使用报告中的 Neovim、Node.js 和 Linux 版本,在一段空闲时间后启用 copilot.vim 并执行 :q,复现大约 10 秒的延迟。检查 VimLeavePre 的处理、github_copilot autocmd 组,以及 issue 中描述的 copilot node-process 关闭过程。完成的标准是在不禁用 Copilot 功能的情况下识别并解决阻塞退出行为,并在一次空闲会话中验证结果。
由索引模型根据 Issue 内容生成。
描述
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
- 主要语言
- Vim Script
- 星标
- 11.7k
- 派生
- 812
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/copilot.vim 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 82/100
github/copilot.vim#303 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
github/copilot.vim#276 · 1 条评论 · 1 个 reaction ·
-
Neomarley 未关闭
难度 5/5 一周以上 新手友好度 1/100
github/copilot.vim#304 · 1 个 reaction ·
-
Readme. 未关闭
难度 2/5 1-3 小时 新手友好度 20/100
github/copilot.vim#302 · 4 条评论 ·
-
Micky 未关闭
难度 5/5 一周以上 新手友好度 1/100
github/copilot.vim#301 ·
查看 github/copilot.vim 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
vercel-labs/just-bash#464 ·
-
Bug
难度 2/5 1-3 小时 新手友好度 70/100
Automattic/safe-publish#594 ·
-
bug
难度 1/5 1 小时以内 新手友好度 85/100
-
难度 2/5 1-3 小时 新手友好度 65/100
-
bug feat:crypto feat:utils
难度 2/5 1-3 小时 新手友好度 70/100