Carlos Zamora
90d · built 2026-09-30
Performance
What Carlos Zamora shipped in the selected window, measured in ETV, and how it compares with the 90 days before it.
Effective capacity
+1.1engineers
delivers like 2.1 (2.1x pre-AI)
Output (ETV)
7.9ETV
+201.1% vs 2.6 prior
Features share
56.8%
−11.3 pp vs prior window
Fixes share
29.3%
+21.7 pp vs prior window
Work mix
56.8% Features11% Maintenance0% Tests2.9% Docs29.3% Fixes
11 commits over 90 days, ending 2026-09-30.
Daily performance
Daily ETV, stacked by Features, Maintenance, Tests, Docs and Fixes.
Repository spread
Where this developer's commits land. Concentrated work (top1 > 80%) vs polymath spread (top1 < 30%).
Most impactful commits
Top 10 by ETV in the last 90 days.
- 2.6ETVUpdate profile subpages (#20336) ## Summary of the Pull Request Updates the individual profile pages to include: - icons + settings expanders/cards - `SettingsResetButton`: a new "reset value" button - a new "unfocused appearance" subpage with its own preview (similar to default appearance) ## Detailed Description of the Pull Request / Additional comments - `IInheritableViewModel`: interface exposing `HasSetting()`, `ClearSetting()`, and `SettingOverrideSource()` - To help ensure that these are updated properly, a static assert was added that checks the number of profile settings. This is intended to be a tripwire to ensure future changes also update the reset buttons. - `Profiles_UnfocusedAppearance.h/cpp/idl/xaml`: the new unfocused appearance page - added helper functions `FormatAccessibleName()` and `ColorToHexString()` to deduplicate code that creates accessible names for SettingsExpanders across the entire SUI ## Validation Steps Performed - [X] settings search + deep link navigation - [X] "reset value" button - [X] accessibility pass with Narrator ## PR Checklist Related to #17000 --------- Co-authored-by: Dustin L. Howett <dustin@howett.net>github.com-microsoft-terminal · c0c72e95 · 2026-09-15
- 2.4ETVPort SettingsCard/Expander from WCT and update SUI to use it (#20232) ## Summary of the Pull Request Ports the `SettingsCard` and `SettingsExpander` from Windows Community Toolkit to the TerminalSettingsEditor project: - Windows Community Toolkit code: https://github.com/CommunityToolkit/Windows/tree/main/components/SettingsControls/src - `SettingsCard` and `SettingsExpander` were ported over and reuse our macros to reduce boilerplate. - A few deviations exist since WCT targets WinUI 3 but TSE uses WinUI 2 (i.e. chevron rendering) - One deviation specific to TSE: `Description` is applied as `AutomationProperties.FullDescription` for accessibility. This is for accessibility compliance. Description text should be read out by the screen reader (scan mode isn't enough). Prior to this change, we would expose it as `HelpText`. This change exposes it as `FullDescription` which is more fitting as it's generally an opt-in behavior for screen reader users to hear. This prevents the user from being overwhelmed with information. - `SettingsControlsHelpers` is used to make this much easier to review. Any converters, triggers, or other classes that are used for the migration were added there. Additionally, this PR performs the migration to use these new controls and removes `SettingContainer` entirely. Associated changes: - Resources: renamed keys `.HelpText` --> `.Description` - Deleting `SettingContainerStyle.xaml` and moving anything that's still used to `CommonResources.xaml` - Appearances: `BackgroundImageSettingsVisible` --> `BackgroundImageSettingsEnabled` to make use of the disabled styling - GenerateSettingsIndex.ps1 was updated to target SettingsCard/SettingsExpander for the search index Other notable changes as a part of using the new controls: - Navigators (i.e. "Advanced" button in Profiles page, Extensions page) were also converted to use `SettingsCard` - Utils.h/cpp includes a fix for deep link to work for nested settings (i.e. "Foreground", "Columns") Switching to use the WCT port directly allows us to iterate faster on the settings UI and be more consistent with the Windows ecosystem. However, this does mean that the "reset button" had to be removed from the individual settings. This was already a weird pattern, so removing it shouldn't be too much of an issue. However, there was value to being able to reset settings. To provide this kind of functionality, a "reset" button is being added to the profile pages. This clears all settings in a profile so that they can apply their own customizations on top. It sacrifices granularity for simplicity and is a better understood concept. ## Validation Steps Performed - [X] settings search should pick up and navigate to settings properly - [X] accessibility audit ## PR Checklist Related to #17000github.com-microsoft-terminal · 86d15aef · 2026-08-24
- 1.2ETVUpdate styling of Actions page (#20215) ## Summary of the Pull Request Updates the Actions and Edit Action pages according to the mockups in #20036 + some iterations past that. Notable changes: - "Actions" --> "Shortcuts" - `KeyChordVisual`: new control to display the key bindings. Bound to a `KeyChord`. Inspired by PowerToys' implementation - Actions.xaml: - relatively thin entries for each shortcut - Actions can have multiple key chords associated with them. All of these are shown. - Edit button associated with each key chord. Clicking it allows you to immediately modify the key chord without navigating to the sub-page. Tooltip + automation properties constructed to make it more clear what these buttons do. - EditAction.xaml: - each action arg is represented in a settings card for consistent UI - shortcut type is the first/primary setting. Changing this updates the "additional customizations" section at the bottom - "key bindings" section enumerates all associated shortcuts and allows the user to modify them individually - "additional customizations" includes "shortcut name" to allow users to override the command palette representation. This also includes action args UI. ## Validation Steps Performed Scenarios: - Actions page: - [X] key chord visuals are legible - [X] edit button --> edit mode --> show key chord listener (and focus it) - [X] binding to an key chord that is in use shows a warning - [X] clicking on entry navigates to Edit Action page - [X] accessibility testing - Edit Action page: - [X] accessibility testing ## PR Checklist Related to #17000github.com-microsoft-terminal · 093e49e2 · 2026-09-03
- 0.8ETVIntroduce Profiles page to SUI (#20199) ## 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: - [x] settings search - [X] defaults - [X] color schemes - [X] setting in defaults - [X] breadcrumbs - [X] navigate to individual profiles (via search and not) - [X] update settings for a profile - [X] accessibility testing ## PR Checklist Related to #17000 Stacked on #20232github.com-microsoft-terminal · 11e222c3 · 2026-08-25
- 0.4ETVAdd expander groups to settings UI (#20200) ## Summary of the Pull Request Adds expander groups throughout the entire settings UI (except Profiles pages) to group similar settings together. These expanders got an icon to help make them easier to find and navigate. There are also a few other changes that were folded into this PR: - "Appearance" page was renamed to "Personalization" - Move settings from "Rendering" page to "Compatibility" Those were done as a part of this PR for a holistic restructuring. Given that spacing has changed, the content also needs to be reviewed so that it looks right with this new structure (i.e. long help text should be reconsidered to be shorter). ## Validation Steps Performed Scenarios: - ensure all settings are in expanders - [x] Startup - [x] Interaction - [x] Personalization - [x] Compatibility - [x] settings search still works and deep links ## PR Checklist Related to #17000github.com-microsoft-terminal · 58c0db94 · 2026-09-12
- 0.2ETVRefresh hovered hyperlink on scroll (#20357) ## Summary of the Pull Request Updates the cached hovered hyperlink whenever a scroll occurs. All changes were made in `ControlCore`: - Add `_refreshHoveredCell()` which simply sets the hovered cell again - Calls the new function in `UserScrollViewport()` for user-initiated scrolling and `updateScrollBar` for non-user-initiated scrolling ## Validation Steps Performed With multiple hyperlinks in the text buffer, the following scenarios resulted in the hovered hyperlink being updated properly: ✅ mouse wheel scrolling ✅ keyboard scrolling ✅ scroll to mark ## PR Checklist Closes #20219 Based on #20239github.com-microsoft-terminal · 20f58611 · 2026-07-10
- 0.2ETVFix query button in SUI search box (#20658) Fixes an issue where the query button in the SUI search box wouldn't do anything. This is because `SettingsSearchBox_QuerySubmitted()` was only doing work if a suggestion was chosen. Rather than creating a new page to just show the search results, I made it just invoke the currently selected item. Unfortunately, that means that we need to keep track of the selected item ourselves, but aside from that, it's a pretty small PR. I added `_NavigateToSearchResult()` to help deduplicate some code. ## Validation Steps Performed ✅ ignore "no results" placeholder ✅ fallback to top result if none are selectedgithub.com-microsoft-terminal · edc36a82 · 2026-09-10
- 0.1ETVFix Export Tab leaking Enter via Command Palette (#20358) ## Summary of the Pull Request Fixes a bug where Enter would leak into the terminal session when running the export buffer command from the command palette. Turns out this is because `_ExportTab()` opens the file picker synchronously in the key handler. The file picker spins a nested Win32 modal message loop, which pumps the queued `WM_CHAR` into the terminal. Switching to the foreground thread gets out of the nested modal loop, resulting in the `WM_CHAR` being handled through XAML's pipeline and suppressing it normally. The low priority makes it so that the command palette is visibly dismissed before opening the file picker. ## Validation Steps Performed Run export buffer action from the command palette. ✅ Enter does not go through to the underlying terminal. ## PR Checklist Closes #20188 Based on #20221github.com-microsoft-terminal · 01441843 · 2026-07-10
- 0.0ETVFix action name inconsistently updating in Edit Action page (#20455) In the Edit Action page, the "action name" box wouldn't update sometimes when the "action type" was updated. `DisplayName()` would be refreshed, but the new name wouldn't be pulled from the model because the cache was still populated. This just invalidates it so that it's generated again. Same as PR #20381 (1.25 port)github.com-microsoft-terminal · a198a6ca · 2026-07-20
- 0.0ETVConvert NTM folder name expander to card (#20646)github.com-microsoft-terminal · eacba3e3 · 2026-09-08