Repository navigation
fix(config): reload settings with config - #10945
Conversation
📝 WalkthroughWalkthrough
ChangesSettings reset integration
Estimated code review effort: 2 (Simple) | ~10 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR fixes
Confidence Score: 5/5The change is narrowly scoped to config-reload ordering and does not touch any hot paths outside of the bootstrap reset flow. The three-step ordering in Config::reset() is correct and matches the semantics described. CLI_SETTINGS is deliberately untouched by reload(), confirmed by the new unit test. The switch from ALL_TOML_CONFIG_FILES to load_config_paths() enables re-discovery. No pre-existing callers are broken. No files require special attention. Important Files Changed
Reviews (6): Last reviewed commit: "fix(config): reload settings after clear..." | Re-trigger Greptile |
|
This PR currently has failing checks. If this continues for 7 days, it will be closed automatically. This is warning day 1 of 7. Please update the PR when you have a chance. Feel free to reopen or create a new PR if it is closed and you'd like to continue working on it. This comment was generated by an automated workflow. |
Summary
Config::reset()reloads configurationRoot cause
Config::reset()reloaded config files but retained the separately cachedSettings. Settings also read from a process-static config-path list, so clearing only the values would not discover a global config created during bootstrap. Later phases could therefore observe newly loaded tasks and deps throughConfigwhile feature gates still read an older settings snapshot, causingdeps is experimentaleven though the installed configuration enabled experimental features.The reload now invalidates settings before backend/tool state is rebuilt, ensuring backends and the subsequent config load use the same settings snapshot.
User impact
Bootstrap phases now use one consistent configuration snapshot. Settings introduced or changed by earlier bootstrap phases are visible to later hooks, tools, deps, and tasks without discarding command-line overrides.
Validation
mise run lint-fixcargo test reloadcargo check --all-featuresmise run test:e2e e2e/cli/test_bootstrapFound while testing risu729/dotfiles#3702.
Summary by CodeRabbit