@@ -38,7 +38,7 @@ public Task InitAsync(PluginInitContext context)
38
38
viewModel = new SettingsViewModel ( context , Settings ) ;
39
39
contextMenu = new ContextMenu ( Context ) ;
40
40
pluginManager = new PluginsManager ( Context , Settings ) ;
41
- _ = pluginManager . UpdateManifest ( ) . ContinueWith ( _ =>
41
+ _manifestUpdateTask = pluginManager . UpdateManifest ( ) . ContinueWith ( _ =>
42
42
{
43
43
lastUpdateTime = DateTime . Now ;
44
44
} , TaskContinuationOptions . OnlyOnRanToCompletion ) ;
@@ -50,6 +50,8 @@ public List<Result> LoadContextMenus(Result selectedResult)
50
50
{
51
51
return contextMenu . LoadContextMenus ( selectedResult ) ;
52
52
}
53
+
54
+ private Task _manifestUpdateTask = Task . CompletedTask ;
53
55
54
56
public async Task < List < Result > > QueryAsync ( Query query , CancellationToken token )
55
57
{
@@ -58,9 +60,9 @@ public async Task<List<Result>> QueryAsync(Query query, CancellationToken token)
58
60
if ( string . IsNullOrWhiteSpace ( search ) )
59
61
return pluginManager . GetDefaultHotKeys ( ) ;
60
62
61
- if ( ( DateTime . Now - lastUpdateTime ) . TotalHours > 12 ) // 12 hours
63
+ if ( ( DateTime . Now - lastUpdateTime ) . TotalHours > 12 && _manifestUpdateTask . IsCompleted ) // 12 hours
62
64
{
63
- _ = pluginManager . UpdateManifest ( ) . ContinueWith ( t =>
65
+ _manifestUpdateTask = pluginManager . UpdateManifest ( ) . ContinueWith ( t =>
64
66
{
65
67
lastUpdateTime = DateTime . Now ;
66
68
} , TaskContinuationOptions . OnlyOnRanToCompletion ) ;
0 commit comments