Skip to content

Hardcoded ~/.cache/ path instead of using $XDG_CACHE_HOMEΒ #592

@powerman

Description

@powerman

Updating from previous commit to latest 3123983 result in breaking plugin:

[ERROR][2025-10-18 13:39:05] ...p/_transport.lua:36 "rpc" "/home/powerman/.local/share/nvim-ai-dev/lazy/copilot.lua/copilot/linux-x64/copilot-language-server-1.384.0" "stderr" "Error: EACCES: permission denied, mkdir '/home/powerman/.cache/pkg'\n at Object.mkdirSync (node:fs:1363:26)\n at Object.mkdirSync (pkg/prelude/bootstrap.js:1639:33)\n at createDirRecursively (pkg/prelude/bootstrap.js:256:8)\n at createDirRecursively (pkg/prelude/bootstrap.js:255:5)\n at process.dlopen (pkg/prelude/bootstrap.js:2222:7)\n at Object..node (node:internal/modules/cjs/loader:1869:18)\n at Module.load (node:internal/modules/cjs/loader:1445:32)\n at Function._load (node:internal/modules/cjs/loader:1267:12)\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)\n at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)\n"

This happens because I'm running AI in a firejail sandbox, which restrict access to $HOME and provide own cache dir for AI sandbox:

$ ls ~/.cache
ls: cannot open directory '/home/powerman/.cache': Permission denied
$ echo $XDG_CACHE_HOME
/home/powerman/.cache-ai-dev

Hardcoding paths like ~/.cache is a bad practice, please use $XDG_CACHE_HOME instead (if it is set).

P.S. I'm not sure is this a right repo for the report - at a glance it looks like main.js (which contains a hardcoded path) may import this part of code from some other dependency.

Metadata

Metadata

Assignees

No one assigned

    Labels

    external issueCaused by an external package or component

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions