Skip to content

Proto-extensions ignore existing profile settings #9290

@cinnamon-msft

Description

@cinnamon-msft

If I use a proto-extension that "updates" an existing profile, all of the existing settings in my original profile are ignored.

Additionally, if I try to add a profile setting after a proto-extension is installed that "updates" that profile, the setting is instantly deleted.

Proto-extensions generate a new profile in settings.json using the same GUID, thus overriding all customizations to the original profile.

Environment

Windows build number: 10.0.21318.0
Windows Terminal version (if applicable): 1.7.543.0

Any other software?

Steps to reproduce

Here's an example scenario:

My Ubuntu profile sets a background image:

{
    "backgroundImage": "C:\\Users\\cinnamon\\Pictures\\01 gettyimages-1129788053_resized.jpg",
    "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
    "hidden": false,
    "name": "Ubuntu",
    "source": "Windows.Terminal.Wsl",
    "fontFace": "Cascadia Code"
},

I install a proto-extension that updates Ubuntu's font weight and font size:

{
  // updates Ubuntu profile
  "updates": "{2c4de342-38b7-51cf-b940-2309a097f518}",
  "fontSize": 16,
  "fontWeight": "thin"
},

My settings.json is modified by the extension to look like this now:

{
    "backgroundImage": "C:\\Users\\cinnamon\\Pictures\\01 gettyimages-1129788053_resized.jpg",
    "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
    "hidden": false,
    "name": "Ubuntu",
    "source": "Windows.Terminal.Wsl",
    "fontFace": "Cascadia Code"
},
{
    "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
    "hidden": false,
    "name": "Ubuntu",
    "source": "demo-extension"
}

My font face and background image are now ignored.

image

I also can't update any setting after the fact.

proto-bug

Here's my settings.json after that settings application attempt:

{
    "colorScheme": "One Half Dark",
    "fontFace": "Cascadia Code"
},
{
    "backgroundImage": "C:\\Users\\cinnamon\\Pictures\\01 gettyimages-1129788053_resized.jpg"
},
{
    "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
    "hidden": false,
    "name": "Ubuntu",
    "source": "demo-extension"
}

My original Ubuntu profile is gone..?

Expected behavior

The proto-extension should overlay its settings on top of my original settings, rather than ignoring all of them completely. I should also be able to customize a profile that has a proto-extension updating it.

Actual behavior

See above.

Metadata

Metadata

Labels

Area-SettingsIssues related to settings and customizability, for console or terminalIssue-BugIt either shouldn't be doing this or needs an investigation.Needs-Tag-FixDoesn't match tag requirementsNeeds-TriageIt's a new issue that the core contributor team needs to triage at the next triage meetingPriority-1A description (P1)Resolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions