| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
✅ Deploy Preview for viteplus-preview canceled.
|
Sorry, something went wrong.
Sorry, something went wrong.
There was a problem hiding this comment.
Here are some automated review suggestions for this pull request.
Reviewed commit: eb813a593b
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Sorry, something went wrong.
Sorry, something went wrong.
There was a problem hiding this comment.
Here are some automated review suggestions for this pull request.
Reviewed commit: 8bf4974b91
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Sorry, something went wrong.
Sorry, something went wrong.
There was a problem hiding this comment.
Here are some automated review suggestions for this pull request.
Reviewed commit: 3889d4eea8
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Sorry, something went wrong.
There was a problem hiding this comment.
Here are some automated review suggestions for this pull request.
Reviewed commit: 79eedb120c
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Sorry, something went wrong.
|
For now, based on Codex's review suggestions, I don't think this is and there is a completely effective and feasible solution that can ensure all packages can be runnable for reinstall due to npm limitation or system IO performance (#1770). Changes like this PR just make the problem happen in different conditions that is not much meaningful. I also made some local attempts, but I really didn't come up with any good ideas. So based on that, maybe keeping the backup logic will be better? |
Sorry, something went wrong.
|
@fengmk2 thanks for reviewing, but considering what I laid out in #1773 (comment), this PR just moves the problem rather than solving it, I suggest closing it and keeping the current behavior. I will be kind of busy in the next two weeks, but I am still thinking about a way which can completely resolve this problem. I believe it would be better to revisit this later rather than merge a solution that doesn't really address the root cause ❤️ |
Sorry, something went wrong.
|
@liangmiQwQ No problem, good luck on your exam! 💯 |
Sorry, something went wrong.
The global package reinstall flow introduced by #1698 installs into the final prefix, but it first moves the active prefix to a backup. An interruption can leave the installed package unavailable, and the approaches explored in #1770 and #1773 trade that failure mode for other windows where bins can still break. This PR adds an install ID to managed package metadata. Each install now writes directly to a sibling prefix such as `packages/<name>#<uuid>`, then activates that immutable directory by saving metadata after npm succeeds. The ID is a standard UUID v4 prefixed with `#`, which is filesystem-safe but invalid in npm package names. Binary dispatch, `vp env which`, `vpx`, and global outdated output resolve the active directory from metadata, so no installed prefix is moved. Metadata without `installId`, or with an empty value, continues to resolve `packages/<name>` for compatibility with existing installations. A successful reinstall deletes only the installation it directly replaced. Cleanup of any older interrupted-install directories through `vp upgrade` is intentionally left to a follow-up PR. 🤖 Generated with Codex --------- Signed-off-by: Liang <github@liangmi.dev> Co-authored-by: MK (fengmk2) <fengmk2@gmail.com>
| Back | FazBrowse Home | New Git URL |
Close #1770
The current managed global install path uses a package-directory backup to recover from binary ownership conflicts after npm has already installed the package. According to #1770. That move-based backup logic can sometimes delete the package, like process kill or SIGINT.
This PR resolves managed bin conflicts before running npm install, then lets npm install directly into the final package prefix. It completely removes the backup logic and avoids potential problems. However, it may slightly reduce the installation speed (won't influence global update).
There is some behavior changes
🤖 Generated with Codex