Plugin cache_path stored as absolute path breaks in Docker/multi-HOME environments
- Ngôn ngữ chính
- Shell
- Star
- 11.2k
- Fork
- 1.9k
- Merge trung bình
- 14 giờ 16 phút
- Pull request đã merge (30 ngày)
- 6
Mô tả
## Description
When a plugin is installed, `cache_path` in `config.json` is hardcoded to an absolute path
rooted at the install-time `$HOME`. If `~/.copilot` is volume-mounted into Docker (where
`$HOME` differs), the path doesn't exist and `sessionStart` hooks silently never fire.
I'm mounting my host ~/.copilot into the active user's home folder in Docker, and that seems
to work for most things, but evidently not plugins. Any help greatly appreciated.
## Root Cause
config.json stores:
"cache_path": "/Users/josh/.copilot/installed-plugins/_direct/my-plugin"
Inside Docker ($HOME = /home/deployer), that path doesn't exist.
## Expected Behavior
cache_path should be $HOME-relative so it works across environments sharing ~/.copilot.
## Workaround
sudo mkdir -p /Users/josh && sudo ln -sfn /home/deployer/.copilot /Users/josh/.copilot
(must be recreated each container start)
## Environment
- CLI: 1.0.59
- Host: macOS /Users/josh
- Container: Linux /home/deployer
- ~/.copilot shared via Docker volume mount
Hướng dẫn đóng góp
Hướng nghiên cứu
Start by locating the plugin installation code that writes cache_path to config.json, then trace how sessionStart hooks resolve that path. Reproduce the issue with ~/.copilot mounted under a different HOME, and consider the work complete when the stored path works in both environments and the hook fires.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- docker, shell
- Lĩnh vực
- cli
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 52/100