From eb379f4f869ac7fb994a84a00d2e0e1b37a89d24 Mon Sep 17 00:00:00 2001 From: Sanjula Ganepola Date: Sun, 17 Nov 2024 17:31:37 -0500 Subject: [PATCH] Fix installation of act Signed-off-by: Sanjula Ganepola --- src/act.ts | 12 ++++++++++-- src/componentsManager.ts | 2 +- src/views/components/componentsTreeDataProvider.ts | 1 - 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/act.ts b/src/act.ts index b58fe1c..d5f83ff 100644 --- a/src/act.ts +++ b/src/act.ts @@ -1,7 +1,7 @@ import * as path from "path"; import { commands, ExtensionContext, ShellExecution, TaskGroup, TaskPanelKind, TaskRevealKind, tasks, TaskScope, Uri, window, workspace, WorkspaceFolder } from "vscode"; import { ComponentsManager } from "./componentsManager"; -import { historyTreeDataProvider } from './extension'; +import { componentsTreeDataProvider, historyTreeDataProvider } from './extension'; import { HistoryManager, HistoryStatus } from './historyManager'; import { SettingsManager } from './settingsManager'; import { StorageKey, StorageManager } from './storageManager'; @@ -147,6 +147,14 @@ export class Act { } }); + // Refresh components view after installation + tasks.onDidEndTask(e => { + const taskDefinition = e.execution.task.definition; + if (taskDefinition.type === 'nektos/act installation') { + componentsTreeDataProvider.refresh(); + } + }); + tasks.onDidStartTaskProcess(e => { const taskDefinition = e.execution.task.definition; if (taskDefinition.type === 'GitHub Local Actions') { @@ -307,7 +315,7 @@ export class Act { await tasks.executeTask({ name: 'nektos/act', detail: 'Install nektos/act', - definition: { type: 'GitHub Local Actions' }, + definition: { type: 'nektos/act installation' }, source: 'GitHub Local Actions', scope: TaskScope.Workspace, isBackground: true, diff --git a/src/componentsManager.ts b/src/componentsManager.ts index 8163299..4e48f5c 100644 --- a/src/componentsManager.ts +++ b/src/componentsManager.ts @@ -168,7 +168,7 @@ export class ComponentsManager { return; } - window.showInformationMessage('Once Docker Engine is successfully started, refresh the components view.', 'Refresh').then(async value => { + window.showInformationMessage('Once Docker Engine is successfully started (this could take a few seconds), refresh the components view.', 'Refresh').then(async value => { if (value === 'Refresh') { componentsTreeDataProvider.refresh(); } diff --git a/src/views/components/componentsTreeDataProvider.ts b/src/views/components/componentsTreeDataProvider.ts index 29d0021..725f931 100644 --- a/src/views/components/componentsTreeDataProvider.ts +++ b/src/views/components/componentsTreeDataProvider.ts @@ -22,7 +22,6 @@ export default class ComponentsTreeDataProvider implements TreeDataProvider { await componentTreeItem.component.installation(); - this.refresh(); }), commands.registerCommand('githubLocalActions.startComponent', async (componentTreeItem: ComponentTreeItem) => { const start = componentTreeItem.component.start;