mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +01:00
Added bug report tool for QA
Signed-off-by: Shawn Yuan (from Dev Box) <shuaiyuan@microsoft.com>
This commit is contained in:
@@ -70,6 +70,7 @@ public sealed partial class LaunchPage : Page
|
|||||||
|
|
||||||
public void ReportBugBtn_Click(object sender, RoutedEventArgs e)
|
public void ReportBugBtn_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
|
_coordinator?.ReportBug();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateInfoBar_Tapped(object sender, TappedRoutedEventArgs e)
|
private void UpdateInfoBar_Tapped(object sender, TappedRoutedEventArgs e)
|
||||||
|
|||||||
@@ -23,5 +23,7 @@ public interface IQuickAccessCoordinator
|
|||||||
|
|
||||||
bool UpdateModuleEnabled(ModuleType moduleType, bool isEnabled);
|
bool UpdateModuleEnabled(ModuleType moduleType, bool isEnabled);
|
||||||
|
|
||||||
|
void ReportBug();
|
||||||
|
|
||||||
void OnModuleLaunched(ModuleType moduleType);
|
void OnModuleLaunched(ModuleType moduleType);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,6 +87,14 @@ internal sealed class QuickAccessCoordinator : IQuickAccessCoordinator, IDisposa
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ReportBug()
|
||||||
|
{
|
||||||
|
if (!TrySendIpcMessage("{\"bugreport\": 0 }", "bug report request"))
|
||||||
|
{
|
||||||
|
Logger.LogWarning("QuickAccessCoordinator: failed to dispatch bug report request; IPC unavailable.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void OnModuleLaunched(ModuleType moduleType)
|
public void OnModuleLaunched(ModuleType moduleType)
|
||||||
{
|
{
|
||||||
Logger.LogInfo($"QuickAccessLauncher invoked module {moduleType}.");
|
Logger.LogInfo($"QuickAccessLauncher invoked module {moduleType}.");
|
||||||
@@ -136,6 +144,11 @@ internal sealed class QuickAccessCoordinator : IQuickAccessCoordinator, IDisposa
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TrySendIpcMessage(payload, "general settings update");
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool TrySendIpcMessage(string payload, string operationDescription)
|
||||||
|
{
|
||||||
lock (_ipcLock)
|
lock (_ipcLock)
|
||||||
{
|
{
|
||||||
if (_ipcManager == null)
|
if (_ipcManager == null)
|
||||||
@@ -143,19 +156,21 @@ internal sealed class QuickAccessCoordinator : IQuickAccessCoordinator, IDisposa
|
|||||||
if (!_ipcUnavailableLogged)
|
if (!_ipcUnavailableLogged)
|
||||||
{
|
{
|
||||||
_ipcUnavailableLogged = true;
|
_ipcUnavailableLogged = true;
|
||||||
Logger.LogWarning("QuickAccessCoordinator: unable to send settings update because IPC is not available.");
|
Logger.LogWarning($"QuickAccessCoordinator: unable to send {operationDescription} because IPC is not available.");
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
_ipcManager.Send(payload);
|
_ipcManager.Send(payload);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.LogError("QuickAccessCoordinator: failed to send general settings update to runner.", ex);
|
Logger.LogError($"QuickAccessCoordinator: failed to send {operationDescription}.", ex);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user