-
Notifications
You must be signed in to change notification settings - Fork 991
Keep launch-configuration AppHost targets out of the workspace default #19126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Adam Ratzman (adamint)
merged 31 commits into
microsoft:main
from
adamint:adamint/fix-19080-launch-config-persistence
Aug 12, 2026
Merged
Changes from all commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
3ca253e
Fix explicit AppHost selection persistence
432bf3b
Track AppHost selection provenance
32ef402
Merge remote-tracking branch 'microsoft/main' into adamint/fix-19080-…
5187cca
Apply launch-configuration selection scope to every CLI command
87944ed
Keep launch-configuration scoping out of generated launch.json
59b3536
Let a launch configuration establish, but never replace, the default
8853a27
Read the recorded AppHost default the same way the CLI resolves it
c077e9d
Stop the AppHost selection-origin marker at the child-process boundary
6055987
Decide preservation on the recorded path's presence, not its resolution
60e8e12
Fail loudly if the hostile-path test escapes its temp workspace
c14c51c
Serialize the workspace default establish decision across processes
707b184
Extract the workspace config target into a typed result
e17b920
Case-fold the workspace config lock key on every platform
5ea6ec9
Read the recorded default through the canonical config reader
85f7f87
Assert the config target invariant across every resolution branch
dd53651
Merge remote-tracking branch 'upstream/main' into adamint/fix-19080-l…
1e7e43e
Ignore global AppHost paths for scoped defaults
adamint f67d92b
Validate recorded AppHost paths before resolving
adamint 9b48ec8
Drop the invented tool name from the agent-selection doc
adamint 76298d6
Compare recorded AppHost paths per platform and fold the lock key
adamint c6c56f0
Ask the volume, not the OS, whether two apphost paths differ only in …
adamint 862fe6e
Compare launch-configuration paths by filesystem identity, not by pla…
adamint ff11485
Verify the workspace config lock names the config root actually resolved
adamint a04be5f
Treat a recorded path whose casing no longer exists as stale, not as …
adamint d5289f9
Preserve the root separator when rebuilding a parent for the casing p…
adamint 2a50c1a
Skip the two-spelling casing test where the volume folds the spellings
adamint ec027f3
Bind workspace config target state
a013bc9
Merge branch 'main' into adamint/fix-19080-launch-config-persistence
adamint 3b1164f
Keep launch default fix focused
8b7d906
Fix AppHost path identity handling
38517c3
Serialize workspace default establishment
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
14 changes: 14 additions & 0 deletions
14
extension/src/debugger/AspireDebugConfigurationMetadata.ts
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,15 @@ | ||
| export const appHostTelemetryTargetPathConfigKey = '__aspireAppHostTelemetryTargetPath'; | ||
|
|
||
| // This internal field survives VS Code's two debug-configuration resolver stages so the | ||
| // eventual CLI process can distinguish a launch.json-owned target from a persisted default. | ||
| export const appHostSelectionOriginConfigKey = '__aspireAppHostSelectionOrigin'; | ||
|
|
||
| /** | ||
| * Who chose the AppHost this session launches. | ||
| * | ||
| * The CLI decides from this value whether the target may become the workspace default recorded in | ||
| * `aspire.config.json`. `user-selection` and `default-discovery` are statements about the project; | ||
| * `explicit-launch-configuration` (a `launch.json` entry naming a specific target) is scoped to the | ||
| * one invocation and must never replace a default the user already has. | ||
| */ | ||
| export type AppHostSelectionOrigin = 'explicit-launch-configuration' | 'default-discovery' | 'user-selection'; |
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.