diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index c505c32a3c9..228e66edb25 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -1215,10 +1215,14 @@ private async Task QueryResultsAsync(bool searchDelay, bool isReQuery = false, b { _updateSource?.Cancel(); + App.API.LogDebug(ClassName, $"Start query with text: <{QueryText}>"); + var query = await ConstructQueryAsync(QueryText, Settings.CustomShortcuts, Settings.BuiltinShortcuts); if (query == null) // shortcut expanded { + App.API.LogDebug(ClassName, $"Clear query results"); + // Hide and clear results again because running query may show and add some results Results.Visibility = Visibility.Collapsed; Results.Clear(); @@ -1233,6 +1237,8 @@ private async Task QueryResultsAsync(bool searchDelay, bool isReQuery = false, b return; } + App.API.LogDebug(ClassName, $"Start query with ActionKeyword <{query.ActionKeyword}> and RawQuery <{query.RawQuery}>"); + _updateSource = new CancellationTokenSource(); ProgressBarVisibility = Visibility.Hidden; @@ -1253,6 +1259,9 @@ private async Task QueryResultsAsync(bool searchDelay, bool isReQuery = false, b var plugins = PluginManager.ValidPluginsForQuery(query); + var validPluginNames = plugins.Select(x => $"<{x.Metadata.Name}>"); + App.API.LogDebug(ClassName, $"Valid <{plugins.Count}> plugins: {string.Join(" ", validPluginNames)}"); + if (plugins.Count == 1) { PluginIconPath = plugins.Single().Metadata.IcoPath; @@ -1321,6 +1330,8 @@ private async Task QueryResultsAsync(bool searchDelay, bool isReQuery = false, b // Local function async Task QueryTaskAsync(PluginPair plugin, CancellationToken token) { + App.API.LogDebug(ClassName, $"Wait for querying plugin <{plugin.Metadata.Name}>"); + if (searchDelay) { var searchDelayTime = plugin.Metadata.SearchDelayTime ?? Settings.SearchDelayTime; @@ -1359,6 +1370,8 @@ async Task QueryTaskAsync(PluginPair plugin, CancellationToken token) if (token.IsCancellationRequested) return; + App.API.LogDebug(ClassName, $"Update results for plugin <{plugin.Metadata.Name}>"); + if (!_resultsUpdateChannelWriter.TryWrite(new ResultsForUpdate(resultsCopy, plugin.Metadata, query, token, reSelect))) { @@ -1448,6 +1461,8 @@ private void RemoveOldQueryResults(Query query) { if (_lastQuery?.ActionKeyword != query?.ActionKeyword) { + App.API.LogDebug(ClassName, $"Remove old results"); + Results.Clear(); } }