in src/desktop/status_bar.ts [67:104]
async updatePipelineItem(
pipeline: RestPipeline | undefined,
jobs: RestJob[],
projectInRepository: ProjectInRepository,
): Promise<void> {
if (!this.pipelineStatusBarItem) return;
if (!pipeline) {
this.pipelineStatusBarItem.text = 'No pipeline';
this.pipelineStatusBarItem.show();
this.firstRun = false;
return;
}
const { status } = pipeline;
const statusText = getStatusText(status);
const msg = `$(${iconForStatus[status]?.icon}) Pipeline ${statusText}`;
if (
showPipelineUpdateNotifications &&
this.pipelineStatusBarItem.text !== msg &&
!this.firstRun
) {
const message = `Pipeline ${statusText}`;
await vscode.window
.showInformationMessage(message, { modal: false }, 'View in GitLab')
.then(async selection => {
if (selection === 'View in GitLab') {
await openers.openCurrentPipeline(projectInRepository);
}
return undefined;
});
}
this.pipelineStatusBarItem.text = msg;
this.pipelineStatusBarItem.show();
this.firstRun = false;
}