Proto-extensions ignore existing profile settings #12739

Open
opened 2026-01-31 03:23:38 +00:00 by claunia · 0 comments
Owner

Originally created by @cinnamon-msft on GitHub (Feb 25, 2021).

Originally assigned to: @PankajBhojwani on GitHub.

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.

Originally created by @cinnamon-msft on GitHub (Feb 25, 2021). Originally assigned to: @PankajBhojwani on GitHub. <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> <!-- This bug tracker is monitored by Windows Terminal development team and other technical folks. **Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**. Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue. If this is an application crash, please also provide a Feedback Hub submission link so we can find your diagnostic data on the backend. Use the category "Apps > Windows Terminal (Preview)" and choose "Share My Feedback" after submission to get the link. Please use this form and describe your issue, concisely but precisely, with as much detail as possible. --> 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 ```none 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](https://user-images.githubusercontent.com/48369326/109204188-e56f3f80-7759-11eb-9fd9-07adb05cb50a.png) I also can't update any setting after the fact. ![proto-bug](https://user-images.githubusercontent.com/48369326/109205255-33387780-775b-11eb-8bfe-7c297515b9dd.gif) 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.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#12739