feat: scope committed settings to each app - #617
Merged
Merged
Conversation
Collaborator
Author
|
Fresh independent code review is clear after correcting two lifecycle guide lines from repo-level to app-level defaults. Settings/doctor/Metro reviewer suite passed189 tests. Full local checks passed; one real-Xcode metadata test intermittently exceeded its default5s timeout, tracked separately in #618; its focused rerun and the complete unit/e2e/runtime rerun passed without code or assertion changes. Real monorepo/worktree resolution smoke remains valid; this final commit changes only two guide words. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Monorepo apps currently share a repository-root
.stim.json, so one app's runtime settings can affect another. Read committed runtime settings beside each app'spackage.jsoninstead. Fixes #607.Solution
CLI commands, doctor, and standalone Metro provider discovery use the app-local file without ancestor fallback. Relative SimSlim profiles, AVD fragments and committed providers resolve from the app. Explicit machine project/repository overrides retain their precedence; repository-wide worktree-copy rules stay at the main checkout root.
Monorepos must move runtime settings and adjust relative paths for each app, replacing the repository-scoped lookup added in #131. Single-app repositories keep their existing root file. The guide and website document the migration.
Test plan
In a real disposable Git monorepo and linked worktree, two apps resolved their own settings/providers/profiles, an unset app did not inherit root settings, and symlink identity plus root worktree exclusions remained intact. Clean worktree removal passed; this smoke checked configuration resolution, not native builds or devices.