Skip to content

Introduce Profiles page to SUI#20199

Open
carlos-zamora wants to merge 4 commits into
dev/cazamor/sui-rejuv/setting-containerfrom
dev/cazamor/sui-rejuv/profiles
Open

Introduce Profiles page to SUI#20199
carlos-zamora wants to merge 4 commits into
dev/cazamor/sui-rejuv/setting-containerfrom
dev/cazamor/sui-rejuv/profiles

Conversation

@carlos-zamora

@carlos-zamora carlos-zamora commented May 8, 2026

Copy link
Copy Markdown
Member

Summary of the Pull Request

Updates the settings UI to introduce a new Profiles page. This page includes:

  • a "Profile Defaults" navigator
  • a "Color Schemes" navigator (removed top-level item in favor of this)
  • an "add profile" split button (removed AddProfile page in favor of this)
  • a navigator for each profile
    • tooltips were added for the "hidden"/"orphaned" info badge

Validation Steps Performed

Scenarios:

  • settings search
    • defaults
    • color schemes
    • setting in defaults
  • breadcrumbs
  • navigate to individual profiles (via search and not)
  • update settings for a profile
  • accessibility testing

PR Checklist

Related to #17000
⚠️ Targets #20232

Comment thread src/cascadia/TerminalSettingsEditor/MainPage.cpp Fixed
Comment thread src/cascadia/TerminalSettingsEditor/MainPage.cpp Fixed
Comment thread src/cascadia/TerminalSettingsEditor/MainPage.cpp Fixed
Comment thread src/cascadia/TerminalSettingsEditor/MainPage.cpp Fixed
Comment thread src/cascadia/TerminalSettingsEditor/MainPage.cpp Fixed
Comment thread src/cascadia/TerminalSettingsEditor/MainPage.h Fixed
@carlos-zamora

This comment was marked as outdated.

@github-actions

This comment has been minimized.

@carlos-zamora carlos-zamora mentioned this pull request May 8, 2026
20 tasks
@carlos-zamora

This comment was marked as outdated.

@carlos-zamora carlos-zamora marked this pull request as draft June 9, 2026 20:36
@carlos-zamora carlos-zamora force-pushed the dev/cazamor/sui-rejuv/profiles branch from 7c37106 to 27566ac Compare June 16, 2026 18:26
@carlos-zamora carlos-zamora changed the base branch from main to dev/cazamor/sui-rejuv/setting-container June 16, 2026 18:28
@carlos-zamora

Copy link
Copy Markdown
Member Author

Demo

Profiles page

image

Badge tooltips

image image

Search results

image image image

@carlos-zamora carlos-zamora marked this pull request as ready for review June 16, 2026 18:33
@carlos-zamora carlos-zamora force-pushed the dev/cazamor/sui-rejuv/profiles branch from 27566ac to 9d38c1c Compare June 16, 2026 21:09
@carlos-zamora carlos-zamora mentioned this pull request Jun 18, 2026
2 tasks

@PankajBhojwani PankajBhojwani left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Big fan of the new profiles page, just a couple of nits. Curious to hear the reasoning behind removing Color Schemes as a top-level menu item but it's not a blocker since I assume we've cleared it with design already

Comment thread src/cascadia/TerminalSettingsEditor/Resources/en-US/Resources.resw Outdated
Comment thread src/cascadia/TerminalSettingsEditor/Profiles.cpp Outdated
@carlos-zamora

Copy link
Copy Markdown
Member Author

⚠️ Targets #20232

</data>
<data name="Profiles_ColorSchemesNavigator.Header" xml:space="preserve">
<value>Color schemes</value>
<comment>Title for the "Color schemes" navigator on the Profiles landing page. Clicking this opens the the color schemes page.</comment>
@github-actions

Copy link
Copy Markdown

@check-spelling-bot Report

⚠️ Dictionary not found

Problems were encountered retrieving check dictionaries (cspell:html/dict/html.txt cspell:python/src/common/extra.txt cspell:fullstack/dict/fullstack.txt cspell:typescript/dict/typescript.txt cspell:r/src/r.txt cspell:clojure/src/clojure.txt cspell:public-licenses/src/generated/public-licenses.txt cspell:powershell/dict/powershell.txt cspell:node/dict/node.txt cspell:sql/src/sql.txt cspell:cpp/src/compiler-clang-attributes.txt cspell:shell/dict/shell-all-words.txt cspell:cpp/src/stdlib-cmath.txt cspell:dotnet/dict/dotnet.txt cspell:java/src/java.txt cspell:npm/dict/npm.txt cspell:latex/dict/latex.txt cspell:svelte/dict/svelte.txt cspell:ruby/dict/ruby.txt cspell:scala/dict/scala.txt cspell:python/src/python/python.txt cspell:cpp/src/compiler-msvc.txt cspell:cpp/src/people.txt cspell:sql/src/tsql.txt cspell:ada/dict/ada.txt cspell:monkeyc/src/monkeyc_keywords.txt cspell:golang/dict/go.txt cspell:dart/src/dart.txt cspell:python/src/python/python-lib.txt cspell:docker/src/docker-words.txt cspell:cpp/src/stdlib-cerrno.txt cspell:redis/dict/redis.txt cspell:k8s/dict/k8s.txt cspell:swift/src/swift.txt cspell:django/dict/django.txt cspell:elixir/dict/elixir.txt cspell:cpp/src/lang-keywords.txt cspell:cpp/src/stdlib-c.txt cspell:php/dict/php.txt cspell:gaming-terms/dict/gaming-terms.txt cspell:java/src/java-terms.txt cspell:css/dict/css.txt cspell:public-licenses/src/additional-licenses.txt cspell:lua/dict/lua.txt cspell:rust/dict/rust.txt cspell:cpp/src/template-strings.txt cspell:cpp/src/compiler-gcc.txt cspell:haskell/dict/haskell.txt cspell:cpp/src/lang-jargon.txt cspell:python/src/additional_words.txt cspell:software-terms/dict/softwareTerms.txt cspell:cpp/src/ecosystem.txt cspell:cpp/src/stdlib-cpp.txt cspell:software-terms/dict/webServices.txt).

⚠️ For more information, see check-dictionary-not-found.

🔴 Please review

See the 📂 files view, the 📜action log, 👼 SARIF report, or 📝 job summary for details.

❌ Errors and Warnings Count
⚠️ check-dictionary-not-found 54
❌ forbidden-pattern 1

See ❌ Event descriptions for more information.

These words are not needed and should be removed NODEFAULT SND

Available 📚 dictionaries could cover words (expected and unrecognized) not in the 📘 dictionary

This includes both expected items (2018) from .github/actions/spelling/expect/alphabet.txt .github/actions/spelling/expect/expect.txt .github/actions/spelling/expect/web.txt

Dictionary Entries Covers Uniquely
cspell:csharp/csharp.txt 32 2 2
cspell:aws/aws.txt 232 2 2
cspell:fonts/fonts.txt 536 1 1

Consider adding to the extra_dictionaries array (in the .github/actions/spelling/config.json file):

    "cspell:csharp/csharp.txt",
    "cspell:aws/aws.txt",
    "cspell:fonts/fonts.txt",

To stop checking additional dictionaries, put (in the .github/actions/spelling/config.json file):

"check_extra_dictionaries": []

Forbidden patterns 🙅 (1)

In order to address this, you could change the content to not match the forbidden patterns (comments before forbidden patterns may help explain why they're forbidden), add patterns for acceptable instances, or adjust the forbidden patterns themselves.

These forbidden patterns matched content:

In English, duplicated words are generally mistakes

There are a few exceptions (e.g. "that that").
If the highlighted doubled word pair is in:

  • code, write a pattern to mask it.
  • prose, have someone read the English before you dismiss this error.
\s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s
✏️ Contributor please read this

By default the command suggestion will generate a file named based on your commit. That's generally ok as long as you add the file to your commit. Someone can reorganize it later.

If the listed items are:

  • ... misspelled, then please correct them instead of using the command.
  • ... names, please add them to .github/actions/spelling/allow/names.txt.
  • ... APIs, you can add them to a file in .github/actions/spelling/allow/.
  • ... just things you're using, please add them to an appropriate file in .github/actions/spelling/expect/.
  • ... tokens you only need in one place and shouldn't generally be used, you can add an item in an appropriate file in .github/actions/spelling/patterns/.

See the README.md in each directory for more information.

🔬 You can test your commits without appending to a PR by creating a new branch with that extra change and pushing it to your fork. The check-spelling action will run in response to your push -- it doesn't require an open pull request. By using such a branch, you can limit the number of typos your peers see you make. 😉

If the flagged items are 🤯 false positives

If items relate to a ...

  • binary file (or some other file you wouldn't want to check at all).

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

    ^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

  • well-formed pattern.

    If you can write a pattern that would match it,
    try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants