Shortcut Guide V2#40834
Conversation
…t/PowerToys into feature/shortcutguidev2
This comment has been minimized.
This comment has been minimized.
…t/PowerToys into feature/shortcutguidev2
…t/PowerToys into feature/shortcutguidev2
This comment has been minimized.
This comment has been minimized.
|
@check-spelling-bot apply updates |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@niels9001 Although the spell checker reports errors, the CI check actually passes so this could be merged |
This comment has been minimized.
This comment has been minimized.
|
A couple of practices worth checking before merge: 1. Telemetry regression (0 ETW events in V2 vs. 2 in V1)V1 emits two ETW events via src/modules/ShortcutGuide/ShortcutGuide/trace.cpp:
V2 wires up the plumbing but never actually emits anything.
…but
Result: no session or settings telemetry from V2. Worth porting at least the two existing events so dashboards/data-driven decisions don't go dark. 2. Mixing WPF and WinUI 3 in the UI process
Suggest replacing with a WinUI |
|
@yeelam-gordon For 1, does readding the same telemetry events make sense regarding that this Shortcut Guide works very differently from the old one? For 2, This messagebox is only shown in very rare occasions and it does not matter if it blocks WinUi, because the program exits right after that anyway. |
- Add ShortcutGuideSettingsEvent and ShortcutGuideSessionEvent ETW events matching V1's ShortcutGuide_Settings and ShortcutGuide_GuideSession events - Wire send_settings_telemetry to actually emit settings via managed telemetry - Track session duration and close type in MainWindow, emit on close - Replace System.Windows.MessageBox with Logger.LogError (removes WPF from this WinUI 3 process; the error was invisible to users anyway since the process is background-launched by the module interface) - Add ManagedTelemetry project reference Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Addressed telemetry regression and WPF dependency in bc1fdbe:
|
@check-spelling-bot Report🔴 Please reviewSee the 📂 files view, the 📜action log, 👼 SARIF report, or 📝 job summary for details.Unrecognized words (4)DWRITE These words are not needed and should be removedABlocked AClient AColumn ACR ADate ADifferent AHybrid ALarger AModifier ANull AOklab APeriod ARandom ARemapped ASingle ASUS bck BNumber BOklab BVal BValue CAtl CCom CContext CDeclaration CElems Chunghwa CImage CMock CPower CSearch CSettings CSOT CStyle CTest CVal CVirtual DArchitectures DComposition defaulttonearest diu DSVG dwrite EAccess EFile EInvalid ENot EProvider ESettings FErase FInc FMask FNumber FRestore GNumber GValue Hann HHmmssfff Hostx HPhysical HSpeed HSync HVal HValue HWP IPREVIEW ITHUMBNAIL IVO kdc LExit LPCFHOOKPROC LPrivate LReader LUMA LVal lwin MMdd MRT MSHCTX MSHLFLAGS Nanjing newcolor NLog oldcolor outsourced PBlob PElems PHL pinboard PStr PToy QDS RAlt RAquadrant rectp RKey RNumber scanled suntimes Tianma UBreak UCallback UError UFlags UHash UMax UMin unsubscribes UOffset UType vcenter VDesktop vredraw VSpeed VSync WBounds WClass workerw WReserved XAxis XButton XDeployment XDimension XDocument XElement XFile XIncrement XLoc XNamespace XPels XPixel XPos XResource XSpeed XStr XTimer YAxis YDimension YIncrement YPels YPos YResolution YSpeed YStr YTimerTo accept these unrecognized words as correct and remove the previously acknowledged and now absent words, you could run the following commands... in a clone of the git@github.com:microsoft/PowerToys.git repository curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/cfb6f7e75bbfc89c71eaa30366d0c166f1bd9c8c/apply.pl' |
perl - 'https://github.com/microsoft/PowerToys/actions/runs/26222650830/attempts/1' &&
git commit -m 'Update check-spelling metadata'OR To have the bot accept them for you, comment in the PR quoting the following line: If the flagged items are 🤯 false positivesIf items relate to a ...
|
## Summary Fixes the **stable** signed release pipeline failure (Dart build [`147590319`](https://microsoft.visualstudio.com/Dart/_build/results?buildId=147590319)) at the *"Verify all binaries are signed and versioned"* task on both `Build Release_x64` and `Build Release_arm64`: ``` Not Signed: + …\extractedMachineMsi\File\WinUI3ApplicationsFiles_File_YamlDotNet.dll ``` ## Root cause PR #40834 (*Shortcut Guide V2*) added a `YamlDotNet` `PackageReference` to: - `src/modules/ShortcutGuide/ShortcutGuide.Ui/ShortcutGuide.Ui.csproj` - `src/modules/ShortcutGuide/ShortcutGuide.IndexYmlGenerator/ShortcutGuide.IndexYmlGenerator.csproj` Both projects publish into `WinUI3Apps\`, so `YamlDotNet.dll` is harvested into the MSI by `installer/PowerToysSetupVNext/generateAllFileComponents.ps1`. The PR updated `ESRPSigning_core.json` for its own new binaries but missed this 3rd-party transitive dependency, so ESRP never signs it and `.pipelines/versionAndSignCheck.ps1` correctly fails the build. ## Fix One additive line to `.pipelines/ESRPSigning_core.json`, placing `WinUI3Apps\YamlDotNet.dll` next to the other 3rd-party `WinUI3Apps\` entries (`Google.Apis.*`, `Google.GenAI.dll`, `ReverseMarkdown.dll`, `SharpCompress.dll`, …). ## Validation - `git diff` shows exactly one additive line. - File still parses as valid JSON (`ConvertFrom-Json` round-trip OK). - Both ShortcutGuide csprojs target `$(Platform)\$(Configuration)\WinUI3Apps`, so a single `WinUI3Apps\YamlDotNet.dll` entry covers all uses. ## Follow-up After merge to `main`, cherry-pick / merge into `stable` so build `147590319` can be re-queued and the 0.100 release pipeline can proceed. Co-authored-by: Copilot <Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>


Summary of the Pull Request
shortcutguidev2.mp4
PR Checklist
Detailed Description of the Pull Request / Additional comments
Work for future PRs:
Images
Recording.2025-10-27.211717.mp4
Validation Steps Performed