The settings schema 1.0 doesn't have "compact" option for the tabWidthMode setting.
Terminal Preview 1.1.1671.0 references https://raw.githubusercontent.com/microsoft/terminal/release-1.0/doc/cascadia/profiles.schema.json Now when the terminal preview and the stable versions have diverged, it appears that schema needs to diverge as well.
I'm not sure there's a good way for us to differentiate the two. We could change the aka.ms link to point at a different location for the preview build, but then users who just copy-paste their settings over from the release to the preview version would lose the preview URL. Hmmmmm
@zadjii-msft I'd say that blindly copy-pasting stuff, especially configs of different versions of an app isn't the best thing in the world :) What about building in a "settings import tool" into the Terminal which would fix the schema upon importing (potentially among other things)? Or a settings migration tool. It would probably sit well within the future Settings UI. It may be a bit of an overkill though...
This is definitely something we'll need some code to back up, too. Ugh. Thank you.
I'm not sure there's a good way for us to differentiate the two. We could change the aka.ms link to point at a different location for the preview build, but then users who just copy-paste their settings over from the release to the preview version would lose the preview URL. Hmmmmm
I'd say it's better to have the schema-url to automatically follow the channel via which it is created
A brainblast I had while responding to #7341 - what if we had two aka.ms links, one for the preview and one for the stable schemas. When we lay down the userDefaults.json, let's stomp in the appropriate URL.
People currently on preview would need to update the URL manually, but that's not too bad. Current stable users would still get the stable schema, and new preview users would get the preview one.
I've apparently had this thought before, but now that it's a new day, I'm gonna say _this is fine_.
https://raw.githubusercontent.com/microsoft/terminal/master/doc/cascadia/profiles.schema.json contains the latest and greatest schema as it gets updated. But the alwaysOnTop, largePasteWarning and multiLinePasteWarning properties are considered "not allowed". I don't see an issue for that so I'll raise one.
Update: https://github.com/microsoft/terminal/issues/7353 filed.
Update 2: Apparently global settings aren't supposed to go under "defaults" but rather above it. But that's rather unorganized to me.
Why not do something more on the lines of:
I like the idea of a dynamic userDefaults.json but is that something better addressed in the Settings UI effort?
In the meantime, since everyone must modify their settings.json directly anyway, here's my stopgap thought for userDefaults.json:
{
// In order to receive the correct schema, comment/uncomment the $schema below according to the release you have installed.
// Stable Release:
"$schema": "https://aka.ms/terminal-profiles-schema",
// Preview Release:
// "$schema": "https://aka.ms/terminal-profiles-schema-preview",
Maybe someone else can wordsmith the first comment better? I can't tell if I made it too wordy.
The preview schema link can be:
profiles.schema.jsonuserDefaults.json with each release https://raw.githubusercontent.com/microsoft/terminal/release-1.5/doc/cascadia/profiles.schema.jsonprofiles.schema.jsonuserDefaults.json, but at times preview users may see settings referenced that haven't been released to them yet https://raw.githubusercontent.com/microsoft/terminal/main/doc/cascadia/profiles.schema.jsonYeah, and the user settings can be automatically edited to use the correct schema based on the last wt version that was opened, so If I had WT-Preview running then it can change the schema URL to the shortlik for preview schema. If I had WT-Release running, the JSON is automatically edited so It points to the release schema.
That's for sure the ideal implementation. But I'm wondering if that effort should simply be a part of the broader full blown Settings UI feature. In the meantime what I suggested would still be a manual effort, but at least both links would be available in userDefaults.json and it'd be clear to users which link they need to use (since everyone already has to open up their settings.json to configure any settings already).
I don't want to cause any unnecessary scope creep on whomever is working on the Settings UI though 馃榿 imo there needs to be some level of concurrence here since no matter how you approach this particular issue, there's broader implications for other features in the works.
Most helpful comment
A brainblast I had while responding to #7341 - what if we had two aka.ms links, one for the preview and one for the stable schemas. When we lay down the userDefaults.json, let's stomp in the appropriate URL.
People currently on preview would need to update the URL manually, but that's not too bad. Current stable users would still get the stable schema, and new preview users would get the preview one.
I've apparently had this thought before, but now that it's a new day, I'm gonna say _this is fine_.