Plugin cache_path stored as absolute path breaks in Docker/multi-HOME environments
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
## 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
コントリビューションガイド
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- docker, shell
- 領域
- cli
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 52/100