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)
|
||||
{
|
||||
_coordinator?.ReportBug();
|
||||
}
|
||||
|
||||
private void UpdateInfoBar_Tapped(object sender, TappedRoutedEventArgs e)
|
||||
|
||||
@@ -23,5 +23,7 @@ public interface IQuickAccessCoordinator
|
||||
|
||||
bool UpdateModuleEnabled(ModuleType moduleType, bool isEnabled);
|
||||
|
||||
void ReportBug();
|
||||
|
||||
void OnModuleLaunched(ModuleType moduleType);
|
||||
}
|
||||
|
||||
@@ -87,6 +87,14 @@ internal sealed class QuickAccessCoordinator : IQuickAccessCoordinator, IDisposa
|
||||
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)
|
||||
{
|
||||
Logger.LogInfo($"QuickAccessLauncher invoked module {moduleType}.");
|
||||
@@ -136,6 +144,11 @@ internal sealed class QuickAccessCoordinator : IQuickAccessCoordinator, IDisposa
|
||||
return;
|
||||
}
|
||||
|
||||
TrySendIpcMessage(payload, "general settings update");
|
||||
}
|
||||
|
||||
private bool TrySendIpcMessage(string payload, string operationDescription)
|
||||
{
|
||||
lock (_ipcLock)
|
||||
{
|
||||
if (_ipcManager == null)
|
||||
@@ -143,19 +156,21 @@ internal sealed class QuickAccessCoordinator : IQuickAccessCoordinator, IDisposa
|
||||
if (!_ipcUnavailableLogged)
|
||||
{
|
||||
_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
|
||||
{
|
||||
_ipcManager.Send(payload);
|
||||
return true;
|
||||
}
|
||||
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