Skip to content
This repository was archived by the owner on May 14, 2026. It is now read-only.

fix(config): default enableGlobalVirtualStore to false#489

Merged
zkochan merged 4 commits into
mainfrom
fix/gvs-default-false
May 13, 2026
Merged

fix(config): default enableGlobalVirtualStore to false#489
zkochan merged 4 commits into
mainfrom
fix/gvs-default-false

Conversation

@zkochan

@zkochan zkochan commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

Pacquet's default_enable_global_virtual_store() returned true and cited upstream's config/reader/src/index.ts:392-394 as the authority. But that range lives entirely inside the if (cliOptions['global']) { ... } block — surrounded by CONFIG_CONFLICT_*_WITH_GLOBAL errors and closed by } else if (!pnpmConfig.bin) { ... }. So in pnpm v11:

  • pnpm install --global fooenableGlobalVirtualStore defaults to true
  • pnpm install (regular) → stays null/unset → effectively false

Pacquet doesn't have a --global CLI flag (only install --frozen-lockfile), so the applicable upstream default is the false one. Pre-fix, every pacquet install silently wrote slots to <store>/links/... and registered projects, even when the user never asked for GVS — and a project alternating between pnpm install and pacquet install --frozen-lockfile would see two different on-disk layouts.

The default introduced by #444 cited the same L392-L394 range but read it as an unconditional default. Corrected here.

Test changes

  • gvs_default_writes_links_into_global_virtual_store_dir renamed to gvs_default_is_off_and_paths_derive_cleanly and inverted — now asserts the default-off behaviour. The path derivation still populates both virtual_store_dir and global_virtual_store_dir cleanly so downstream code can read either field without first checking the toggle.
  • gvs_user_pinned_virtual_store_routes_into_global_virtual_store_dir and yaml_global_virtual_store_dir_wins_over_derivation: yaml now opts into GVS explicitly (enableGlobalVirtualStore: true) so the GVS-on derivation path is still exercised.
  • install/tests.rs doc + inline comments updated to reflect that GVS-on tests need to pin the flag explicitly now.

Benchmark

The bench fixture's explicit enableGlobalVirtualStore: false pin is kept (it's now redundant but future-proofs the bench against a default flip), with an updated comment explaining the design intent. Same for MinimalWorkspaceManifest.enable_global_virtual_store doc.

Test plan

  • just ready (1078 tests pass, 2 skipped)
  • taplo format --check
  • just dylint

Written by an agent (Claude Code, claude-opus-4-7).

Summary by CodeRabbit

  • Changes

    • Global virtual store is now disabled by default for non-global installations, aligning with upstream package manager. Configuration can still explicitly enable it when needed.
  • Documentation

    • Docs and comments updated to clarify default behavior differences between global and non-global installs.
  • Tests

    • Tests and benchmark fixtures adjusted to pin and verify the updated default behavior.

Review Change Stack

Copilot AI review requested due to automatic review settings May 13, 2026 20:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR corrects Pacquet’s enableGlobalVirtualStore default to match the non-global install behavior and updates related tests/benchmark comments to reflect that GVS is now explicit opt-in.

Changes:

  • Changes default_enable_global_virtual_store() from true to false.
  • Updates config tests to assert default-off behavior and explicitly opt into GVS where needed.
  • Revises benchmark fixture/docs to explain why the fixture pins enableGlobalVirtualStore: false.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
crates/config/src/defaults.rs Flips the GVS default and expands rationale.
crates/config/src/lib.rs Updates GVS derivation tests and fixture setup.
crates/package-manager/src/install/tests.rs Updates GVS-on install test documentation and explicit opt-in comment.
tasks/integrated-benchmark/src/workspace_manifest.rs Updates manifest field documentation for benchmark GVS behavior.
tasks/integrated-benchmark/src/fixtures/pnpm-workspace.yaml Updates fixture comments while keeping the explicit GVS-off pin.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread crates/config/src/defaults.rs
Comment thread crates/config/src/lib.rs Outdated
@coderabbitai

coderabbitai Bot commented May 13, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@zkochan has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 4 minutes and 29 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b2e4d4ae-2da0-4e7b-ab0c-399b76ee6e85

📥 Commits

Reviewing files that changed from the base of the PR and between 1f67fc6 and fa5d541.

📒 Files selected for processing (7)
  • crates/config/src/defaults.rs
  • crates/config/src/lib.rs
  • crates/config/src/workspace_yaml.rs
  • crates/package-manager/src/install/tests.rs
  • crates/package-manager/src/install_frozen_lockfile.rs
  • tasks/integrated-benchmark/src/fixtures/pnpm-workspace.yaml
  • tasks/integrated-benchmark/src/workspace_manifest.rs
📝 Walkthrough

Walkthrough

The PR flips the effective default of enable_global_virtual_store from true to false and updates the core default function, config docs/tests, install test comments, and benchmark fixtures to reflect pnpm v11 non---global install semantics.

Changes

Global Virtual Store Default Value Flip

Layer / File(s) Summary
Core default function and behavior update
crates/config/src/defaults.rs
default_enable_global_virtual_store() now returns false instead of true, with updated documentation explaining pnpm v11's conditional defaulting and noting pacquet has no --global CLI flag.
Config docs, tests, and routing changes
crates/config/src/lib.rs, crates/config/src/workspace_yaml.rs
Field documentation reworded to state the default is false for non---global installs; test suite updated to assert the new default and to explicitly enable enableGlobalVirtualStore: true in fixtures where the GVS-on path must be exercised; minor comment and assertion adjustments.
Install tests documentation and comments
crates/package-manager/src/install/tests.rs
Doc and setup comments for the frozen-lockfile GVS test updated to state that enable_global_virtual_store is an explicit opt-in and pacquet’s effective default is false.
Benchmark fixture and workspace manifest documentation
tasks/integrated-benchmark/src/fixtures/pnpm-workspace.yaml, tasks/integrated-benchmark/src/workspace_manifest.rs
YAML fixture and manifest field docs rewritten to document the pinned enableGlobalVirtualStore: false fixture and to describe on-disk layout differences when GVS is enabled.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Possibly related PRs

  • pnpm/pacquet#444: Previously updated default_enable_global_virtual_store(); this PR flips its returned default and updates dependent tests/docs.
  • pnpm/pacquet#449: Related changes to Config and global_virtual_store_dir derivation that this PR's test fixtures exercise.

Poem

🐰 I nudge a default from true to false,
Docs and tests align in tidy rows,
Fixtures pinned, the benchmarks hum,
A small flip made, the gardeners come,
Hooray for steady, careful code! 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix(config): default enableGlobalVirtualStore to false' clearly and concisely describes the main change: correcting the default value of enableGlobalVirtualStore from true to false.
Description check ✅ Passed The description comprehensively covers the Summary section, provides detailed Upstream reference context, includes Test changes with specific test renaming/modifications, includes Benchmark updates, and documents the complete Test plan with test results.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/gvs-default-false

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov

codecov Bot commented May 13, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 85.71429% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.81%. Comparing base (ee05f22) to head (fa5d541).

Files with missing lines Patch % Lines
...tes/package-manager/src/install_frozen_lockfile.rs 81.48% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #489      +/-   ##
==========================================
- Coverage   88.90%   88.81%   -0.09%     
==========================================
  Files         121      121              
  Lines       12625    12643      +18     
==========================================
+ Hits        11224    11229       +5     
- Misses       1401     1414      +13     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented May 13, 2026

Copy link
Copy Markdown

Micro-Benchmark Results

Linux

group                          main                                   pr
-----                          ----                                   --
tarball/download_dependency    1.00     14.5±0.29ms   299.8 KB/sec    1.01     14.6±0.38ms   297.8 KB/sec

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
crates/config/src/lib.rs (1)

208-214: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Update stale GVS default docs to false everywhere.

Line 208-214 and the leading part of the test docblock still state enableGlobalVirtualStore defaults to true, which now contradicts the actual default and the updated test intent.

Suggested doc fix
-    /// `<project>/node_modules/.pnpm`. Default `true`, mirroring upstream's
-    /// [`config/reader/src/index.ts:392-394`](https://github.com/pnpm/pnpm/blob/94240bc046/config/reader/src/index.ts#L392-L394).
+    /// `<project>/node_modules/.pnpm`. Default `false` for regular installs
+    /// (the upstream `true` assignment is in the `--global` path only).
-    /// `enableGlobalVirtualStore` defaults to `true`. The derivation
+    /// `enableGlobalVirtualStore` defaults to `false`. The derivation

Also applies to: 1003-1019

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/config/src/lib.rs` around lines 208 - 214, The docblock for the
configuration option enableGlobalVirtualStore incorrectly states the default is
`true`; update the documentation text in the lib.rs doc comment for
enableGlobalVirtualStore (and the corresponding test docblock referenced later)
to reflect the current default `false` so docs match behavior and test intent;
search for the symbol enableGlobalVirtualStore and any docblocks or comments
that mention "default `true`" (including the test docblock near the later tests)
and change them to "default `false`" while preserving the explanatory text and
upstream link.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@crates/config/src/lib.rs`:
- Around line 208-214: The docblock for the configuration option
enableGlobalVirtualStore incorrectly states the default is `true`; update the
documentation text in the lib.rs doc comment for enableGlobalVirtualStore (and
the corresponding test docblock referenced later) to reflect the current default
`false` so docs match behavior and test intent; search for the symbol
enableGlobalVirtualStore and any docblocks or comments that mention "default
`true`" (including the test docblock near the later tests) and change them to
"default `false`" while preserving the explanatory text and upstream link.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1449e3e4-65d9-4c60-a289-2d45473bd522

📥 Commits

Reviewing files that changed from the base of the PR and between f59b91c and 13b2738.

📒 Files selected for processing (5)
  • crates/config/src/defaults.rs
  • crates/config/src/lib.rs
  • crates/package-manager/src/install/tests.rs
  • tasks/integrated-benchmark/src/fixtures/pnpm-workspace.yaml
  • tasks/integrated-benchmark/src/workspace_manifest.rs
📜 Review details
🧰 Additional context used
📓 Path-based instructions (1)
**/*.rs

📄 CodeRabbit inference engine (AGENTS.md)

**/*.rs: Preserve existing method chains and pipe-trait chains; do not break them into intermediate let bindings unless there is a concrete justification such as a compilation failure, borrow checker rejection, meaningful performance improvement, or other technical necessity. Refactoring for style alone is not sufficient justification.
Choose owned vs. borrowed parameters to minimize copies; prefer borrowed types (&Path over &PathBuf, &str over &String) when it does not force extra copies.
Prefer Arc::clone(&x) and Rc::clone(&x) over x.clone() for reference-counted types to make the cost visible at the call site.
Do not use star imports inside module bodies. Write use super::{Foo, bar} instead of use super::*; for any glob whose target is a module you control. External-crate preludes (e.g., use rayon::prelude::*;) and root-of-module re-exports (e.g., pub use submodule::*; in lib.rs) are exceptions.
Follow Rust API Guidelines for naming, as documented in https://rust-lang.github.io/api-guidelines/naming.html.
Declare a newtype wrapper for any branded string type being ported from TypeScript pnpm. Do not collapse the brand into a plain String or &str; give the type its own struct so misuse is a type error.
When porting branded string types where upstream TypeScript always validates before construction, validate in the Rust port too. Construct the wrapper only via TryFrom<String> and/or FromStr; do not provide an infallible public constructor that takes an arbitrary string.
For branded string types where upstream TypeScript never validates (used purely for type-safety to prevent confusion between string slots), expose an infallible From<String> and From<&str> constructor in the Rust wrapper.
When upstream TypeScript occasionally constructs a branded type without validation (via bare as assertion), add a from_str_unchecked (or similarly named) constructor on the Rust side. Keep the validating constructor as well; `from_str_u...

Files:

  • crates/package-manager/src/install/tests.rs
  • crates/config/src/defaults.rs
  • tasks/integrated-benchmark/src/workspace_manifest.rs
  • crates/config/src/lib.rs
🧠 Learnings (4)
📚 Learning: 2026-05-01T10:01:33.766Z
Learnt from: zkochan
Repo: pnpm/pacquet PR: 349
File: crates/reporter/src/tests.rs:121-121
Timestamp: 2026-05-01T10:01:33.766Z
Learning: In Rust test code, follow the repo’s CODE_STYLE_GUIDE test-logging rule: add logging (e.g., `eprintln!`/`eprintln!(...)`) so that useful diagnostic values are printed when a test fails, unless the assertion is `assert_eq!` (where the differing values are already included). Concretely, if you use assertions like `assert!`, `assert_ne!`, etc., ensure the test logs the relevant actual/expected values (or context) before/around the assertion so failures can be diagnosed without rerunning.

Applied to files:

  • crates/package-manager/src/install/tests.rs
📚 Learning: 2026-05-07T23:19:08.272Z
Learnt from: KSXGitHub
Repo: pnpm/pacquet PR: 401
File: tasks/integrated-benchmark/src/work_env.rs:343-344
Timestamp: 2026-05-07T23:19:08.272Z
Learning: When reviewing Rust code in pnpm/pacquet for deprecated API usage, do not automatically treat `serde_saphyr::to_string` as deprecated. In `serde-saphyr` v0.0.25, `serde_saphyr::to_string` has no `#[deprecated]` attribute (the `#[deprecated]` later in `serde-saphyr-0.0.25/src/lib.rs` applies to a different function). Only flag `serde_saphyr::to_string` as deprecated if the resolved dependency version’s source shows `#[deprecated]` on that specific function.

Applied to files:

  • crates/package-manager/src/install/tests.rs
  • crates/config/src/defaults.rs
  • tasks/integrated-benchmark/src/workspace_manifest.rs
  • crates/config/src/lib.rs
📚 Learning: 2026-05-13T19:22:48.951Z
Learnt from: zkochan
Repo: pnpm/pacquet PR: 478
File: crates/package-manager/src/hoisted_dep_graph.rs:51-55
Timestamp: 2026-05-13T19:22:48.951Z
Learning: When reviewing this Rust codebase, avoid introducing/using a newtype like `PkgIdWithPatchHash` in only one module (e.g., `hoisted_dep_graph.rs`) if other related pacquet modules still represent the upstream pnpm “pkg id with patch hash” as a plain `String` (e.g., `virtual_store_layout`). For type consistency, either keep `pkg_id_with_patch_hash` as `String` here, or require a workspace-wide sweep that defines/extracts the `PkgIdWithPatchHash` newtype once and updates all call sites together (otherwise defer the refactor to a coordinated follow-up PR).

Applied to files:

  • crates/package-manager/src/install/tests.rs
📚 Learning: 2026-05-13T20:09:22.171Z
Learnt from: zkochan
Repo: pnpm/pacquet PR: 486
File: crates/package-manager/src/hoisted_dep_graph.rs:472-476
Timestamp: 2026-05-13T20:09:22.171Z
Learning: In pnpm/pacquet, when generating serialized `hoisted_locations` strings (used for `.modules.yaml`), normalize path separators to forward slashes (e.g., replace `\\` with `/`). This preserves cross-platform portability: the output must not use OS-native separators because upstream pnpm’s `path.relative` can return platform-specific separators, which would break consistency with pnpm/pacquet’s other serialized formats on Windows.

Applied to files:

  • crates/package-manager/src/install/tests.rs
🔇 Additional comments (5)
crates/config/src/defaults.rs (1)

98-117: LGTM!

crates/package-manager/src/install/tests.rs (1)

1294-1297: LGTM!

Also applies to: 1327-1328

tasks/integrated-benchmark/src/fixtures/pnpm-workspace.yaml (1)

3-16: LGTM!

tasks/integrated-benchmark/src/workspace_manifest.rs (1)

29-39: LGTM!

crates/config/src/lib.rs (1)

1021-1032: LGTM!

Also applies to: 1062-1073, 1097-1120

Copilot AI review requested due to automatic review settings May 13, 2026 20:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Comment thread crates/config/src/defaults.rs
zkochan added 4 commits May 13, 2026 22:55
Pacquet's `default_enable_global_virtual_store()` returned `true` and
cited upstream's
[`config/reader/src/index.ts:392-394`](https://github.com/pnpm/pnpm/blob/94240bc046/config/reader/src/index.ts#L392-L394)
as the authority for that default. But that range lives entirely
inside the
[`if (cliOptions['global']) { ... }`](https://github.com/pnpm/pnpm/blob/94240bc046/config/reader/src/index.ts#L348-L395)
block — surrounded by `CONFIG_CONFLICT_*_WITH_GLOBAL` errors and
closed by `} else if (!pnpmConfig.bin) { ... }`. So in pnpm v11:

- `pnpm install --global foo`: `enableGlobalVirtualStore` defaults
  to `true`.
- `pnpm install` (regular): stays `null`/unset → effectively `false`.

Pacquet doesn't have a `--global` CLI flag at all (only
`install --frozen-lockfile`), so the applicable upstream default is
the `false` one. Pre-fix, every pacquet install silently wrote
slots to `<store>/links/...` and registered projects, even when the
user never asked for GVS — and a project alternating between `pnpm
install` and `pacquet install --frozen-lockfile` would see two
different layouts. The default introduced by #444 cited
the same `L392-L394` range but read it as an unconditional default.
Corrected here.

Test changes:
- `gvs_default_writes_links_into_global_virtual_store_dir` renamed
  and inverted — now asserts the default-off behaviour. The path
  derivation still populates both fields cleanly so downstream code
  can read either without first checking the toggle.
- `gvs_user_pinned_virtual_store_routes_into_global_virtual_store_dir`
  and `yaml_global_virtual_store_dir_wins_over_derivation`: yaml
  now opts into GVS explicitly (`enableGlobalVirtualStore: true`)
  so the GVS-on derivation path is still exercised.
- `install/tests.rs` comments updated to reflect the new default.

Benchmark fixture's explicit `enableGlobalVirtualStore: false` pin
is kept (it's now redundant but future-proofs the bench against a
default flip), with an updated comment explaining the design
intent. Same for `MinimalWorkspaceManifest.enable_global_virtual_store`
doc.
Two doc sites still claimed the default was `true` after the
behaviour flipped:

- `Config::enable_global_virtual_store` field doc (lib.rs:208-213):
  the trailing "Default `true`, mirroring upstream's L392-L394" was
  the same misreading the function itself had. Replaced with the
  correct framing — `false`, with the link kept but reframed as
  "applies only inside upstream's `--global` branch".
- `WorkspaceSettings::enable_global_virtual_store` (workspace_yaml.rs):
  same fix, same reasoning.
- `gvs_default_is_off_and_paths_derive_cleanly` test doc (lib.rs):
  the opening sentence still said `enableGlobalVirtualStore` defaults
  to `true`. Restructured so the "default false" line leads and the
  derivation-still-fires note follows.

CI auto-detect bullet dropped from the field doc — it was always a
follow-up bullet (pacquet#432) and reads as noise next to the
corrected default. The original tracking still exists on the
issue.
The [`default_enable_global_virtual_store`] intra-doc link in
`Config::enable_global_virtual_store`'s doc resolved locally with
`--document-private-items` but tripped
`rustdoc::private-intra-doc-links` (a pub item linking to a private-
module symbol) on CI's `RUSTDOCFLAGS="-D warnings"` build.

Two sites:
- Field doc: replaced the intra-doc link with a plain backticks
  reference + a "see `crates/config/src/defaults.rs` for the full
  reasoning" pointer.
- Test doc: changed the link target to the public field
  `Config::enable_global_virtual_store`, which lives in the same
  module and is fine.
Copilot caught a regression introduced by flipping the
`enableGlobalVirtualStore` default to `false`. The `node --version`
detection in `InstallFrozenLockfile::run` was hoisted *before*
`CreateVirtualStore::run` in #444 because the GVS-aware layout
needed `engine_name` upfront. With GVS now off by default, that
hoist costs ~tens of ms of synchronous spawn on the install
critical path — the value just gets passed into a
`VirtualStoreLayout::new` that immediately returns without using it.

`engine_name` is still used by `BuildModules` for the side-effects-
cache key prefix (cache defaults to on), so dropping the spawn
entirely isn't right. Instead, split the detection by GVS state:

- **GVS on**: spawn synchronously, same as today — layout needs it.
- **GVS off, no host yet**: spawn into `tokio::task::spawn_blocking`
  and keep the `JoinHandle`. The blocking pool runs the spawn
  concurrently with `CreateVirtualStore::run`'s I/O. Await right
  before `BuildModules`, so the `node` startup cost is hidden
  under the install rather than serialised before it.

`VirtualStoreLayout::new` is built with `None` on the deferred
path, which is fine because GVS is off and the layout ignores the
field in that path. Pre-GVS pacquet had this same overlap; this
restores it for the default config.
Copilot AI review requested due to automatic review settings May 13, 2026 20:57
@zkochan zkochan force-pushed the fix/gvs-default-false branch from 1b166f4 to fa5d541 Compare May 13, 2026 20:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@zkochan zkochan merged commit 8bb677b into main May 13, 2026
14 of 17 checks passed
@zkochan zkochan deleted the fix/gvs-default-false branch May 13, 2026 21:04
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants