Terminal: Terminal preview settings reference 1.0 schema

Created on 19 Jun 2020  路  10Comments  路  Source: microsoft/terminal

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.

Area-Schema Issue-Docs Product-Terminal

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_.

All 10 comments

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:

Yeah, 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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

xmm1989218 picture xmm1989218  路  3Comments

DieselMeister picture DieselMeister  路  3Comments

miniksa picture miniksa  路  3Comments

NickITGuy picture NickITGuy  路  3Comments

mrmlnc picture mrmlnc  路  3Comments