-
Notifications
You must be signed in to change notification settings - Fork 0
Commits on Jan 18, 2022
-
Prevent potential null pointer crash in export buffer action (#12180)
## Summary of the Pull Request Prevents a potential null pointer crash in the export buffer action. ## PR Checklist * [x] Closes #12170 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx ## Validation Steps Performed Manually tested.
Configuration menu - View commit details
-
Copy full SHA for 084bf89 - Browse repository at this point
Copy the full SHA 084bf89View commit details -
Disable being able to set the automatic adjustment of indistinguishab…
…le text (#12160) ## Summary of the Pull Request Disables the automatic adjustment of indistinguishable text (added in #11095) because of the concerns brought up in #11917. Also, the setting is hidden in the SUI for as long as this feature remains disabled. ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here
Configuration menu - View commit details
-
Copy full SHA for f605adc - Browse repository at this point
Copy the full SHA f605adcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e46c85 - Browse repository at this point
Copy the full SHA 4e46c85View commit details
Commits on Jan 20, 2022
-
Merged PR 6815087: [Git2Git] !6814613: conhost FT: skip a test that f…
…ails on OneCore [Git2Git] Merged PR 6814613: conhost FT: skip a test that fails on OneCore Fixes MSFT-33720056 Retrieved from https://microsoft.visualstudio.com os.2020 OS official/rs_wdx_dxp_windev 6410311eee21e9ce147464af89d35f3569d4d2b9
Configuration menu - View commit details
-
Copy full SHA for 494b11c - Browse repository at this point
Copy the full SHA 494b11cView commit details
Commits on Jan 21, 2022
-
## Summary of the Pull Request This PR sets up a OneFuzz pipeline on Azure DevOps for our repo. ## Detailed Description of the Pull Request / Additional comments - fuzz.yml: defines the stages and pipeline for ADO - build-console-fuzzing: builds the solution in the Fuzzing configuration - build-console-steps: omits a few tasks that are unnecessary for this build configuration - sln and vcxproj changes: the solution wasn't building in CI. This makes sure that's fixed. - fuzzing.md: a short guide on how to get OneFuzz set up and add a new fuzzer ## References #7638
Configuration menu - View commit details
-
Copy full SHA for 68ab807 - Browse repository at this point
Copy the full SHA 68ab807View commit details -
atlas: apply colors/flags per column instead of just the first one (#…
…12189) The atlas engine currently applies colors and flags (underline, overline, ...) based on the first column in a glyph; this means that every member of a ligature is drawn in the same color with the same underline style. This commit makes us look up cell color and flags based on the actual buffer column it represents, so that ligatures can be printed in multiple colors and with different underline styles.
Configuration menu - View commit details
-
Copy full SHA for 8793e27 - Browse repository at this point
Copy the full SHA 8793e27View commit details
Commits on Jan 24, 2022
-
Make sure titles always sanitized before passing over conpty (#12211)
When title updates are forwarded from the host to the client terminal, they're passed over conpty in an `OSC 0` sequence. If there are any control characters embedded in that title text it's essential they be filtered out, otherwise they are likely to be misinterpreted by the VT parser on the other side. This PR fixes a case where that sanitization step was missed for titles initialized at startup. Originally the sanitization step was handled in `DoSrvSetConsoleTitleW`, which catches title changes made via VT escape sequences, or through the console API, but missed the title initialization at startup. I've now moved that sanitization code into the `CONSOLE_INFORMATION::SetTitle` method, which should cover all cases. This sanitization is only meant to occur when in "pty mode", though, which we were originally establishing with an `IsInVtIoMode` call. However, `IsInVtIoMode` does not return the correct result when the title is set at startup, since the VT I/O thread is not initialized at that point. So I've instead had to change that to an `InConptyMode` call, which determines the conpty state from the launch args. ## Validation Steps Performed I've manually confirmed the test case described in issue #12206 is now working correctly. However, the change to using `InConptyMode` caused some of the unit tests to fail, because there isn't a real conpty connection when testing. Fortunately there are some `EnableConptyModeForTests` methods used by the unit tests to fake the appearance of a conpty connection, and I just needed to add some additional state in one of those methods to trigger the correct `InConptyMode` response. Closes #12206
Configuration menu - View commit details
-
Copy full SHA for 3804f26 - Browse repository at this point
Copy the full SHA 3804f26View commit details -
ci: move helix queueing to a separate stage as well (#12167)
This pull request moves the Helix queuing to a separate stage outside of the build stage.
Configuration menu - View commit details
-
Copy full SHA for b844008 - Browse repository at this point
Copy the full SHA b844008View commit details -
Fix gridline drawings for DxEngine (#12224)
With the introduction of a common `RenderSettings` class in 62c95b5, `PaintBufferGridLines` was now uniformly called with a proper alpha-less `COLORREF` argument. This commit crudely fixes the issue by forcing the color to be fully opaque in the `DxEngine` class. ## PR Checklist * [x] Closes #12223 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Launch pwsh.exe * Hyperlinks get underlines on hover ✅
Configuration menu - View commit details
-
Copy full SHA for e3aa9ff - Browse repository at this point
Copy the full SHA e3aa9ffView commit details -
AtlasEngine: Make shader hot-reloads possible in Windows Terminal (#1…
…2227) This minor change makes it possible to hot-reload the AtlasEngine shaders under Windows Terminal. Launching an UWP application from Visual Studio doesn't necessarily result in a working directory inside the project folder, which makes relative file paths impractical. While the `__FILE__` macro is compiler dependent it works under our build setup with MSVC at least. ## Validation Steps Performed * Shader hot-reloading works under Windows Terminal ✅
Configuration menu - View commit details
-
Copy full SHA for 27c4a84 - Browse repository at this point
Copy the full SHA 27c4a84View commit details -
Fix opacity restore for command palette previews (#12229)
This commit correctly restores the previous opacity when the command palette preview is cancelled. It includes an additional change in order to make the `AdjustOpacity` setter consistent and symmetric with the `Opacity` getter. ## PR Checklist * [x] Closes #12228 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Open Windows Terminal command palette * Choose "Set background opacity..." * Cycle through the items without selecting one * Press Escape * Previous opacity is restored ✅
Configuration menu - View commit details
-
Copy full SHA for 5258fea - Browse repository at this point
Copy the full SHA 5258feaView commit details -
Misc. elevation crash fixes (#12205)
This is a collection of fixes: * dd213a5: This was a crash I discovered while investigating. Probably not the root cause crash, but a crash nonetheless. * ba49121...0b18ae4: A collection of fixes to _not_ create the window when we're about to handoff each of the new tabs, panes, to an elevated window. That should prevent us from starting up XAML at all, which should take care of #12169. Additionally, it'll prevent us from restoring the unelevated windows, which should resolve #12190 * The remainder of the commits where fixes for other weird edge cases as a part of this. Notably: * ff72599: Autopromote the first `split-pane` to a new tab, in the case that it's preceded with only `new-tab` actions that opened elevated windows. #### checklist * [x] I work here * [x] Docs are fine * [x] Closes #12190 * [x] Closes #12169
Configuration menu - View commit details
-
Copy full SHA for 43a275c - Browse repository at this point
Copy the full SHA 43a275cView commit details -
Fix unbalanced unlock in PtySignalInputThread::_Shutdown (#12181)
The only way to notice that LeaveCriticalSection() was called more often than EnterCriticalSection() is by calling EnterCriticalSection() again in the future, which will then deadlock. Since this bug occurs on exit it wasn't noticeable with the old console lock. With the new, stricter ticket lock this bug causes a fail-fast exit. ## PR Checklist * [x] Closes #12168 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Launch and then exit Windows Terminal * OpenConsole cleanly exits ✅
Configuration menu - View commit details
-
Copy full SHA for 3bd3a4f - Browse repository at this point
Copy the full SHA 3bd3a4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 038917d - Browse repository at this point
Copy the full SHA 038917dView commit details
Commits on Jan 25, 2022
-
PR 6616045: Hand off to Windows Terminal Stable by default (!)
This commit also introduces a check that we are in an interactive session before we perform handoff, so as to not break service accounts. It also adds some tracing.
Configuration menu - View commit details
-
Copy full SHA for 33c2cd4 - Browse repository at this point
Copy the full SHA 33c2cd4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9e1acd7 - Browse repository at this point
Copy the full SHA 9e1acd7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 886592a - Browse repository at this point
Copy the full SHA 886592aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 10824cc - Browse repository at this point
Copy the full SHA 10824ccView commit details -
Uh oh someone broke main on an FI
Fixes FI bugs introduced in 33c2cd4
Configuration menu - View commit details
-
Copy full SHA for d4ebcc2 - Browse repository at this point
Copy the full SHA d4ebcc2View commit details -
Configuration menu - View commit details
-
Copy full SHA for a2e9328 - Browse repository at this point
Copy the full SHA a2e9328View commit details -
Fix a merge conflict that broke the build (#12245)
Less "merge conflict" and more "something that got missed in a merge". The offending commits are * 68ab807 * b3fab51 The Fuzzer build doesn't run on PR, so it didn't notice this couldn't build. @carlos-zamora as an FYI
Configuration menu - View commit details
-
Copy full SHA for bfa3964 - Browse repository at this point
Copy the full SHA bfa3964View commit details -
Add support for hyperlinks to AtlasEngine (#12225)
`Renderer` owns the information of the hovered interval in `_hoveredInterval` and provides no access to this information. We can only infer it from calls to `PaintBufferGridLines`, if we're given the request to draw an underline despite the previous call to `UpdateDrawingBrushes` not specifying it. While it'd be possible to fix this and pass the underline flag to `UpdateDrawingBrushes`, I personally consider this aspect of `Renderer` to be a "leaky abstraction" as it's inherently incompatible with any engine not working like `DxEngine`, such as the `AtlasEngine`. It's likely more worthwhile to fundamentally change the `Renderer` architecture in the future. ## PR Checklist * [x] Closes #11871 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Launch pwsh.exe * Hyperlinks are underlined when hovered ✅ * Launch WSL / bash * Run `printf '\e]8;;http://example.com\e\\This is a link\e]8;;\e\\\n'` * Hyperlink is underlined when hovered ✅
Configuration menu - View commit details
-
Copy full SHA for 57b93d2 - Browse repository at this point
Copy the full SHA 57b93d2View commit details -
AtlasEngine: Redraw immediately on opacity changes (#12226)
Since `AtlasEngine` prefers drawing without alpha for performance reasons, calls to `EnableTransparentBackground` require a draw cycle. This PR makes `Renderer::_NotifyPaintFrame` public and calls it. Related to #9999. ## PR Checklist * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Open Windows Terminal command palette * Choose "Set background opacity..." * Cycling through the items without selecting one changes background opacity immediately ✅
Configuration menu - View commit details
-
Copy full SHA for f210784 - Browse repository at this point
Copy the full SHA f210784View commit details -
Pin the
NETCore.App.Host
version to appease nuget (#12248)This gets rid of warnings like ``` NU1102: Unable to find package Microsoft.NETCore.App.Host.win-x64 with version (= 3.1.21) - Found 1 version(s) in TerminalDependencies [ Nearest version: 3.1.18 ] ``` Technically, there's a `NETCore.App.Host.3.1.21` that's out now. We _could_ migrate to that, but then we'd have to make sure to manually re-upload that nuget package to our nuget feed, and then we'd still get this warning the next time that package is updated. Theoretically, there's a 6.x version too, but considering this is a debugging tool, we don't care all that much. * [x] I work here * [x] Discussed this with Dustin * [x] Gets rid of a SUPER TRIVIAL warning.
Configuration menu - View commit details
-
Copy full SHA for 59760b6 - Browse repository at this point
Copy the full SHA 59760b6View commit details -
Send an updated cursor position at the end of writing a run (#12210)
I can find the commit where this regressed tomorrow if needed. In #10685 we stopped emitting these notifications while we were deferring cursor drawing. We however forgot to send the notification at the end of the defer. This likely has a small perf impact. We however do need these cursor position events for IMEs to be able to track the cursor position (and low key for #10821) * [x] regressed in #10685 * [x] Closes #11170 * [x] I work here * [x] Tests added
Configuration menu - View commit details
-
Copy full SHA for 01fd714 - Browse repository at this point
Copy the full SHA 01fd714View commit details -
Merged PR 6881653: [Git2Git] Merged PR 6881093: BUILD FIX: Reintroduc…
…e BOM to conhost manifests [Git2Git] Merged PR 6881093: BUILD FIX: Reintroduce BOM to conhost manifests Related work items: MSFT-37882151 Retrieved from https://microsoft.visualstudio.com os.2020 OS official/rs_wdx_dxp_windev b6f388b08b0b431ffc5663fe27eef260688febd6
Configuration menu - View commit details
-
Copy full SHA for c27e9a5 - Browse repository at this point
Copy the full SHA c27e9a5View commit details -
Merged PR 6882227: [Git2Git] Merged PR 6881763: Change to hardcoded s…
…ystem GUIDs to appease manifest validation Manifest validation won't accept migration/initialization of HKCU-based registry keys anymore. The enforcement scripts says that they should be defined in code instead. So here it is: defined in code insteead. Retrieved from https://microsoft.visualstudio.com os.2020 OS official/rs_wdx_dxp_windev 67c720b628de4acefbc381891b7e7d29d387038e Related work items: MSFT-37867666
Configuration menu - View commit details
-
Copy full SHA for 92727b5 - Browse repository at this point
Copy the full SHA 92727b5View commit details
Commits on Jan 26, 2022
-
Remove the Tray Icon from velocity (#12246)
This will turn the feature on always from this point on. That means 1.13 Stble would be the first Stable release to have this feature (unless we cherry-pick this to 1.12 stable, which we may) * [x] Closes #12220 * [x] I work here
Configuration menu - View commit details
-
Copy full SHA for dcc80a8 - Browse repository at this point
Copy the full SHA dcc80a8View commit details -
Fix Opacity in Windows 10, again (#12255)
More fallout from the settings refactor. Probably because testing on a Windows 10 device is hard, because you actually need a physical machine to get acrylic to behave correctly. Basically, the code is simpler now, but we missed the windows 10 only edge case where acrylic can get turned on, but we forget to enable the acrylic brush, so it just stays off. Refer to #11619 where this regressed, and #11643, #12229, because this is just a hard problem apparently * [x] Closes #11743. Technically OP is complaining about behavior that's by-design, but it made me realize this regressed in 1.12. * [ ] No tests on this part of the `TermControl` unfortunately. * [x] Hauled out my old Win10 laptop to verify that opacity works right: - [x] A fresh profile isn't created with any opacity - [x] Mouse wheeling turns on acrylic - [x] Using `opacity` only in the settings still stealthily enables acrylic
Configuration menu - View commit details
-
Copy full SHA for 15a0475 - Browse repository at this point
Copy the full SHA 15a0475View commit details -
Update PGO helpers to mitigate Y2K22 bug (#12262)
The PGO helpers NuGet had the Y2K22 bug. This receives and integrates the updated package in our project to restore NuGet functionality. ## PR Checklist * [x] Closes #12261 * [x] I work here * [x] If it builds it sits. ## Validation Steps Performed * [x] Build new PGO instrument data with this pipeline update: https://dev.azure.com/microsoft/Dart/_build/results?buildId=44304850&view=results
Configuration menu - View commit details
-
Copy full SHA for fe52368 - Browse repository at this point
Copy the full SHA fe52368View commit details -
Expose Defterm info to ComboBoxItem properly (#12259)
## Summary of the Pull Request Makes `Model::DefaultTerminal` an `IStringable`, which presents it as a string, when possible. This enables text search for defterm's setting. This also enables screen readers to identify the combo box items by their text content (app name, author, and version) as opposed to being treated as an item containing more text. As a part of that, I cleaned up the UIA tree to treat the item's name as "\<name\>, \<author\>, \<version\>". This is consistent with how the Settings App presents installed apps in Apps > Installed apps. #11251 will be resolved upon verification by the accessibility team. ## Validation Steps Performed Verified using Narrator and Accessibility Insights.
Configuration menu - View commit details
-
Copy full SHA for d89c241 - Browse repository at this point
Copy the full SHA d89c241View commit details -
Add a keyboard shortcut handler to the TabRowControl (#12260)
This makes the scenario mentioned in #8480 work. It's maybe not as holistic a solution as we'd like, but it definitely works. Tested both with Narrator, and using the TabView scroll handles to get tab focus into the tab row manually * [x] Closing the _active_ tab with <kbd>Ctrl+Shift+w</kbd> works (not the `TabViewItem` that has focus, but that's how Edgium works so that seems fine) * [x] Opening a tab with <kbd>Ctrl+Shift+t</kbd> works * [x] Opening the cmdpal with <kbd>Ctrl+Shift+p</kbd> works * [x] Will take care of #8480 once we get the a11y team to validate * [x] I work here #### Notes: None of ```xaml PreviewKeyDown="_KeyDownHandler" KeyDown="_KeyDownHandler" KeyUp="_KeyDownHandler" ``` On the TerminalPage directly seem to fire when the focus is in the `TabViewItem` or the New Tab flyout. But they fire just fine when focus is in the `TermControl`. Interesting, because you'd think that the `TermControl` would have already handled the key...
Configuration menu - View commit details
-
Copy full SHA for 6f69487 - Browse repository at this point
Copy the full SHA 6f69487View commit details -
[Command Palette] Announce if suggestions were found to screen readers (
#12266) ## Summary of the Pull Request Expands on #9582. If the command palette finds results, the screen reader says "Suggestions available". Makes the scenario mentioned in #7907 work. This is sufficient for various reasons: 1. According to the bug report, saying that suggestions are available is sufficient > Screen reader should provide the results info on searching commands like 10 results found or suggestions available when there are any search results (Source: #7907) 2. This is common practice. Settings app and XAML Controls Gallery do this for their search box. Also, the user should be able to know how many results were found by tabbing/selecting a result item. When this is done, the screen reader will use `SizeOfSet` and `PositionInSet` to announce how many results were found and which one we're currently on. ## Validation Steps Performed Verified this behavior using Narrator. Verified it matches the behavior of the Settings app and the XAML Controls Gallery.
Configuration menu - View commit details
-
Copy full SHA for 1e47d7a - Browse repository at this point
Copy the full SHA 1e47d7aView commit details
Commits on Jan 27, 2022
-
Configuration menu - View commit details
-
Copy full SHA for a13b207 - Browse repository at this point
Copy the full SHA a13b207View commit details -
Rename the "Bold" SGR attribute as "Intense" (#12270)
When we gave users the ability to configure how the `SGR 1` attribute should be rendered, we described those options as "intense is bright" and "intense is bold". Internally, though, we still referred to the `SGR 1` attribute as bold. This PR renames all occurrences of "Bold" (when referring to the `SGR 1` attribute) as "Intense", so the terminology is more consistent now. PR #10969 is where we decided on the wording to describe the `SGR 1` attribute. Specific changes include: * `TextAttribute::IsBold` method renamed to `IsIntense` * `TextAttribute::SetBold` method renamed to `SetIntense` * `VtEngine::_SetBold` method renamed to `_SetIntense` * `ExtendedAttributes::Bold` enum renamed to `Intense` * `GraphicsOptions::BoldBright` enum renamed to `Intense` * `GraphicsOptions::NotBoldOrFaint` enum renamed to `NotIntenseOrFaint` * `SgrSaveRestoreStackOptions::Boldness` enum renamed to `Intense` ## Validation Steps Performed I've checked that the code still compiles and the unit tests still run successfully. Closes #12252
Configuration menu - View commit details
-
Copy full SHA for bcc38d0 - Browse repository at this point
Copy the full SHA bcc38d0View commit details -
AtlasEngine: Implement ClearType blending (#12242)
This commit extracts DirectWrite related shader code into dwrite.hlsl and adds support for ClearType blending. Additionally the following changes are piggybacked into this commit: * Some incorrect code around fallback glyph sizing was removed as this is already accomplished by `CreateTextLayout` internally * Hot-reload failed to work with dwrite.hlsl as the `pFileName` parameter was missing * Legibility of the dotted underline was improved by increasing the line gap from 1:1 to 3:1 Part of #9999. ## PR Checklist * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Types are clear ✅
Configuration menu - View commit details
-
Copy full SHA for 4ccfe0b - Browse repository at this point
Copy the full SHA 4ccfe0bView commit details -
Fix defterm in wake of auto-elevation (#12272)
There are a couple places where we now bail immediately on startup, if we think the window is going to get created without any tabs. We do that to prevent a blank window from flashing on the screen when launching auto-elevate profiles. Unfortunately, those broke defterm in a particularly hard to debug way. In the defterm invocation, there actually aren't any tabs when the app completes initialization. We use the initialization to actually accept the defterm handoff. So what would happen is that the window would immediately close itself gracefully, never accepting the handoff. In my defense, #8514, the original auto-elevated PR, predates defterm merging (906edf7) by a few months, so I totally forgot to test this when rolling it into the subsequent iterations of that PR. * Related to: * #7489 * #12137 * #12205 * [x] Closes #12267 * [x] I work here * [ ] No tests on this code unfortunately * [x] Tested manually Includes a semi-related code fix to #10922 to make that quieter. That is perpetually noisy, and when trying to debug defterm, you've only got about 30s to do that before it bails, so the `sxe eh` breaks in there are quite annoying.
Configuration menu - View commit details
-
Copy full SHA for 48d79c7 - Browse repository at this point
Copy the full SHA 48d79c7View commit details -
Rename "Windows Terminal" -> "Terminal" (#12264)
This should be most of the surfaces that we really care about for displaying "Windows Terminal". There's a pile of other references in code, but I couldn't find any other resources that mention it. I left a lot of the references to Windows Terminal throughout. Seemed like it was fine to keep calling it that in most places, just these localized strings that are going to be displayed in the Shell that should be changed. Rough compare: ![image](https://user-images.githubusercontent.com/18356694/151248506-edf9a6ab-d93f-438f-8755-cdf6ae643736.png) The strings were also moved to the Context Menu resources file, because that's localized into more languages. @DHowett we may want to spin a full build to make sure this works and I didn't miss anything * [x] Closes #12091
Configuration menu - View commit details
-
Copy full SHA for a66a1c0 - Browse repository at this point
Copy the full SHA a66a1c0View commit details -
Add support for ctrl+click on the dropdown to launch elevated (#12209)
Just like the shift+click and the alt click shortcuts, now Ctrl+Click will launch a new window with that profile, elevated. I also found that the GenerateName wasn't updated for the elevate arg, so added that. I considered adding the following to the defaults, but decided against it. It added 10 more entries to the command palette that were only separated by the `elevate: true` param, so that didn't feel valuable. Those are posted below for posterity. * [x] closes https://github.com/microsoft/terminal/projects/5#card-50759221 * [x] Tested manually Includes a semi-related dead code removal for the `elevated` param for `_OpenNewWindow`, which didn't end up being used, and wouldn't work as intended anyways.
Configuration menu - View commit details
-
Copy full SHA for e520779 - Browse repository at this point
Copy the full SHA e520779View commit details -
Add Elevate flag to the SUI (#12257)
Does what it says on the box ![image](https://user-images.githubusercontent.com/18356694/151168418-68dd9737-ceee-4dbc-8ab4-2b07f5d3fddb.png) * [x] I work here * [x] Discussed in OneNote
Configuration menu - View commit details
-
Copy full SHA for f854988 - Browse repository at this point
Copy the full SHA f854988View commit details -
Don't open a hole in the terminal window when pasting (#12208)
Turns out, this bug only repros in Controls version 2. I'm not sure why, but it didn't repro only on main. So this fix does nothing until #11720 merges. This PR prevents us from setting properties on the paste warning dialog unless we actually need to paste. 5f9c551 proves that settings these properties is what would cause the bug in the first place. I went a step further and cleaned this up a bit. This was always a little weird, having to get the `BracketedPasteEnabled` for the active control on the UI thread before we actually display the warning. In the post-#5000 future where going back to the control like this would be a x-proc hop, I figured I should just skip that entirely and plumb the `BracketedPaste` state out in the initial request. * [x] Closes #12202 * [x] I work here * [x] No tests, but there's not a great place for a test like this * [x] Doesn't affect docs See also: #12241 which would introduce #12202 on its own.
Configuration menu - View commit details
-
Copy full SHA for 95770ed - Browse repository at this point
Copy the full SHA 95770edView commit details
Commits on Jan 28, 2022
-
Fix broken reset button on some profile settings (#12275)
## Summary of the Pull Request This fixes a bug where several settings would not show the reset button. The root cause of this issue is two fold: 1. Hooking up `CurrentXXX` - `GETSET_BINDABLE_ENUM_SETTING` was hooked up to the **settings** model profile object instead of the **view** model profile object. Since the settings model has no `PropertyChanged` system, any changes were directly being applied to the setting, but not notifying the view model (and thus, the view, by extension) to update themselves. - This fix required me to slightly modify the macro. Rather than using two parameters (object and function name), I used one parameter (path to getter/setter). 2. Responding to the `PropertyChanged` notifications - Now that we're actually dispatching the `PropertyChanged` notifications, we need to actually respond to them. This behavior was defined in `Profiles::OnNavigatedTo()` in the `PropertyChanged()` handler. Funny enough, that code was still there, it just didn't do anything because it was trying to notify that `Profiles::CurrentXXX` changed. This is invalid because `CurrentXXX` got moved to `ProfileViewModel`. - The fix here was pretty easy. Just move the property changed handler to `ProfileViewModel`'s `PropertyChanged` handler that is defined in the ctor. ## References Bug introduced in #11877 ## Validation Steps Performed ✅ Profile termination behavior ✅ Bell notification style ✅ Text antialiasing ✅ Scrollbar visibility
Configuration menu - View commit details
-
Copy full SHA for 2db4cba - Browse repository at this point
Copy the full SHA 2db4cbaView commit details -
Update our SUI to follow win 11 guidelines (#11720)
## Summary of the Pull Request Updates our SUI to follow the windows 11 style guidelines. Includes updating our setting containers to follow the 'expander' style. ## PR Checklist * [x] Closes #10631 * [x] Closes #9978 * [x] Closes #9595 * [x] Closes #11231 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here
Configuration menu - View commit details
-
Copy full SHA for 35504f4 - Browse repository at this point
Copy the full SHA 35504f4View commit details -
AtlasEngine: Fix various ClearType rendering issues (#12278)
This commit fixes the following issues when ClearType rendering is enabled: * Colored glyphs are now drawn using grayscale AA, similar to all current browsers. This ensures proper gamma correctness during blending in our shader, while generally making no discernable difference for legibility. * Our ClearType shader only emits fully opaque colors, just like the official ClearType implementation. Due to this we need to force grayscale AA if the user specifies both ClearType and a background image, as the image would otherwise not be visible. ## PR Checklist * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Grayscale AA when drawing emojis ✅ * Grayscale AA when using a background image ✅
Configuration menu - View commit details
-
Copy full SHA for 3499e5c - Browse repository at this point
Copy the full SHA 3499e5cView commit details -
Add a BreadcrumbBar to the SUI (#12144)
## Summary of the Pull Request **Note: This PR targets #11720** Replaces our old pivot-style settings UI with a breadcrumb bar style, as per the windows 11 style guidelines. This required splitting `Profiles.xaml` into 3 separate files, `Profiles_Base.xaml` for general settings, `Profiles_Appearance.xaml` for appearance settings, `Profiles_Advanced.xaml` for advanced settings The header in the navigation view is now a [BreadcrumbBar](https://docs.microsoft.com/en-us/windows/apps/design/controls/breadcrumbbar), which can be used to navigate back to `Profiles_Base` after moving into the advanced or appearance page (see GIF below) <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here ## Validation Steps Performed ![breadcrumb](https://user-images.githubusercontent.com/26824113/150410517-2232811e-4f5b-4732-9a0d-569cc94093b3.gif)
Configuration menu - View commit details
-
Copy full SHA for 21d30b1 - Browse repository at this point
Copy the full SHA 21d30b1View commit details -
Change where the NotificationIcon looks up our resources (#12282)
I didn't have the tray icon enabled before I suppose, so this never got hit? Anyhow, we need to change where we look for the AppName. Otherwise we crash on launch 😨 * [x] fixes `main` * [x] I work here * regressed in #12264 * [x] Tested by: actually running the Terminal with this, it launched
Configuration menu - View commit details
-
Copy full SHA for 7150fd8 - Browse repository at this point
Copy the full SHA 7150fd8View commit details -
Simplify the IStateMachineEngine interface (#12277)
There were a number of methods in the `IStateMachineEngine` interface which controlled how the `StateMachine` interpreted escape sequences. But essentially what it came down to was a bunch of a properties that were always true for the `InputStateMachineEngine`, and always false for the `OutputStateMachine` engine. To simplify the implementation, and make things a little more efficient, I've now replaced all of those virtual calls with a single boolean field in the `StateMachine` that is initialised in the constructor. I started by adding an `isEngineForInput` parameter to the constructor to indicate the the type of engine being passed in. But to keep things simple for callers, and I also then added a constructor without that parameter, which could derive the value automatically based on the type of the engine pointer. Then in the `StateMachine` implementation, anywhere we were previously calling `ParseControlSequenceAfterSs3`, `FlushAtEndOfString`, `DispatchControlCharsFromEscape`, or `DispatchIntermediatesFromEscape`, we now just reference `_isEngineForInput`. But I've also copied across some of the original comments from those methods, to make it clear at the point of usage why we have a difference in behavior for input and output. To make sure the unit tests would catch any problems, I hardcoded the `_isEngineForInput` field to `false`, and confirmed that it broke a bunch of input engine tests. Then I hardcoded it to `true`, and confirmed that it broke a bunch of state machine and output engine tests. With the `_isEngineForInput` set correctly, everything passed. I also manually tested the various output edge cases that would be effected by this code - C0 controls within an escape sequence, time delays in the middle of an escape sequence, `SCS` character set selection which requires intermediates following an escape, and a G3 single shift select which depends on `SS3`. Closes #12254
Configuration menu - View commit details
-
Copy full SHA for d79cf25 - Browse repository at this point
Copy the full SHA d79cf25View commit details -
Move to the 21H1 Helix pool (#12285)
The 19H1 pool is being decommissioned.
Configuration menu - View commit details
-
Copy full SHA for eb75597 - Browse repository at this point
Copy the full SHA eb75597View commit details
Commits on Jan 31, 2022
-
Fix SizeOfSet and PositionInSet for 'Open JSON File' nav item (#12286)
## Summary of the Pull Request According to microsoft/microsoft-ui-xaml#1971, `PaneFooter` does not set the `SizeOfSet` or `PositionInSet` properties. However, `FooterMenuItems` does and works for our scenario. So we just replaced `PaneFooter` with `FooterMenuItems`. Will handle #11154 upon verification from the accessibility team. ## Validation Steps Performed ✅ Verified using Accessibility Insights ✅ "Open Json File" button can still be invoked and keyboard navigated to as expected
Configuration menu - View commit details
-
Copy full SHA for 2861b41 - Browse repository at this point
Copy the full SHA 2861b41View commit details -
Fix a number of small issues with the SUI (#12287)
## Summary of the Pull Request Fix various things from the recent SUI changes - The Appearance/Advanced toggle buttons now have a max width - We don't need `Profiles.cpp` anymore - The `Elevate` setting is now back in the SUI - There is no longer an alignment difference between non-expander settings and expander settings - Expander settings no longer require hitting `Tab` twice to get to them <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here
Configuration menu - View commit details
-
Copy full SHA for a1ce81b - Browse repository at this point
Copy the full SHA a1ce81bView commit details -
Sorry for combining two fixes in one PR. I can separate if need be. * [x] Closes #12276: - `"bellSound": null` didn't work. This one was easier, and is atomically in bcc2ca0. Basically, we would deserialize that as an array with a single empty string in it, which we'd try to then play. I think it's more idomatic to have that deserialized as an empty array, which correctly falls back to playing the default sound. * [x] Closes #12258: - This one is the majority of the rest of the PR. If you leave the MediaPlayer open, then the media keys will _affect the Terminal_. More importantly, once the bell sounds, they'd replay the bell, which is insane. So the fix is to re-create the media player when we need it. We do this per-pane for simpler lifetime tracking. I'm not worried about the overhead of creating a mediaplayer here, since we're already throttling bells. * Originally added in #11511 * [x] Tested manually - Use [`no.mp4`](https://www.youtube.com/watch?v=x2w9TyCv2gk) for this since that's like, 17s long - Checked that closing panes / the terminal while a bell was playing didn't crash - Playing a bunch of bells at once works - closing a pane stops the bell it's playing - once the bell stops, the media keys went back to working for Spotify * [x] I work here
Configuration menu - View commit details
-
Copy full SHA for b1ace96 - Browse repository at this point
Copy the full SHA b1ace96View commit details -
Use the macros for duplicating as well (#12284)
Introduced in #11416 We weren't using these macros for duplicating as well, so I forgot to duplicate a couple settings. This PR switches duplicating over to using the macros as well, which shou;d reduce future bugs. Also adds notes to which properties are intentionally omitted from these macros. * [x] closes #12265 * [x] Verified manually that #12120 still works as expected
Configuration menu - View commit details
-
Copy full SHA for c27a775 - Browse repository at this point
Copy the full SHA c27a775View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8064d40 - Browse repository at this point
Copy the full SHA 8064d40View commit details -
Configuration menu - View commit details
-
Copy full SHA for f114b00 - Browse repository at this point
Copy the full SHA f114b00View commit details -
Add a11y names to more controls (#12299)
## Summary of the Pull Request This adds names to more of our focusable elements. This should be the rest of them that I missed in #11364 ## References * #9990: a11y megathread * #11155: original version of this ## PR Checklist * [x] Should take care of #11996 once confirmed * [x] I work here ## Validation Steps Performed Used Accessibility Insights to verify. ## Detailed Description of the Pull Request / Additional comments There is one other weird bit. All the expanders that have content below the expander (not inline), show up as focusable, but don't have names. Even when I add names to them. I believe this is due to microsoft/microsoft-ui-xaml#5820, which is fixed in microsoft/microsoft-ui-xaml#6032, in https://github.com/microsoft/microsoft-ui-xaml/releases/tag/v2.8.0-prerelease.220118001. Unfortunately, we're on a 2.7 prerelease, so we don't have that fix yet. I may see how painful moving to that is, because we're gonna get another a11y ping as soon as 1.13 ships. I pre-emptively added names to these guys in f7ba158, so that the new MUX should just fix this without any thinking on our part.
Configuration menu - View commit details
-
Copy full SHA for cf4d47c - Browse repository at this point
Copy the full SHA cf4d47cView commit details -
Replaced the sizeof parameter of the if statement with ARRAYSIZE (#12273
) The pull request fixes the issue where "sizeof" parameter was use instead of "ARRAYSIZE". ## PR Checklist * [x] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [x] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx ## Detailed Description of the Pull Request / Additional comments This was a pretty straight forward issue, i just replace sizeof which gives the byte size with ARRAYSIZE which give the number of elements in the array.
Configuration menu - View commit details
-
Copy full SHA for 5fa1ba8 - Browse repository at this point
Copy the full SHA 5fa1ba8View commit details -
Make the SearchBox announce if it found results or not (#12301)
Basically, this is the same as #12266, but for the `SearchBoxControl`. Trickily, the ControlCore is the one that knows if there were search results, but the TermControl has to be the one to announce it. * [x] Will take care of #11973 once a11y team confirms * [x] Tested manually with Narrator * [x] Resolves a part of #6319, which I'm repurposing just to displaying the number of results in general. * See also #3920
Configuration menu - View commit details
-
Copy full SHA for fbe0416 - Browse repository at this point
Copy the full SHA fbe0416View commit details
Commits on Feb 1, 2022
-
Add PGOBuildMode to PGD merge step (#12306)
I added a condition to exclude some of the NuGet PGO stuff when there was no build mode, but appear to not have propagated any of it in the PGD merge job. This sets it to Optimize here so it'll go through. ## PR Checklist * [x] Closes #12300 * [x] I work here. * [x] It blends. ## Validation Steps Performed * [x] Ran the PGO Instrument Phase * [x] Ran the PGO Optimize Phase
Configuration menu - View commit details
-
Copy full SHA for 469202f - Browse repository at this point
Copy the full SHA 469202fView commit details -
Add
experimental.useAtlasEngine
to schema (#12304)does what it says on the can. * [x] closes #12302 Co-authored-by: Dustin L. Howett <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 27de97b - Browse repository at this point
Copy the full SHA 27de97bView commit details -
AtlasEngine: Fix support for combining diacritics (#12307)
`IDWriteTextAnalyzer::GetGlyphs` is not enough to get a `DWRITE_SHAPING_TEXT_PROPERTIES::canBreakShapingAfter` value that works for combining diacritical marks. This requires an additional call to `GetGlyphPlacements`. This commit increases CPU usage for complex text by ~10%. ## PR Checklist * [x] Closes #11925 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * ``echo "[e`u{0301}`u{0301}]"`` prints an "e" with 2 accents ✅
Configuration menu - View commit details
-
Copy full SHA for 93be688 - Browse repository at this point
Copy the full SHA 93be688View commit details -
Set the default WSL starting directory to ~ (#12315)
The update that enables this on 20H1+, [KB5007253], went out in November 2021. [KB5007253]: https://support.microsoft.com/en-us/topic/november-22-2021-kb5007253-os-builds-19041-1387-19042-1387-19043-1387-and-19044-1387-preview-d1847be9-46c1-49fc-bf56-1d469fc1b3af
Configuration menu - View commit details
-
Copy full SHA for 70d8b2a - Browse repository at this point
Copy the full SHA 70d8b2aView commit details -
Make sure Terminal Stable shows up as default on 22544+ (#12320)
Since we turned this feature on in windows, and it relies on _lying about the contents of the registry_, Terminal needs to be in on the joke. This will need to be reverted and serviced if we choose not to ship like this. Fixes #12308
Configuration menu - View commit details
-
Copy full SHA for 457738e - Browse repository at this point
Copy the full SHA 457738eView commit details -
Configuration menu - View commit details
-
Copy full SHA for bf32f45 - Browse repository at this point
Copy the full SHA bf32f45View commit details
Commits on Feb 2, 2022
-
Localize and polish Profile page navigators (#12321)
## Summary of the Pull Request Adds some polish around the navigators in the profile page (i.e. "appearance" and "advanced" button) by doing the following: - use the localized resources for the pivot on the navigators - simplify the navigators to be buttons instead of toggle buttons Doing so has Narrator identify these as buttons rather than toggle buttons. So now Narrator won't say that the button is "off", which just makes more sense. ## Validation Steps Performed ✅ Narrator says "Advanced button" or "Appearance button" on the navigator ✅ The navigators look the same as before
Configuration menu - View commit details
-
Copy full SHA for d07c536 - Browse repository at this point
Copy the full SHA d07c536View commit details -
Update readme to account for minversion bump (#12332)
As noticed in #12129 (comment). Missed in #12129.
Configuration menu - View commit details
-
Copy full SHA for 29e97b6 - Browse repository at this point
Copy the full SHA 29e97b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e75f25 - Browse repository at this point
Copy the full SHA 3e75f25View commit details -
Update accessible names for 'add profile' page buttons (#12324)
## Summary of the Pull Request When using a screen reader, the buttons on the "add a new profile" page were being read weirdly: - "New empty profile" button read as "create new button button" - "duplicate" button read as "duplicate button button" It's generally standard to read out the text inside the button, so I did just that by reusing the existing localized resources. This also removes the redundant "button" that is said by the screen reader. I also removed the unused `AutomationId` and unnecessary `Button.Content` tags. #11156 can be closed upon validation by the accessibility team. ## Validation Steps Performed ✅ navigate to both buttons using Narrator; make sure it sounds right
Configuration menu - View commit details
-
Copy full SHA for 24c5f7b - Browse repository at this point
Copy the full SHA 24c5f7bView commit details -
Fix more SUI and Rejuvenated UI issues (#12326)
- The add new profile page now uses a dropdown rather than radio buttons - Subheaders, breadcrumb bar, buttons etc are now all centralized when the window is maximized (so they all align with the expanders now) - We no longer override the titlebar colors and instead use the xaml defaults (these still aren't great but at least we will get the fix automatically when it happens upstream) - Breadcrumb bar no longer has a negative margin, so there's no weird overlap that happens when the window becomes small - The number boxes for launch size and font size now use the `Inline` placement mode rather than compact, allowing modification to the number with fewer clicks - Textboxes now have a greater max width so they can occupy more space in the expander if needed
Configuration menu - View commit details
-
Copy full SHA for 0a545b7 - Browse repository at this point
Copy the full SHA 0a545b7View commit details
Commits on Feb 3, 2022
-
appx: Use a different resource for the Properties DisplayName (#12337)
We have to do this so that the store sees us as one thing ("Windows Terminal") and the Start menu sees us as another ("Terminal"). The store will reject our package if the value we use for "DisplayName" here doesn't match the store's "reserved names". This value is *not used* by the start menu.
Configuration menu - View commit details
-
Copy full SHA for e064c15 - Browse repository at this point
Copy the full SHA e064c15View commit details
Commits on Feb 4, 2022
-
Refactor and simplify the ConGetSet API (#12247)
## Summary of the Pull Request This PR refactors the `ConGetSet` API, eliminating some of the bloat produced by the `DoSrvPrivateXXXX` functions, simplifying the method naming to more closely match the `ITerminalApi` interface, and making better use of exceptions for error conditions in place of boolean return values. ## References This is another small step towards merging the `AdaptDispatch` and `TerminalDispatch` classes (#3849). ## PR Checklist * [x] Closes #12193 * [x] Closes #12194 * [x] CLA signed. * [ ] Tests added/passed * [ ] Documentation updated. * [ ] Schema updated. * [x] I've discussed this with core contributors already. Issue number where discussion took place: #3849 ## Detailed Description of the Pull Request / Additional comments There are two main parts to this. The first step was to get rid of all the `DoSrvPrivateXXX` functions, and move their implementation directly into the `ConhostInternalGetSet` class. For the most part this was just copying and pasting the code, but I also fixed a couple of bugs where we were using the wrong output buffer (the global buffer rather than the one associated with the output handle), and got rid of some unnecessary calls to `GetActiveBuffer`. The second part was to make better use of exceptions for error conditions. Instead of catching the exceptions at the `ConGetSet` level, we now allow them to fall through all the way to the `StateMachine`. This greatly simplifies the `AdaptDispatch` implementation since it no longer needs to check a boolean return value on every `ConGetSet` call. This also enables the getter methods to return properties directly instead of having to use a reference parameter. ## Validation Steps Performed A number of the unit tests had to be updated to match the new API. Sometimes this just required changes to method names, but in other cases error conditions that were previously detected with boolean returns now needed to be caught as exceptions. There were also a few direct calls to `DoSrvPrivateXXX` functions that now needed to be invoked through other means: either by generating an equivalent escape sequence, or calling a lower level API serving the same purpose. And in the adapter tests, the mock `ConGetSet` implementation required significant refactoring to match the new interface, mostly to account for the changes in error handling.
Configuration menu - View commit details
-
Copy full SHA for 5238235 - Browse repository at this point
Copy the full SHA 5238235View commit details -
Adding missed MIT license in a few files (#12368)
## Summary of the Pull Request Adding missed MIT license in a few files. ## PR Checklist * [X] Closes #12062 * [X] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA
Configuration menu - View commit details
-
Copy full SHA for 2e5e98a - Browse repository at this point
Copy the full SHA 2e5e98aView commit details
Commits on Feb 5, 2022
-
Always publish the binlog (#12355)
We're investigating an issue where the build succeeded but something still got lost somewhere. If we had the binlogs, maybe we could diff and track it down faster.
Configuration menu - View commit details
-
Copy full SHA for 12034b3 - Browse repository at this point
Copy the full SHA 12034b3View commit details -
Fix toggle switches needing a negative margin (#12381)
## Summary of the Pull Request Reducing the `MinWidth` of a toggle switch means it no longer needs a negative margin to align it correctly ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here ## Validation Steps Performed Setting a different language no longer causes the toggle switch to fall out of the expander
Configuration menu - View commit details
-
Copy full SHA for 64efa67 - Browse repository at this point
Copy the full SHA 64efa67View commit details -
Hardcode the language list for the package manifest and settings drop…
…down (#12375) The `x-generate` statement seems to have fallen apart somewhere and is no longer generating the valid list of languages for display. This hardcodes the list into the manifest to restore it, which is a valid option per the documentation. We also hardcode the limited subset of languages into the Settings application because the main application supports fewer languages than we have been translated into for the shell extensions for Windows Explorer and Start Menu integration. ## PR Checklist * [x] Closes #12351 * [x] I work here. * [x] Manual tests below ## Validation Steps Performed - [x] Clean built locally with `msbuild.exe openconsole.sln /p:Configuration=Release /p:Platform=x64 /p:WindowsTerminalBranding=Release /t:Terminal\CascadiaPackage /m /bl:log4.binlog` and checked that the `appxmanifest.xml` that popped out the other side contained the same languages that it used to contain. - [x] Built in the release pipeline - [x] Installed release and preview branded packages. Changed my machine language to Polish (pl-PL) which is not one of the fully localized languages, but is one of the limited ones. Checked the start menu and right-click menus and saw Polish text for Terminal and Terminal Preview. Checked the Settings page in our app and saw only the limited 14 language list for the application itself.
Configuration menu - View commit details
-
Copy full SHA for 7734cd7 - Browse repository at this point
Copy the full SHA 7734cd7View commit details
Commits on Feb 7, 2022
-
Fix disclaimer text not centralizing when maximized (#12374)
## Summary of the Pull Request Fix the disclaimer text boxes in `Rendering` and `Defaults`not centralizing along with the expanders when the window is maximized ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here ## Validation Steps Performed <img width="1128" alt="defaults" src="https://user-images.githubusercontent.com/26824113/152584084-a999cb29-73bc-4970-889a-f95ea64c1b4c.png"> <img width="1128" alt="rendering" src="https://user-images.githubusercontent.com/26824113/152584099-a54519da-7bca-4ebe-b487-b68ac5cf1a37.png">
Configuration menu - View commit details
-
Copy full SHA for 2604358 - Browse repository at this point
Copy the full SHA 2604358View commit details -
Fix invoking the rightmost breadcrumb bringing you back to Profiles_B…
…ase (#12376) ## Summary of the Pull Request We no longer do anything when the rightmost breadcrumb is invoked ## PR Checklist * [x] Closes #12325 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here ## Validation Steps Performed Tested manually, cannot repro #12325 anymore
Configuration menu - View commit details
-
Copy full SHA for 527b9cd - Browse repository at this point
Copy the full SHA 527b9cdView commit details -
Fix the grammar in a comment (#12386)
## Summary of the Pull Request After 'must', the verb is used without 'to'. Correct: "must" or "have to". ## PR Checklist * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA ## Validation Steps Performed Not required, only comment has been changed.
Configuration menu - View commit details
-
Copy full SHA for 9cdebf4 - Browse repository at this point
Copy the full SHA 9cdebf4View commit details -
Configuration menu - View commit details
-
Copy full SHA for a935bb7 - Browse repository at this point
Copy the full SHA a935bb7View commit details
Commits on Feb 8, 2022
-
Fix profile matching for paths containing unquoted whitespace (#12348)
The previous code had two bugs for: * paths with more than 1 whitespace The code joins the argv array by replacing null-word terminators with whitespace. Unfortunately it always referred to the separator between `argv[0]` and `argv[1]` for this instead of continuing to join those between 1 and 2, etc. * paths sharing a common prefix with another directory `SearchPathW` returns paths that aren't necessarily paths to files. A call to `GetFileAttributesW` was added, ensuring we only resolve file paths. ## PR Checklist * [x] Closes #12345 * [x] I work here * [ ] Tests added/passed ## Validation Steps Performed * Paths with more than 1 whitespace resolve correctly ✅ * Paths with neighboring directories sharing a common prefix resolve correctly ✅ * Tests added ✅
Configuration menu - View commit details
-
Copy full SHA for 3171a89 - Browse repository at this point
Copy the full SHA 3171a89View commit details -
Fix a potential crash when setting up the jumplist (#12430)
I have no idea how this is even possible to hit. If this is able to be null, then we failed to load the settings in such a catastrophic way that nothing should work. However, OP's Terminal seemed to have already loaded the settings. By all accounts, doesn't make sense. Regardless, the code here would crash if this ever is null, so we may as well catch it. * [x] Closes #12360 * [ ] No way to verify this since it isn't even reproable on OPs machine, but it does have a lot of hits for that failure bucket (!!!)
Configuration menu - View commit details
-
Copy full SHA for d0daab6 - Browse repository at this point
Copy the full SHA d0daab6View commit details -
Fix focus box around color schemes combo box (#12439)
The focus box around the color schemes combo box was getting cut off, this change adds a small margin to the stackpanel to allow space for the focus box ## PR Checklist * [x] Closes #12328
Configuration menu - View commit details
-
Copy full SHA for f5f0712 - Browse repository at this point
Copy the full SHA f5f0712View commit details -
XtermEngine: Explicitly emit cursor state on the first frame (#12434)
This commit fixes an issue, where we failed to emit a DECTCEM sequence to hide the cursor if it was hidden before XtermEngine's first frame was finalized. Even in such cases we need to emit a DECTCEM sequence in order to ensure we're in a consistent state. ## Validation Steps Performed * Added test✅ * Run #12401's repro steps around 30 times✅ Closes #12401
Configuration menu - View commit details
-
Copy full SHA for dbb7077 - Browse repository at this point
Copy the full SHA dbb7077View commit details -
Properly fall back to Segoe MDL2 for our icons on Win10 (#12438)
Segoe Fluent isn't available on Windows 10, and doesn't stealthily ship with WinUI. So if we manually set the font family to `"Segoe Fluent Icons"`, then that will just display boxes in Win10. This instead uses the resource `"{ThemeResource SymbolThemeFontFamily}"` which will gracefully fall back on Win10. See: * microsoft/microsoft-ui-xaml#3745, which inspired this solution. Guess what! The backgound image icons were also manually specifying this font, so they had to get updated too. I couldn't find any other `Segoe Fluent` references in the code. * [x] Closes #12350 * [x] Checked Windows 11 locally * [x] Checked Win10 (screenshots incoming from other machine)
Configuration menu - View commit details
-
Copy full SHA for 27a1b9d - Browse repository at this point
Copy the full SHA 27a1b9dView commit details -
Fix browse buttons getting cut off when the window is too narrow (#12435
) With the recent change to allow text boxes to be bigger, the `Browse` button that some of them have was getting cut off when the window was too narrow. This change puts the `Browse` button below the text box instead of next to it to prevent this issue. ## PR Checklist * [x] Closes #12335
Configuration menu - View commit details
-
Copy full SHA for 02135ed - Browse repository at this point
Copy the full SHA 02135edView commit details -
Configuration menu - View commit details
-
Copy full SHA for 59ef21a - Browse repository at this point
Copy the full SHA 59ef21aView commit details -
Validate cursor position in UIA UTR ctor (#12436)
This adds some validation in the `UiaTextRange` ctor for the cursor position. #8730 was caused by creating a `UiaTextRange` at the cursor position when it was in a delayed state (meaning it's purposefully hanging off of the right edge of the buffer). Normally, `Cursor` maintains a flag to keep track of when that occurs, but Windows Terminal isn't maintaining that properly in `Terminal::WriteBuffer`. The _correct_ approach would be to fix `WriteBuffer` then leverage that flag for validation in `UiaTextRange`. However, messing with `WriteBuffer` is a little too risky for our comfort right now. So we'll do the second half of that by checking if the cursor position is valid. Since the cursor is really only expected to be out of bounds when it's in that delayed state, we get the same result (just maybe a tad slower than simply checking a flag). Closes #8730 Filed #12440 to track changes in `Terminal::_WriteBuffer` for delayed EOL wrap. ## Validation Steps Performed While using magnifier, input/delete wrapped text in input buffer.
Configuration menu - View commit details
-
Copy full SHA for 5dcf526 - Browse repository at this point
Copy the full SHA 5dcf526View commit details
Commits on Feb 9, 2022
-
Allow exceptions from ITerminalApi and TerminalDispatch (#12432)
This PR updates the `ITerminalApi` and `TerminalDispatch` classes to allow exceptions to be thrown in case of errors instead of using boolean return values. ## References This brings the Terminal code into alignment with the `AdaptDispatch` and `ConGetSet` changes made in PR #12247. And while this isn't exactly a fix for #12378, it does at least stop the app from crashing now. ## Detailed Description of the Pull Request / Additional comments All the `TerminalDispatch` methods have had their `noexcept` specifiers dropped, and any `try`/`catch` wrapping removed, so exceptions will now fall through to the `StateMachine` class where they should be safely caught and logged. The same goes for the `ITerminalApi` interface and its implementation in the `Terminal` class. And many of the methods in this interface have also had their `bool` return values changed to `void`, since there is usually not a need for error return values now. ## Validation Steps Performed I've manually tested the `OSC 9;9` sequence described in #12378 and confirmed that it no longer crashes.
Configuration menu - View commit details
-
Copy full SHA for 9c11e02 - Browse repository at this point
Copy the full SHA 9c11e02View commit details -
Fix defterm + elevate by default (#12442)
We absolutely cannot allow a defterm connection to auto-elevate. Defterm doesn't work for elevated senarios in the first place. If we try accepting the connection, the spawning an elevated version of the Terminal with that profile... that's a recipe for disaster. We won't ever open up a tab in this window. * [x] Closes #12370 * [x] Tested manually, since there's not a great way to add defterm tests
Configuration menu - View commit details
-
Copy full SHA for 303f9d7 - Browse repository at this point
Copy the full SHA 303f9d7View commit details -
Don't ever allow
~
as a startingDirectory (#12437)Basically, some WSL distros ship fragments that replace the `commandline` with the executable for their distro (`ubuntu.exe`, etc.). We didn't expect that when we changed the `startingDirectory` for them all to `~`. Unfortunately, `~` is really never a valid path for a process on windows, so those distros would now fail with ``` [error 2147942667 (0x8007010b) when launching `ubuntu1804.exe'] Could not access starting directory "~" ``` If we find that we were unable to mangle `~` into the user's WSL `commandline`, then we will re-evaluate that `startingDirectory` as `%USERPROFILE%`, which is at least something sensible, if albeit not what they wanted. * regressed in #12315 * [x] Closes #12353 * [x] Tested with a (`ubuntu1804.exe`, `~`) profile - launched successfully, where 1.13 in market fails. * [x] added tests
Configuration menu - View commit details
-
Copy full SHA for 1870fee - Browse repository at this point
Copy the full SHA 1870feeView commit details -
Eliminate the DispatchCommon class (#12389)
## Summary of the Pull Request Other than the `s_ResizeWindow` function, the `DispatchCommon` class was just a couple of static functions indirectly calling the `ConGetSet` interface. So by moving the `s_ResizeWindow` implementation into the `ConhostInternalGetSet` class, we could easily replace all usage of `DispatchCommon` with direct calls to `ConGetSet`. ## PR Checklist * [x] Closes #12253 * [x] CLA signed. * [ ] Tests added/passed * [ ] Documentation updated. * [ ] Schema updated. * [x] I've discussed this with core contributors already. Issue number where discussion took place: #12253 ## Validation Steps Performed I've manually confirmed the resizing operations still work as expected. The other functions are harder to test, but were trivial replacements.
Configuration menu - View commit details
-
Copy full SHA for d63ab27 - Browse repository at this point
Copy the full SHA d63ab27View commit details -
Eliminate the AdaptDefaults class (#12390)
## Summary of the Pull Request The only method that was really needed in the `AdaptDefault` class was the `PrintString` method, and that could easily be moved into the `ConGetSet` interface. That lets us get rid of the `AdaptDefault` class altogether, simplifying the construction of the `AdaptDispatch` class, and brings us more in line with the `TerminalDispatch` implementation. ## PR Checklist * [x] Closes #12318 * [x] CLA signed. * [ ] Tests added/passed * [ ] Documentation updated. * [ ] Schema updated. * [x] I've discussed this with core contributors already. Issue number where discussion took place: #12318 ## Detailed Description of the Pull Request / Additional comments The `Execute` method was never used at all, so there was no problem with losing that. But I also noticed there was an equivalent `ExecuteChar` method in the `ITerminalApi` interface, which also wasn't being used, so I've removed that too. Then there was a `Print` method taking a single `wchar_t` parameter, but that was ultimately implemented as a `PrintString` call anyway, so that translation could easily be accomplished in the `AdaptDispatch` calling code, the same way it's done in `TerminalDispatch`. That left us with the `PrintString` method, which could simply be moved into the `ConGetSet` interface, which would then more closely match the `ITerminalApi` interface. There was also a `GetResult` method, that returned the status of the last `PrintString`, but that result was never actually checked anywhere. What I've done now is make the `PrintString` method throw an exception on failure, and that will be caught and logged in the `StateMachine`. ## Validation Steps Performed I've started a bash shell in conhost to verify that it still works. Since almost everything goes through `PrintString` in VT mode, it should be obvious if something was broken.
Configuration menu - View commit details
-
Copy full SHA for f936c44 - Browse repository at this point
Copy the full SHA f936c44View commit details -
Enable the 'automatic adjustment of indistinguishable text' setting f…
…or Dev builds (#12444) ## Summary of the Pull Request Followup from our discussion during team sync, the 'automatic adjustment of indistinguishable text' setting is going to be enabled for dev builds only. ## References #12160 ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here ## Validation Steps Performed Setting appears on dev build and the feature works
Configuration menu - View commit details
-
Copy full SHA for 4a530a7 - Browse repository at this point
Copy the full SHA 4a530a7View commit details
Commits on Feb 10, 2022
-
Automate packaged submission into Windows (#12449)
We're now building a fully provenance, compliance, and security validated package (vpack) through our Release pipeline. This attaches the last phase which automates the submission into the Windows product. It will also automatically trace back the source, commit SHA, and build to the submission here from the Windows side. * [x] Automates a manual activity I performed a few times recently * [x] I work here * [x] Ran a test of it against `release-1.12` and it worked
Configuration menu - View commit details
-
Copy full SHA for 10c963a - Browse repository at this point
Copy the full SHA 10c963aView commit details
Commits on Feb 11, 2022
-
Add tooltips for nav items in the SUI (#12448)
## Summary of the Pull Request Profiles with long names were having their titles cut off in the navigation view sidebar. This change adds tooltips to all nav view items so the full names can still be read. ## References #11353 ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x[ I work here ## Validation Steps Performed <img width="261" alt="sidebartooltip" src="https://user-images.githubusercontent.com/26824113/153270004-02ec3ca7-8787-41be-a4ee-c60efa8cc5e6.png"> <img width="341" alt="sidebartooltip2" src="https://user-images.githubusercontent.com/26824113/153270033-263069f6-75ff-4215-9c83-e0a946ce9616.png">
Configuration menu - View commit details
-
Copy full SHA for 19a5eb2 - Browse repository at this point
Copy the full SHA 19a5eb2View commit details -
Fix the add/delete unfocused appearance buttons (#12451)
## Summary of the Pull Request The add/delete unfocused appearance buttons now have text on them and are closed to the `Unfocused appearance` header ## References #11353 ## PR Checklist * [ ] Closes #xxx * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here ## Validation Steps Performed <img width="548" alt="add" src="https://user-images.githubusercontent.com/26824113/153463971-de14a68b-5ed9-4768-80f8-2a5a5a21bc9f.png"> <img width="557" alt="delete" src="https://user-images.githubusercontent.com/26824113/153463993-9a7413d4-d895-4813-a6ff-1b157f1e72f4.png">
Configuration menu - View commit details
-
Copy full SHA for c0083ef - Browse repository at this point
Copy the full SHA c0083efView commit details -
Update the cmdpal narrator message to include the number of results. (#…
…12429) Updates this narrator announcement message to include the number of results it found. There are two versions: * one for a singular result * one for multiple results. which should help with loc. We're trying to get this in with the loc hotfix, so 👀 please * [x] will take care of the last bit of #7907 verified with narrator locally.
Configuration menu - View commit details
-
Copy full SHA for 9ea0c93 - Browse repository at this point
Copy the full SHA 9ea0c93View commit details -
Source index the public symbols too (#12450)
Now that we've figured out how to publish the public symbols to the official Microsoft download server... we may as well embed the source code linking information inside of them given that it's right here on GitHub. This attempts to run our existing source linking scripts against the public copy of the symbols. ## PR Checklist * [x] Closes #12443 * [x] I work here * [x] Tested manually ## Validation Steps Performed * [x] Build with it: https://dev.azure.com/microsoft/Dart/_build/results?buildId=44930661&view=logs&j=8f802011-b567-5b81-5fa6-bce316c020ce * [x] Point the debugger at them and see if it can find the sources * [x] Maybe also look at them in a hex editor or whatnot and validate I can see the source paths pointing at GitHub
Configuration menu - View commit details
-
Copy full SHA for 8b90669 - Browse repository at this point
Copy the full SHA 8b90669View commit details -
AtlasEngine: Fix leak check report for OpenConsole (#12415)
AtlasEngine enables various debug options for D2D and D3D in Debug builds. Among those are resource leak checks, which were broken in OpenConsole due to the unclean exit in `ServiceLocator::RundownAndExit`. This commit fixes the issue by running the destructors of any renderers registered in the Window class first. ## PR Checklist * [x] Closes #12414 * [x] I work here ## Validation Steps Performed * Set `HKEY_CURRENT_USER\Console\UseDx` to `2` * Run `OpenConsole.exe` * Exit * No exceptions are thrown ✅
Configuration menu - View commit details
-
Copy full SHA for 9d7a46f - Browse repository at this point
Copy the full SHA 9d7a46fView commit details -
Updates all our icons to use Segoe Fluent (#12469)
* use `FontFamily="{ThemeResource SymbolThemeFontFamily}"` where possible, in XAML * use `FontFamily{ L"Segoe Fluent Icons, Segoe MDL2 Assets" }` in codebehind Basically just a simple string replace. * [x] This was a bullet point in #11353 * [x] Confirmed manually on my win10 PC * see also #12438 Actually, this is the last bullet in #11353, so I'm gonna say closes #11353. Screenshots below.
Configuration menu - View commit details
-
Copy full SHA for 0a15643 - Browse repository at this point
Copy the full SHA 0a15643View commit details -
Enable Segoe Variable (#12462)
By adding another entry to our `maxversiontested`s. Screenshots in #12452 (comment) * [x] Closes #12452 * [x] I work here * [x] Docs are fine * [x] Tests are fine
Configuration menu - View commit details
-
Copy full SHA for 09e9915 - Browse repository at this point
Copy the full SHA 09e9915View commit details
Commits on Feb 14, 2022
-
Fix off-by-one bug in NormalizeCommandLine (#12484)
#12348 introduced an off-by-one bug. While the `NormalizeCommandLine` loop should exit early when there aren't at least _two_ arguments to be joined, the final argument-append needs to happen even if just _one_ argument exists. This commit fixes the issue and introduces changes to additionally monitor the early loop exit, as well as the call to `ExpandEnvironmentStringsW`. ## PR Checklist * [x] Closes #12461 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * All `TerminalSettingsTests` tests pass ✅
Configuration menu - View commit details
-
Copy full SHA for e06e131 - Browse repository at this point
Copy the full SHA e06e131View commit details
Commits on Feb 15, 2022
-
Manually set the colors of the TabViewBackground (#12460)
This has been a saga. Basically, any resources in `App.xaml` aren't going to be able to reference other theme-aware resources. We can't change the theme of the app at runtime, only elements within the app. So we can't use `ApplicationPageBackgroundThemeBrush` in app.xaml, because it will ALWAYS be evaluated as the OS theme version of that brush. * regressed in #12326 * See also #10864 * #3917 CANNOT be fixed in the same way. We're lucky here that the TabView uses a `{ThemeResource TabViewBackground}` in markup to set the bg. We're not similarly lucky with the Pane one. * [x] closes #12356 * [x] Tested manually. You can confirm, my eyes are bleeding from the OS-wide light mode
Configuration menu - View commit details
-
Copy full SHA for 5ba0d61 - Browse repository at this point
Copy the full SHA 5ba0d61View commit details -
DON'T default-construct the
MediaPlayer
(#12463)I believe this fixes #12383, but I can't seem to find a way to set up a N SKU VM to confirm this. * [ ] TODO: wait till the morning to finish copying the N vhd I found off the build shares, to confirm this doesn't crash on launch.
Configuration menu - View commit details
-
Copy full SHA for 2cf46d4 - Browse repository at this point
Copy the full SHA 2cf46d4View commit details -
Fix a memory leak in onecore interactivity (#12340)
As noted in #6759: > `RtlCreateUnicodeString` creates a copy of the string on the process heap and the `PortName` variable has local-scope. The string doesn't get freed with `RtlFreeUnicodeString` before the function returns creating a memory leak. > `CIS_ALPC_PORT_NAME` is a constant string and the `PortName` variable should instead be initialized using the `RTL_CONSTANT_STRING` macro: > > ```c++ > static UNICODE_STRING PortName = RTL_CONSTANT_STRING(CIS_ALPC_PORT_NAME); > ``` I actually built this in the OS repo to make sure it'll still build, because this code doesn't even build outside Windows. * [x] Closes #6759 * I work here.
Configuration menu - View commit details
-
Copy full SHA for 349b767 - Browse repository at this point
Copy the full SHA 349b767View commit details -
Copy localized strings from ContextMenu into the resource root (#12491)
We chose to use the "ContextMenu" resource compartment when we changed the package name to Terminal in #12264 because it was more broadly localized than the rest of the application. It appears as though some platform features have trouble with the "more qualified" resource paths that #12264 required. To fix this, we will: 1. Copy all of the ContextMenu localizations into CascadiaPackage's resource root 2. Switch all manifest resource paths to use resources from the package root. Regressed in #12264 Closes #12384 Closes #12406 (tracked in microsoft/PowerToys#16118)
Configuration menu - View commit details
-
Copy full SHA for 9501b23 - Browse repository at this point
Copy the full SHA 9501b23View commit details -
Potentially fix Submit OneFuzz CI Job (#12489)
## Summary of the Pull Request Modifies the OneFuzz CI Job so that it attempts to read the notification config from a file rather than the command line. ## References Potential oversight in #10431. ## PR Checklist * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA ## Detailed Description of the Pull Request / Additional comments Noticed that the CI job was failing on main, so took a look. According to the [docs](https://github.com/microsoft/onefuzz/blob/7f7d76fa7fd0e351f8ffd8c7aa5c5729e30f9e8f/docs/notifications.md#implementation), files should be referenced using `@./` notation.
Configuration menu - View commit details
-
Copy full SHA for 9fcf92b - Browse repository at this point
Copy the full SHA 9fcf92bView commit details
Commits on Feb 16, 2022
-
Fix font axes/features not working on DPI change (#12492)
When the dpi is changed, call `updateFont()` instead of `TriggerFontChange`, this means that we continue to use the existing font features/axes Closes #11287
Configuration menu - View commit details
-
Copy full SHA for 3b46794 - Browse repository at this point
Copy the full SHA 3b46794View commit details -
Remove "Window Persistence" feature flag (#12499)
Removes the `Feature_PersistedWindowLayout` feature flag so that it's always enabled. Closes #12422
Configuration menu - View commit details
-
Copy full SHA for d36cb75 - Browse repository at this point
Copy the full SHA d36cb75View commit details
Commits on Feb 17, 2022
-
Fix typos found by codespell (#12475)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Fix typos found by codespell. Some of it in documentation and user-visible text, mostly in code comments. While I understand you might not be interested in fixing code comments, one of the reasons being extra noise in git history, kindly note that most spell checking tools do not discriminate between documentation and code comments. So it's easier to fix everything for long maintenance. <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## References <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [ ] Closes #xxx * [X] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [x] Tests added/passed * [X] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: [#501](MicrosoftDocs/terminal#501) * [ ] Schema updated. * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed I have checked and re-checked all changes.
Configuration menu - View commit details
-
Copy full SHA for 71c7556 - Browse repository at this point
Copy the full SHA 71c7556View commit details
Commits on Feb 18, 2022
-
Replace "acrylic" with "acrylic material" in i18n strings (#12505)
"Acrylic material" is the official name as used on Microsoft Docs and should ensure it gets properly translated in all languages. ## PR Checklist * [x] Closes #9846 * [x] Closes MSFT:36776499 * [x] I work here ## Detailed Description of the Pull Request / Additional comments We originally intended to replace the strings with "acrylic transparency", but "acrylic material" is actually the official term on Microsoft Docs.
Configuration menu - View commit details
-
Copy full SHA for 961c576 - Browse repository at this point
Copy the full SHA 961c576View commit details -
No longer load content dialogs when there is already one being shown (#…
…12517) ## Summary of the Pull Request Somehow, the controls v2 update caused an issue where if you as much as _load_ a content dialog when there's already one open, we get holes in the terminal window (#12447) This commit introduces logic to `TerminalPage` to check whether there is a content dialog open before we try to load another one. ## PR Checklist * [x] Closes #12447 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here ## Validation Steps Performed Can no longer repro #12447
Configuration menu - View commit details
-
Copy full SHA for 788d33c - Browse repository at this point
Copy the full SHA 788d33cView commit details
Commits on Feb 22, 2022
-
Don't crash trying to parse a command line that's a directory (#12538)
## Summary of the Pull Request Prevents a crash that could occur when invoking `wt C:\` ## PR Checklist * [x] Closes #12535 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [x] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx ## Detailed Description of the Pull Request / Additional comments Updates `CascadiaSettings::NormalizeCommandLine()` to check that there are a suitable number of command line arguments to be concatenated together, to prevent accessing an array index in `argv` that doesn't exist. Also prevents a test flake that could occur in `TerminalSettingsTests::CommandLineToArgvW()`, due to generating an empty command line argument. ## Validation Steps Performed Added a test, and checked that invoking each of the command lines below behaved as expected: ``` wtd C:\ # Window pops up with [error 2147942405 (0x80070005) when launching `C:\'] wtd C:\Program Files # Window pops up with [error 2147942402 (0x80070002) when launching `C:\Program Files'] wtd cmd # cmd profile pops up wtd C:\Program Files\Powershell\7\pwsh -WorkingDirectory C:\ # PowerShell profile pops up in C:\ wtd "C:\Program Files\Powershell\7\pwsh" -WorkingDirectory C:\ # PowerShell profile pops up in C:\ wtd . # Window pops up with [error 2147942405 (0x80070005) when launching `.'] ```
Configuration menu - View commit details
-
Copy full SHA for 722aafa - Browse repository at this point
Copy the full SHA 722aafaView commit details -
Commit updated TerminalApp.Unit.Tests.manifest file (#12549)
## Summary of the Pull Request In PR #12462, a new `maxversiontested` entry was added to the _WindowsTerminal.manifest_ file which now gets propagated to the _TerminalApp.Unit.Tests.manifest_ file whenever a full build is executed. This PR is just committing the updated test manifest. ## PR Checklist * [x] Closes #12543 * [x] CLA signed. * [ ] Tests added/passed * [ ] Documentation updated. * [ ] Schema updated. * [x] I've discussed this with core contributors already. Issue number where discussion took place: #12543
Configuration menu - View commit details
-
Copy full SHA for 4016a9f - Browse repository at this point
Copy the full SHA 4016a9fView commit details -
Protect the command palette against being paged with no items (#12528)
Fixes two crashes amounting to 14% of our crash burden in Simulated Selfhost. I can't reproduce this organically, but I was able to do so by forcing the command palette to be empty.
Configuration menu - View commit details
-
Copy full SHA for 30aa514 - Browse repository at this point
Copy the full SHA 30aa514View commit details -
AtlasEngine: Fix inverted cursor alpha (#12548)
The previous implementation only inverted the RGB values of the cell, but failed to account for situations where the `color` is transparent, which is the case when `backgroundOpaqueMixin` is 0 (for instance if acrylic backgrounds are enabled). In these situations the alpha component remained 0 which caused the cursor to be invisible. For some inexplicable reason this issue is only visible on a HDR display, even though it should also effect regular ones. God knows why. With this commit the cursor texture is treated as a mask that inverts the color. We use branching here, because I couldn't come up with a more clever solution. ## PR Checklist * [x] Closes #12507 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Cursor is visible on a HDR display with acrylic background ✅ * TBD performance benchmark for `[branch]` ❌
Configuration menu - View commit details
-
Copy full SHA for 9ab4abf - Browse repository at this point
Copy the full SHA 9ab4abfView commit details
Commits on Feb 24, 2022
-
Update light theme tab background for greater contrast. (#12529)
Changes the tab view BG to `#e8e8e8`, as discussed in mail thread. Closes #12398
Configuration menu - View commit details
-
Copy full SHA for c62705e - Browse repository at this point
Copy the full SHA c62705eView commit details
Commits on Feb 25, 2022
-
build: ship a Win11 build of Terminal that's <=half the size (#12560)
Four (4) squashed changes, with messages preserved. ## release: move symbol publication into its own phase Right now, symbol publication happens every time we produce a final bundle. In the future, we may be producing multiple bundles from the same pipeline run, and we need to make sure we only do *one* symbol publication to MSDL. When we do that, it will be advantageous for us to have just one phase that source-indexes and publishes all of the symbols. ## Remove Terminal's built-in copy of the VC Runtime This removes the trick we pulled in #5661 and saves us ~550kb per arch. Some of our dependencies still depend on the "app" versions of the runtime libraries, so we are going to continue shipping the forwarders in our package. Build rules have been updated to remove the non-Desktop VCLibs dependency to slim down our package graph. This is not a problem on Windows 11 -- it looks like it's shipped inbox. **BREAKING CHANGE**: When launched unpackaged, Terminal now requires the vcruntime redist to be installed. ## Prepare for toggling XAML between 2.7.0 and -prerelease on Win11 common.openconsole.props is a pretty good place to stash the XAML version since it is included in every project (including the WAP project (unlike the C++ build props!)). I've gone ahead and added a "double dependency" on multiple XAML versions. We'll toggle them with a build flag. ## Run the release pipeline twice, for Win10 and Win11, at the same time This required some changes in how we download artifacts to make sure that we could control which version of Windows we were processing in any individual step. We're also going to patch the package manifest on the Windows 11 version so the store targets it more specifically. On top of the prior three steps, this lets us ship a Windows 11 package that costs only ~15MB on disk. The Windows 10 version, for comparison, is about 40.
Configuration menu - View commit details
-
Copy full SHA for 53a454f - Browse repository at this point
Copy the full SHA 53a454fView commit details -
Add a pipeline that validates builds that touch features.xml (#12573)
This is intended to be a PR triggered build that only runs when features.xml has been touched, to validate that the disabled features do not cause compilation errors.
Configuration menu - View commit details
-
Copy full SHA for 24a030f - Browse repository at this point
Copy the full SHA 24a030fView commit details -
Co-authored-by: Dustin L. Howett <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d0d42c4 - Browse repository at this point
Copy the full SHA d0d42c4View commit details
Commits on Mar 1, 2022
-
Fix a crash setting the hotkey during teardown (#12580)
From MSFT:36797001. Okay so this is only .22% of our crashes, but every little bit helps, right? Turns out this is also hitting in: * MSFT:35726322 * MSFT:34662459 and together they're a fairly hot bug. There's a large class of bugs where we might get a callback to one of our event handlers when we call `app.Close()` in the `AppHost` dtor. This PR adds manual revokers to these events, and makes sure to revoke them BEFORE nulling out the `_window`. That will prevent callbacks during the rest of the dtor, when the `_window` is null.
Configuration menu - View commit details
-
Copy full SHA for 8962c75 - Browse repository at this point
Copy the full SHA 8962c75View commit details -
Fix fail-fast due to unlocked FreeProcessData call (#12599)
2b202ce introduced a bug, where FreeProcessData was called without the console lock being held. The previous code can be found in 40e3dea, on line 441-454. ## PR Checklist * [x] Closes MSFT:21372705 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed None, as this fix is purely theoretic, but it matches the stack trace and 40e3dea clearly wasn't correctly ported to strict C++ either.
Configuration menu - View commit details
-
Copy full SHA for 79a08ec - Browse repository at this point
Copy the full SHA 79a08ecView commit details -
Fix RTF generation for Unicode characters (#12586)
## Summary of the Pull Request Fixes RTF generation for text with Unicode characters. ## PR Checklist * [x] Closes #12379 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [x] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx ## Validation Steps Performed Added some unit tests. Ran the following in PowerShell and copied the emitted text into WordPad. ```pwsh echo "This is some Ascii \ {}`nLow code units: á é í ó ú `u{2b81} `u{2b82}`nHigh code units: `u{a7b5} `u{a7b7}`nSurrogates: `u{1f366} `u{1f47e} `u{1f440}" ```
Configuration menu - View commit details
-
Copy full SHA for 00113e3 - Browse repository at this point
Copy the full SHA 00113e3View commit details
Commits on Mar 2, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 9367b22 - Browse repository at this point
Copy the full SHA 9367b22View commit details