diff --git a/.github/actions/spell-check/expect.txt b/.github/actions/spell-check/expect.txt index 4f367cfb27..e012585b27 100644 --- a/.github/actions/spell-check/expect.txt +++ b/.github/actions/spell-check/expect.txt @@ -1,7 +1,6 @@ # FALSE POSITIVES ## "PackagemanagerWrapper.cs" should be "PackageManagerWrapper.cs" ## NOTICE.MD > MOZILLA PUBLIC LICENSE v1.1 - aaaa abcdefghjkmnpqrstuvxyz abgr @@ -43,7 +42,6 @@ AMPROPSETID amr ANDSCANS animatedvisuals -anr ansicolor ANull AOC @@ -1215,6 +1213,7 @@ prgms pri PRINTCLIENT printmanagement +privacystatement prm proactively PROCESSENTRY diff --git a/.pipelines/v2/templates/job-build-project.yml b/.pipelines/v2/templates/job-build-project.yml index 40a0e4a866..2a7acc2bdd 100644 --- a/.pipelines/v2/templates/job-build-project.yml +++ b/.pipelines/v2/templates/job-build-project.yml @@ -376,6 +376,16 @@ jobs: msbuildArchitecture: x64 maximumCpuCount: true + ### HACK: On ARM64 builds, building an app with Windows App SDK copies the x64 WebView2 dll instead of the ARM64 one. This task makes sure the right dll is used. + - task: CopyFiles@2 + displayName: HACK Copy core WebView2 ARM64 dll to output directory + condition: eq(variables['BuildPlatform'],'arm64') + inputs: + contents: packages/Microsoft.Web.WebView2.1.0.2739.15/runtimes/win-ARM64/native_uap/Microsoft.Web.WebView2.Core.dll + targetFolder: $(Build.SourcesDirectory)/ARM64/Release/WinUI3Apps/ + flattenFolders: True + OverWrite: True + # Check if deps.json files don't reference different dll versions. - pwsh: |- & '.pipelines/verifyDepsJsonLibraryVersions.ps1' -targetDir '$(build.sourcesdirectory)\$(BuildPlatform)\$(BuildConfiguration)' diff --git a/DATA_AND_PRIVACY.md b/DATA_AND_PRIVACY.md new file mode 100644 index 0000000000..9390d37722 --- /dev/null +++ b/DATA_AND_PRIVACY.md @@ -0,0 +1,1012 @@ +# PowerToys Data & Privacy +## Overview +PowerToys diagnostic data is completely optional for users and is off by default in v0.86 and beyond. Our team believes in transparency and trust. As PowerToys is open source, all of our diagnostic data events are in the codebase. + +Additionally, this document aims to list each diagnostic data event individually and describe their purpose clearly. + +For more information, please read the [Microsoft privacy statement](https://privacy.microsoft.com/privacystatement). + +## What does PowerToys collect? + +1. **Usage**: Understanding usage and frequency rates for utilities and settings helps us make decisions on where to focus our time and energy. This data also helps us better understand what and how to move well-loved features directly into Windows! +2. **Stability**: Monitoring bugs and system crashes, as well as analyzing GitHub issue reports, assists us in prioritizing the most urgent issues. +3. **Performance**: Assessing the performance of PowerToys features to load and execute gives us an understanding of what surfaces are causing slowdowns. This supports our commitment to providing you with tools that are both speedy and effective. + +### Success Story: Fixing FancyZones Bugs with Your Help +FancyZones had numerous bug reports related to virtual desktop interactions. Initially, these were considered lower priority, since the assumption was that virtual desktops were not widely used, so we chose to focus on more urgent issues. However, the volume of bug reports suggested otherwise, prompting us to add additional diagnostics to see virtual desktop usage with FancyZones. We discovered that virtual desktop usage was much higher among FancyZones users. This new understanding led us to prioritize this class of bugs and get them fixed. + +## Transparency and Public Sharing +As much as possible, we aim to share the results of diagnostic data publicly. + +We hope this document provides clarity on why and how we collect diagnostic data to improve PowerToys for our users. If you have any questions or concerns, please feel free to reach out to us. + +Thank you for using PowerToys! + +## List of Diagnostic Data Events +_**Note:** We're in the process of updating this section with more events and their descriptions. We aim to keep this list current by adding any new diagnostic data events as they become available._ + +_If you want to find diagnostic data events in the source code, these two links will be good starting points based on the source code's langauge._ +- [C# events](https://github.com/search?q=repo%3Amicrosoft/PowerToys%20EventBase&type=code) +- [C++ events](https://github.com/search?q=repo%3Amicrosoft%2FPowerToys+ProjectTelemetryPrivacyDataTag&type=code) + +### General + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.DebugEventLogs debugging information for diagnostics and troubleshooting.
Microsoft.PowerToys.GeneralSettingsChangedLogs changes made to general settings within PowerToys.
Microsoft.PowerToys.Runner_LaunchIndicates when the PowerToys Runner is launched.
Microsoft.PowerToys.SettingsBootEventTriggered when PowerToys settings are initialized at startup.
Microsoft.PowerToys.SettingsEnabledEventIndicates that the PowerToys settings have been enabled.
Microsoft.PowerToys.ScoobeStartedEventTriggered when SCOOBE (Secondary Out-of-box experience) starts.
Microsoft.PowerToys.TrayFlyoutActivatedEventIndicates when the tray flyout menu is activated.
Microsoft.PowerToys.TrayFlyoutModuleRunEventLogs when a utility from the tray flyout menu is run.
+ +### OOBE (Out-of-box experience) + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.OobeSectionEventOccurs when OOBE is shown to the user.
Microsoft.PowerToys.OobeSettingsEventTriggers when a Settings page is opened from an OOBE page.
Microsoft.PowerToys.OobeStartedEventIndicates when the out-of-box experience has been initiated.
+ +### Advanced Paste + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.AdvancedPaste_EnableAdvancedPasteTriggered when Advanced Paste is enabled.
Microsoft.PowerToys.AdvancedPaste_ErrorOccurs when an error is encountered during the Advanced Paste process.
Microsoft.PowerToys.AdvancedPaste_InvokeAdvancedPasteActivated when Advanced Paste is called by the user.
Microsoft.PowerToys.AdvancedPaste_SettingsTriggered when settings for Advanced Paste are accessed or modified.
Microsoft.PowerToys.AdvancedPasteClipboardItemClickedOccurs when a clipboard item is selected from the Advanced Paste menu.
Microsoft.PowerToys.AdvancedPasteClipboardItemDeletedEventTriggered when an item is removed from the Advanced Paste clipboard history.
Microsoft.PowerToys.AdvancedPasteCustomFormatOutputThumbUpDownEventTriggered when a user gives feedback on a custom format output (thumb up/down).
Microsoft.PowerToys.AdvancedPasteFormatClickedEventOccurs when a specific paste format is clicked in the Advanced Paste menu.
Microsoft.PowerToys.AdvancedPasteGenerateCustomErrorEventTriggered when an error occurs while generating a custom paste format.
Microsoft.PowerToys.AdvancedPasteGenerateCustomFormatEventOccurs when a custom paste format is successfully generated.
Microsoft.PowerToys.AdvancedPasteInAppKeyboardShortcutEventTriggered when a keyboard shortcut is used within the Advanced Paste interface.
+ +### Always on Top + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.AlwaysOnTop_EnableAlwaysOnTopTriggered when Always on Top is enabled.
Microsoft.PowerToys.AlwaysOnTop_PinWindowOccurs when a window is pinned to stay on top of other windows.
Microsoft.PowerToys.AlwaysOnTop_UnpinWindowTriggered when a pinned window is unpinned, allowing it to be behind other windows.
+ +### Awake + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.Awake_EnableAwakeTriggered when Awake is enabled.
Microsoft.PowerToys.AwakeExpirableKeepAwakeEventOccurs when the system is kept awake for a temporary, expirable duration.
Microsoft.PowerToys.AwakeIndefinitelyKeepAwakeEventTriggered when the system is set to stay awake indefinitely.
Microsoft.PowerToys.AwakeNoKeepAwakeEventOccurs when Awake is turned off, allowing the computer to enter sleep mode.
Microsoft.PowerToys.AwakeTimedKeepAwakeEventTriggered when the system is kept awake for a specified time duration.
+ +### Color Picker + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.ColorPicker_EnableColorPickerTriggered when Color Picker is enabled.
Microsoft.PowerToys.ColorPicker_SessionOccurs during a Color Picker usage session.
Microsoft.PowerToys.ColorPicker_SettingsTriggered when the settings for the Color Picker are accessed or modified.
Microsoft.PowerToys.ColorPickerCancelledEventOccurs when a color picking action is cancelled by the user.
Microsoft.PowerToys.ColorPickerShowEventTriggered when the Color Picker UI is displayed on the screen.
+ +### Command Not Found + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.CmdNotFoundInstallEventTriggered when a Command Not Found is installed.
Microsoft.PowerToys.CmdNotFoundInstanceCreatedEventOccurs when an instance of a Command Not Found is created.
Microsoft.PowerToys.CmdNotFoundUninstallEventTriggered when Command Not Found is uninstalled after being previously installed.
+ +### Crop And Lock + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.CropAndLock_ActivateReparentTriggered when the cropping interface is activated for reparenting the cropped content.
Microsoft.PowerToys.CropAndLock_ActivateThumbnailOccurs when the thumbnail view for cropped content is activated.
Microsoft.PowerToys.CropAndLock_EnableCropAndLockTriggered when Crop and Lock is enabled.
Microsoft.PowerToys.CropAndLock_SettingsOccurs when settings related to Crop and Lock are modified.
+ +### Environment Variables + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.EnvironmentVariables_ActivateTriggered when Environment Variables is launched.
Microsoft.PowerToys.EnvironmentVariables_EnableEnvironmentVariablesOccurs when Environment Variables is enabled.
Microsoft.PowerToys.EnvironmentVariablesOpenedEventTriggered when the Environment Variables interface is opened.
Microsoft.PowerToys.EnvironmentVariablesProfileEnabledEventOccurs when an environment variable profile is enabled.
Microsoft.PowerToys.EnvironmentVariablesVariableChangedEventTriggered when an environment variable is added, modified, or deleted.
+ +### FancyZones + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.FancyZones_CycleActiveZoneSetTriggered when the active zone set is cycled through.
Microsoft.PowerToys.FancyZones_EditorLaunchOccurs when the FancyZones editor is launched.
Microsoft.PowerToys.FancyZones_EnableFancyZonesOccurs when FancyZones is enabled.
Microsoft.PowerToys.FancyZones_KeyboardSnapWindowToZoneTriggered when a window is snapped to a zone using the keyboard.
Microsoft.PowerToys.FancyZones_MoveOrResizeEndedOccurs when a window move or resize action has completed.
Microsoft.PowerToys.FancyZones_MoveOrResizeStartedTriggered when a window move or resize action is initiated.
Microsoft.PowerToys.FancyZones_MoveSizeEndOccurs when the moving or resizing of a window has ended.
Microsoft.PowerToys.FancyZones_OnKeyDownTriggered when a key is pressed down while interacting with zones.
Microsoft.PowerToys.FancyZones_QuickLayoutSwitchOccurs when a quick switch between zone layouts is performed.
Microsoft.PowerToys.FancyZones_SettingsTriggered when FancyZones settings are accessed or modified.
Microsoft.PowerToys.FancyZones_SettingsChangedOccurs when there is a change in the FancyZones settings.
Microsoft.PowerToys.FancyZones_SnapNewWindowIntoZoneTriggered when a new window is snapped into a zone.
Microsoft.PowerToys.FancyZones_VirtualDesktopChangedOccurs when the virtual desktop changes, affecting zone layout.
Microsoft.PowerToys.FancyZones_ZoneSettingsChangedTriggered when the settings for specific zones are altered.
Microsoft.PowerToys.FancyZones_ZoneWindowKeyUpOccurs when a key is released while interacting with zones.
+ +### FileExplorerAddOns + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.GcodeFileHandlerLoadedTriggered when a G-code file handler is loaded.
Microsoft.PowerToys.GcodeFilePreviewedOccurs when a G-code file is previewed in File Explorer.
Microsoft.PowerToys.GcodeFilePreviewErrorTriggered when there is an error previewing a G-code file.
Microsoft.PowerToys.MarkdownFileHandlerLoadedOccurs when a Markdown file handler is loaded.
Microsoft.PowerToys.MarkdownFilePreviewedTriggered when a Markdown file is previewed in File Explorer.
Microsoft.PowerToys.PdfFileHandlerLoadedOccurs when a PDF file handler is loaded.
Microsoft.PowerToys.PdfFilePreviewedTriggered when a PDF file is previewed in File Explorer.
Microsoft.PowerToys.PowerPreview_EnabledOccurs when preview is enabled.
Microsoft.PowerToys.PowerPreview_TweakUISettings_DestroyedTriggered when the Tweak UI settings for Power Preview are destroyed.
Microsoft.PowerToys.PowerPreview_TweakUISettings_FailedUpdatingSettingsOccurs when updating Tweak UI settings fails.
Microsoft.PowerToys.PowerPreview_TweakUISettings_InitSet__ErrorLoadingFileTriggered when there is an error loading a file during Tweak UI settings initialization.
Microsoft.PowerToys.PowerPreview_TweakUISettings_SuccessfullyUpdatedSettingsOccurs when the Tweak UI settings for Power Preview are successfully updated.
Microsoft.PowerToys.QoiFilePreviewedTriggered when a QOI file is previewed in File Explorer.
Microsoft.PowerToys.SvgFileHandlerLoadedOccurs when an SVG file handler is loaded.
Microsoft.PowerToys.SvgFilePreviewedTriggered when an SVG file is previewed in File Explorer.
Microsoft.PowerToys.SvgFilePreviewErrorOccurs when there is an error previewing an SVG file.
+ +### File Locksmith + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.FileLocksmith_EnableFileLocksmithTriggered when File Locksmith is enabled.
Microsoft.PowerToys.FileLocksmith_InvokedOccurs when File Locksmith is invoked.
Microsoft.PowerToys.FileLocksmith_InvokedRetTriggered when File Locksmith invocation returns a result.
Microsoft.PowerToys.FileLocksmith_QueryContextMenuErrorOccurs when there is an error querying the context menu for File Locksmith.
+ +### Find My Mouse + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.FindMyMouse_EnableFindMyMouseTriggered when Find My Mouse is enabled.
Microsoft.PowerToys.FindMyMouse_MousePointerFocusedOccurs when the mouse pointer is focused using Find My Mouse.
+ +### Hosts File Editor + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.HostsFileEditor_ActivateTriggered when Hosts File Editor is activated.
Microsoft.PowerToys.HostsFileEditor_EnableHostsFileEditorOccurs when Hosts File Editor is enabled.
Microsoft.PowerToys.HostsFileEditorOpenedEventFires when Hosts File Editor is opened.
+ +### Image Resizer + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.ImageResizer_EnableImageResizerTriggered when Image Resizer is enabled.
Microsoft.PowerToys.ImageResizer_InvokedOccurs when Image Resizer is invoked by the user.
Microsoft.PowerToys.ImageResizer_InvokedRetFires when the Image Resizer operation is completed and returns a result.
+ +### Keyboard Manager + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.KeyboardManager_AppSpecificShortcutRemapConfigurationLoadedIndicates that the application-specific shortcut remap configuration has been successfully loaded.
Microsoft.PowerToys.KeyboardManager_AppSpecificShortcutRemapCountLogs the number of application-specific shortcut remaps configured by the user.
Microsoft.PowerToys.KeyboardManager_AppSpecificShortcutToShortcutRemapInvokedLogs each instance when an application-specific shortcut-to-shortcut remap is used.
Microsoft.PowerToys.KeyboardManager_DailyAppSpecificShortcutToKeyRemapInvokedLogs the daily count of application-specific shortcut-to-key remaps executed by the user.
Microsoft.PowerToys.KeyboardManager_DailyAppSpecificShortcutToShortcutRemapInvokedLogs the daily count of application-specific shortcut-to-shortcut remaps executed by the user.
Microsoft.PowerToys.KeyboardManager_DailyKeyToKeyRemapInvokedLogs the daily count of key-to-key remaps used by the user.
Microsoft.PowerToys.KeyboardManager_DailyKeyToShortcutRemapInvokedLogs the daily count of key-to-shortcut remaps used by the user.
Microsoft.PowerToys.KeyboardManager_DailyShortcutToKeyRemapInvokedLogs the daily count of shortcut-to-key remaps used by the user.
Microsoft.PowerToys.KeyboardManager_DailyShortcutToShortcutRemapInvokedLogs the daily count of shortcut-to-shortcut remaps used by the user.
Microsoft.PowerToys.KeyboardManager_EnableKeyboardManagerIndicates that the Keyboard Manager has been enabled in PowerToys settings.
Microsoft.PowerToys.KeyboardManager_KeyRemapConfigurationLoadedIndicates that the key remap configuration has been successfully loaded.
Microsoft.PowerToys.KeyboardManager_KeyRemapCountLogs the number of individual key remaps configured by the user.
Microsoft.PowerToys.KeyboardManager_KeyToKeyRemapInvokedLogs each instance of a key-to-key remap being used.
Microsoft.PowerToys.KeyboardManager_KeyToShortcutRemapInvokedLogs each instance of a key-to-shortcut remap being used.
Microsoft.PowerToys.KeyboardManager_OSLevelShortcutRemapCountLogs the total number of OS-level shortcut remaps configured by the user.
Microsoft.PowerToys.KeyboardManager_OSLevelShortcutToKeyRemapInvokedLogs each instance of an OS-level shortcut-to-key remap being used.
Microsoft.PowerToys.KeyboardManager_OSLevelShortcutToShortcutRemapInvokedLogs each instance of an OS-level shortcut-to-shortcut remap being used.
Microsoft.PowerToys.KeyboardManager_ShortcutRemapConfigurationLoadedIndicates that the shortcut remap configuration has been successfully loaded.
+ +### Mouse Highlighter + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.MouseHighlighter_EnableMouseHighlighterTriggered when Mouse Highlighter is enabled.
Microsoft.PowerToys.MouseHighlighter_StartHighlightingSessionOccurs when a new highlighting session is started.
+ +### Mouse Jump + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.MouseJump_EnableJumpToolTriggered when Mouse Jump is enabled.
Microsoft.PowerToys.MouseJump_InvokeJumpToolOccurs when Mouse Jump is invoked.
Microsoft.PowerToys.MouseJumpShowEventTriggered when the Mouse Jump display is shown.
Microsoft.PowerToys.MouseJumpTeleportCursorEventOccurs when the cursor is teleported to a new location.
+ +### Mouse Pointer Crosshairs + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.MousePointerCrosshairs_EnableMousePointerCrosshairsTriggered when Mouse Pointer Crosshairs is enabled.
Microsoft.PowerToys.MousePointerCrosshairs_StartDrawingCrosshairsOccurs when the crosshairs are drawn around the mouse pointer.
+ +### Mouse Without Borders + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.MouseWithoutBorders_ActivateTriggered when Mouse Without Borders is activated.
Microsoft.PowerToys.MouseWithoutBorders_AddFirewallRuleOccurs when a firewall rule is added for Mouse Without Borders.
Microsoft.PowerToys.MouseWithoutBorders_EnableMouseWithoutBordersTriggered when Mouse Without Borders is enabled.
Microsoft.PowerToys.MouseWithoutBorders_ToggleServiceRegistrationOccurs when the service registration for Mouse Without Borders is toggled.
Microsoft.PowerToys.MouseWithoutBordersClipboardFileTransferEventTriggered during a clipboard file transfer between computers.
Microsoft.PowerToys.MouseWithoutBordersDragAndDropEventOccurs during a drag-and-drop operation between computers.
Microsoft.PowerToys.MouseWithoutBordersMultipleModeEventTriggered when multiple modes are enabled in Mouse Without Borders.
Microsoft.PowerToys.MouseWithoutBordersOldUIOpenedEventOccurs when the old user interface for Mouse Without Borders is opened.
Microsoft.PowerToys.MouseWithoutBordersOldUIQuitEventTriggered when the old user interface for Mouse Without Borders is closed.
Microsoft.PowerToys.MouseWithoutBordersOldUIReconfigureEventOccurs when the old user interface for Mouse Without Borders is reconfigured.
Microsoft.PowerToys.MouseWithoutBordersStartedEventTriggered when Mouse Without Borders is started.
+ +### New+ + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.NewPlus_EventCopyTemplateTriggered when an item from New+ is created (copied to the current directory).
Microsoft.PowerToys.NewPlus_EventCopyTemplateResultLogs the success of item creation (copying).
Microsoft.PowerToys.NewPlus_EventShowTemplateItemsTriggered when the New+ context menu flyout is displayed.
Microsoft.PowerToys.NewPlus_EventToggleOnOffTriggered when New+ is enabled or disabled.
+ +### Peek + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.Peek_ClosedTriggered when Peek is closed.
Microsoft.PowerToys.Peek_EnablePeekOccurs when Peek is enabled.
Microsoft.PowerToys.Peek_ErrorTriggered when an error occurs for Peek.
Microsoft.PowerToys.Peek_InvokePeekOccurs when Peek is invoked.
Microsoft.PowerToys.Peek_OpenedTriggered when a Peek window is opened.
Microsoft.PowerToys.Peek_OpenWithOccurs when an item is opened with Peek.
Microsoft.PowerToys.Peek_SettingsTriggered when the settings for Peek are modified.
+ +### PowerRename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.PowerRename_EnablePowerRenameTriggered when PowerRename is enabled.
Microsoft.PowerToys.PowerRename_InvokedOccurs when PowerRename is invoked.
Microsoft.PowerToys.PowerRename_InvokedRetTriggered when the invocation of PowerRename returns a result.
Microsoft.PowerToys.PowerRename_RenameOperationTriggered during the rename operation within PowerRename.
Microsoft.PowerToys.PowerRename_SettingsChangedOccurs when the settings for PowerRename are changed.
Microsoft.PowerToys.PowerRename_UIShownRetTriggered when the PowerRename user interface is shown.
+ +### PowerToys Run + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.LauncherBootEventTriggered when PowerToys Run is initialized on boot.
Microsoft.PowerToys.LauncherColdStateHotkeyEventOccurs when the hotkey is pressed in the cold state (not yet initialized).
Microsoft.PowerToys.LauncherFirstDeleteEventTriggered when the first deletion action is performed in PowerToys Run.
Microsoft.PowerToys.LauncherHideEventOccurs when PowerToys Run is hidden.
Microsoft.PowerToys.LauncherQueryEventTriggered when a query is made in PowerToys Run.
Microsoft.PowerToys.LauncherResultActionEventOccurs when an action is taken on a result in PowerToys Run.
Microsoft.PowerToys.LauncherShowEventTriggered when PowerToys Run is shown.
Microsoft.PowerToys.LauncherWarmStateHotkeyEventOccurs when the hotkey is pressed in the warm state (initialized).
Microsoft.PowerToys.RunPluginsSettingsEventTriggered when the settings for PowerToys Run plugins are accessed or modified.
Microsoft.PowerToys.WindowWalker_EnableWindowWalkerTriggered when the Window Walker plugin is enabled.
+ +### Quick Accent + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.PowerAccent_EnablePowerAccentTriggered when Quick Accent is enabled.
Microsoft.PowerToys.PowerAccentShowAccentMenuEventOccurs when the accent menu is displayed.
+ +### Registry Preview + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.RegistryPreview_ActivateTriggered when Registry Preview is activated.
Microsoft.PowerToys.RegistryPreview_EnableRegistryPreviewOccurs when Registry Preview is enabled.
+ +### Screen Ruler + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.MeasureTool_BoundsToolActivatedTriggered when Screen Ruler's Bounds tool is activated.
Microsoft.PowerToys.MeasureTool_EnableMeasureToolOccurs when Screen Ruler is enabled.
Microsoft.PowerToys.MeasureTool_MeasureToolActivatedTriggered when Screen Ruler's Measure tool is activated.
+ +### Shortcut Guide + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.ShortcutGuide_EnableGuideTriggered when Shortcut Guide is enabled.
Microsoft.PowerToys.ShortcutGuide_HideGuideOccurs when Shortcut Guide is hidden from view.
Microsoft.PowerToys.ShortcutGuide_SettingsIndicates a change in the settings related to the Shortcut Guide.
+ +### Text Extractor + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.PowerOCR_EnablePowerOCRTriggered when the Text Extractor (OCR) feature is enabled.
Microsoft.PowerToys.PowerOCRCancelledEventOccurs when the text extraction process is cancelled.
Microsoft.PowerToys.PowerOCRCaptureEventOccurs when the user has created a capture for text extraction.
Microsoft.PowerToys.PowerOCRInvokedEventTriggered when Text Extractor is invoked.
+ +### Video Conference Mute + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.VideoConference_CameraMutedTriggered when the camera is turned off by Video Conference Mute.
Microsoft.PowerToys.VideoConference_EnableVideoConferenceOccurs when Video Conference Mute is enabled.
Microsoft.PowerToys.VideoConference_MicrophoneMutedOccurs when the microphone is muted by Video Conference Mute.
+ +### Workspaces + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Event NameDescription
Microsoft.PowerToys.Projects_CLIUsageLogs usage of command-line arguments for launching apps.
Microsoft.PowerToys.Workspaces_CreateEventTriggered when a new workspace is created.
Microsoft.PowerToys.Workspaces_DeleteEventTriggered when a workspace is deleted.
Microsoft.PowerToys.Workspaces_EditEventTriggered when a workspace is edited or modified.
Microsoft.PowerToys.Workspaces_EnableIndicates that Workspaces is enabled.
Microsoft.PowerToys.Workspaces_LaunchEventTriggered when a workspace is launched.
Microsoft.PowerToys.Workspaces_SettingsLogs changes to workspaces settings.
+ + diff --git a/README.md b/README.md index aa0648fb40..0c21079740 100644 --- a/README.md +++ b/README.md @@ -34,19 +34,19 @@ Microsoft PowerToys is a set of utilities for power users to tune and streamline Go to the [Microsoft PowerToys GitHub releases page][github-release-link] and click on `Assets` at the bottom to show the files available in the release. Please use the appropriate PowerToys installer that matches your machine's architecture and install scope. For most, it is `x64` and per-user. -[github-next-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.86%22 -[github-current-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.85%22 -[ptUserX64]: https://github.com/microsoft/PowerToys/releases/download/v0.85.1/PowerToysUserSetup-0.85.1-x64.exe -[ptUserArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.85.1/PowerToysUserSetup-0.85.1-arm64.exe -[ptMachineX64]: https://github.com/microsoft/PowerToys/releases/download/v0.85.1/PowerToysSetup-0.85.1-x64.exe -[ptMachineArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.85.1/PowerToysSetup-0.85.1-arm64.exe +[github-next-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.87%22 +[github-current-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.86%22 +[ptUserX64]: https://github.com/microsoft/PowerToys/releases/download/v0.86.0/PowerToysUserSetup-0.86.0-x64.exe +[ptUserArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.86.0/PowerToysUserSetup-0.86.0-arm64.exe +[ptMachineX64]: https://github.com/microsoft/PowerToys/releases/download/v0.86.0/PowerToysSetup-0.86.0-x64.exe +[ptMachineArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.86.0/PowerToysSetup-0.86.0-arm64.exe | Description | Filename | sha256 hash | |----------------|----------|-------------| -| Per user - x64 | [PowerToysUserSetup-0.85.1-x64.exe][ptUserX64] | 5F287C34BF68972C55D7C26585EA5C449B0DBA7D458BF7039CFF448E1D7B732B | -| Per user - ARM64 | [PowerToysUserSetup-0.85.1-arm64.exe][ptUserArm64] | 6D5C3B24156E6E66FD38AD15076B8442F0A1C5CFCBBDC33AD478FB27E5E086AE | -| Machine wide - x64 | [PowerToysSetup-0.85.1-x64.exe][ptMachineX64] | 1CDD3C9602F6E5DDC19C66A4FDFE4231389C08E6A037DD22C0A6471F10C7BE02 | -| Machine wide - ARM64 | [PowerToysSetup-0.85.1-arm64.exe][ptMachineArm64] | 6F4DC0217495973B974B7AC1099FD01A2A0FCEE96E8719074EC97FBBC0ECAC4A | +| Per user - x64 | [PowerToysUserSetup-0.86.0-x64.exe][ptUserX64] | CFB9608B28B8FF12C9A7C9814A6EF981636EB5AB261DC278C28EC93FD959CCE2 | +| Per user - ARM64 | [PowerToysUserSetup-0.86.0-arm64.exe][ptUserArm64] | 857DE9DC5938D9602F82DFD6183DB5E6823B875A412AEC59B4BE93617E27E9CD | +| Machine wide - x64 | [PowerToysSetup-0.86.0-x64.exe][ptMachineX64] | 861CEDBFDCDA993D1D1056E3280319D5EA45D142CA3C737AB1FB4FABD651A5F5 | +| Machine wide - ARM64 | [PowerToysSetup-0.86.0-arm64.exe][ptMachineArm64] | 6F37192534C195A02A80AAE1E449DF61C894C50763096A06195581801943FA31 | This is our preferred method. @@ -92,113 +92,103 @@ For guidance on developing for PowerToys, please read the [developer docs](/doc/ Our [prioritized roadmap][roadmap] of features and utilities that the core team is focusing on. -### 0.85 - September 2024 Update +### 0.86 - October 2024 Update In this release, we focused on new features, stability, and improvements. **Highlights** - - - New utility: New+ - allows setting a personalized set of templates to quickly create files and folders from a File Explorer context menu. Thanks [@cgaarden](https://github.com/cgaarden)! - - Language selection - it's now possible to select which UI language should be used by PowerToys utilities. - - Lots of quality fixes for Workspaces, improving the number of supported applications. - - Reduced Peek memory usage by fixing image leaks. Thanks [@daverayment](https://github.com/daverayment)! + + - Advanced Paste has new abilities: Image to text, and paste to file (text / png / html). + - In settings, we've adjusted the left navigation to group the utilities. As the number of utilities shipped with PowerToys keeps growing, we felt this was a needed adjustment. Thanks everyone for your feedback! + - Workspaces received many bug fixes, including the proper launching of many instances of the same application in the same workspace. Note, we are still actively looking at how to properly handle PWA detection. + - We've added a telemetry opt-in option in the Settings General tab. As it is off-by-default, we encourage users to turn it on as that helps direct our development efforts and their journeys. More information about the data we collect can be found in the [PowerToys Data and Privacy documentation](https://aka.ms/powertoys-data-and-privacy-documentation) and what each event does. ### General - - Added a general setting to select which UI language should be used in PowerToys utilities. - - Fixed internal code of some policies for Group Policy Objects, that were reading registry entries using the wrong internal functions, and structured code better to avoid future mistakes of the same kind. Thanks [@htcfreek](https://github.com/htcfreek)! + - Added a setting for telemetry opt-in (off by default, however, see above for why we encourage you to opt-in!) and user controls to view data. + - Improved exception logging by adding the type of Exception and InnerException. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! ### Advanced Paste - - Fixed some telemetry calls to signal Advanced Paste activation on the cases where a direct shortcut is being used without showing the UI. - - User-defined custom actions can only be used with AI turned on, so custom actions were disabled on Settings when AI is disabled and were hidden from the Advanced Paste UI. + - Added new built-in actions: Image to text, and paste txt, png or html as a file. -### Awake +### Mouse Jump - - Fixed tray icon behaviors, not appearing and showing incorrect time. Thanks [@dend](https://github.com/dend)! + - Refactored the common classes into a separate project. Thanks [@mikeclayton](https://github.com/mikeclayton)! + - Brought back the telemetry events that were deleted across previous refactoring efforts. -### Environment Variables Editor +### Mouse Without Borders - - Added the `_NT_SYMBOL_PATH`, `_NT_ALT_SYMBOL_PATH` and `_NT_SYMCACHE_PATH` as variables that are shown as lists. Thanks [@chwarr](https://github.com/chwarr)! - -### FancyZones - - - Allow snapping applications that were launched by Workspaces. - -### File Locksmith - - - Fixed an issue causing File Locksmith to be triggered by unrelated verbs in the context menu. - -### Mouse Pointer Crosshairs - - - Allow crosshairs radius to be 0 pixels. Thanks [@octastylos-pseudodipteros](https://github.com/octastylos-pseudodipteros)! + - Refactored the Logger common classes. Thanks [@mikeclayton](https://github.com/mikeclayton)! ### New+ - - New utility - Allows setting a personalized set of templates to quickly create files and folders from a File Explorer context menu. Thanks [@cgaarden](https://github.com/cgaarden)! - - Added missing entry for New+ policy state reporting in the Bug Report tool. Thanks [@htcfreek](https://github.com/htcfreek)! - - Added a policy for enabling/disabling whether filename extensions should be shown. Thanks [@htcfreek](https://github.com/htcfreek)! + - Fixed the telemetry event for when the modules is enabled or disabled. (This was a hotfix for 0.85) + - Fixed bug when creating folders or files that contain Unicode characters. Thanks [@cgaarden](https://github.com/cgaarden)! + - Fixed bug when the name of a new folder collided with an already existing folder. Thanks [@cgaarden](https://github.com/cgaarden)! + - Updated the New+ icons to the fluent style. ### Peek - - Properly show file's modified date instead of creation date in the file previewer. Thanks [@daverayment](https://github.com/daverayment)! - - Fixed memory leak caused by unmanaged bitmap images not being freed. Thanks [@daverayment](https://github.com/daverayment)! - - Fixed an issue causing Peek to not be displayed the first time when using a preview handler to display files. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! - - Prevent tooltip in file previewer from overlapping with title bar controls. Thanks [@daverayment](https://github.com/daverayment)! - - Fixed memory leaks in thumbnails and refactored image previewer. Thanks [@daverayment](https://github.com/daverayment)! + - Folder preview enumeration of size and number of files is now more responsive and faster. Thanks [@daverayment](https://github.com/daverayment)! ### PowerToys Run - - Improved the message boxes to be more specific when PowerToys Run failed to initialize itself or any plugin. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! - - Use capital letters when showing degree results in the Unit Converter plugin. Thanks [@PesBandi](https://github.com/PesBandi)! + - Handled a culture not found error when checking for right-to-left languages. + - Fixed the WebSearch plugin results title being trimmed in the UI. Thanks [@octastylos-pseudodipteros](https://github.com/octastylos-pseudodipteros)! + - The Unit Converter plugin will now show more significant digits. Thanks [@PesBandi](https://github.com/PesBandi)! + - Improved error handling when copying to the clipboard results in an error. Thanks [@PesBandi](https://github.com/PesBandi)! ### Quick Accent - - Add the Middle Eastern Romanization character set. Thanks [@PesBandi](https://github.com/PesBandi)! - - Add the degree sign, integral and vertical ellipsis when "All Languages" is selected. Thanks [@rddunphy](https://github.com/rddunphy)! + - Added support for the Serbian Cyrillic character set. Thanks [@Sirozha1337](https://github.com/Sirozha1337)! + +### Registry Preview + + - Adopted the Monaco Editor as the UI text editor. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! ### Settings - - Fixed the link to the Workspaces documentation. (This was a hotfix for 0.84) - - Fixed flyout issues after the Windows App SDK upgrade. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! - - Fixed initialization for the New+ settings page. Thanks [@htcfreek](https://github.com/htcfreek)! - - Fixed enabled state of a control on the New+ settings page if the module is enabled by policy. Thanks [@htcfreek](https://github.com/htcfreek)! - - Fixed a crash when cancelling the template folder selection in the New+ settings page. + - Fixed a crash when trying to access a non-existing templates folder from the New+ page. (This was a hotfix for 0.85) + - Added a navigation tree to group utilities in the left navigation menu. + - Sorted the list of languages in the language selection combo box in the General tab. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! + - Fixed the state of the info bar about templates not being backed up to not close and react to the module's enabled state in the New+ page. Thanks [@htcfreek](https://github.com/htcfreek)! + - Fixed a crash caused by a dangling thread. + - Clicking a notification about there being an update available should now correctly open the Settings application in the General tab. + - Fixed a UI freeze when trying to access the Diagnostic Data Viewer files. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! ### Workspaces - - Fixed detecting and snapping applications like Discord. (This was a hotfix for 0.84) - - Fixed detecting and snapping applications like Steam. (This was a hotfix for 0.84) - - Fixed button visibility in the UI. (This was a hotfix for 0.84) - - Fixed an issue launching the wrong project when the editor was closed without saving or cancelling a new project. - - Properly handle repositioning windows running as administrator. - - Properly handle cases where the monitor where a workspace was saved is no longer present. - - Fixed the workspace launcher restarting itself in a loop without success. - - Properly handle standalone applications. - - Fixed issues causing icons to not show. + - Fixed launching the incorrect workspace when launching many workspaces quickly through shortcuts. (This was a hotfix for 0.85) + - Fixed launching many instances of the same application in a workspace. + - Fixed a crash when a previously captured monitor ID no longer existed. + - Fixed an issue causing the wrong coordinates to be saved for minimized applications. + - Fixed an issue causing a crash when stress testing workspace launching. + - Fixed application launching when UAC is off and every application always runs elevated. ### Documentation - - Fixed the thirdPartyRunPlugins.md entry for the RDP plugin. Thanks [@YisroelTech](https://github.com/YisroelTech)! + - Added HackMD plugin mention to thirdPartyRunPlugins.md. Thanks [@8LWXpg](https://github.com/8LWXpg)! + - Added SSH plugin mention to thirdPartyRunPlugins.md. Thanks [@8LWXpg](https://github.com/8LWXpg)! + - Added the [Data and Privacy documentation](https://github.com/microsoft/PowerToys/blob/main/DATA_AND_PRIVACY.md) to the repo. ### Development - - Upgraded Windows App SDK to 1.6. - - Upgraded the Target Platform Version to 10.0.22621.0. - - Added a bot trigger to automatically add a label to Workspaces issues. Thanks [@plante-msft](https://github.com/plante-msft)! - - Fixed a regular expression in the bot triggers for wanting to submit community contributions. Thanks [@PesBandi](https://github.com/PesBandi)! - - Fixed analyzer errors after the Visual Studio 17.12 update. Thanks [@snickler](https://github.com/snickler)! - - Fixed the TSA configuration for release CI builds. - - Refactored automated file component generation during installer builds. - - Rewrote the Azure Devops build system to be more modular and share more definitions between PR CI and Release CI. - - Fixed debugging of the New+ page of the Settings application when a settings file was not present. - - Fixed setting the version of the App Manifest in the File Locksmith and New+ context menu app packages. - - Fixed abstracted UI library nuget package signing on release CI. - - Removed build status from GitHub README. + - Fixed the CI precheck action to take into account the recent changes in CI actions. + - Added the new Microsoft org issue types to the issue templates. Thanks [@Aaron-Junker](https://github.com/Aaron-Junker)! + - Updated System.Text.Json to 8.0.5 and System.Runtime.Caching to 8.0.1 and related dependencies to the latest to address security reports. Thanks [@snickler](https://github.com/snickler)! + - Updated WinAppSDK to 1.6.1 and CsWinRT to 2.1.5. Thanks [@snickler](https://github.com/snickler)! + - Upgraded the WpfUI dependency to 3.0.5. + - Updated MessagePack to 2.5.187 and StreamJsonRpc to 2.19.27 to address security reports. + - Removed some of the hacks that are no longer needed that tried to force same dependency versions in .csproj files. + - Removed the Markdown file exclusions from the conditions that trigger a full CI test. + - CI fails again when there are XAML style errors in a PR. + - Fixed CI actions that were not failing when one of the powershell scripts they tried to run was failing. + - Fixed analyzer violations to allow fully building PowerToys on Visual Studio 17.12. Thanks [@snickler](https://github.com/snickler)! -#### What is being planned for version 0.86 +#### What is being planned for version 0.87 -For [v0.86][github-next-release-work], we'll work on the items below: +For [v0.87][github-next-release-work], we'll work on the items below: - Stability / bug fixes - New module: File Actions Menu diff --git a/src/settings-ui/Settings.UI/SettingsXAML/Views/GeneralPage.xaml.cs b/src/settings-ui/Settings.UI/SettingsXAML/Views/GeneralPage.xaml.cs index e8e89cc7cd..a7b0bcf5dc 100644 --- a/src/settings-ui/Settings.UI/SettingsXAML/Views/GeneralPage.xaml.cs +++ b/src/settings-ui/Settings.UI/SettingsXAML/Views/GeneralPage.xaml.cs @@ -159,9 +159,9 @@ namespace Microsoft.PowerToys.Settings.UI.Views ViewModel.RefreshSettingsOnExternalChange(); } - private void ViewDiagnosticData_Click(object sender, RoutedEventArgs e) + private async void ViewDiagnosticData_Click(object sender, RoutedEventArgs e) { - ViewModel.ViewDiagnosticData(); + await Task.Run(ViewModel.ViewDiagnosticData); } } }