in src/desktop/tree_view/current_branch_data_provider.ts [133:164]
async getChildren(item: ItemModel | undefined): Promise<(ItemModel | vscode.TreeItem)[]> {
if (item) return item.getChildren();
this.#pipelineItem?.dispose();
this.#pipelineItem = undefined;
if (this.#state.type === 'invalid') {
this.disposeMrItem();
return CurrentBranchDataProvider.renderInvalidState(this.#state);
}
if (this.#state.type === 'branch') {
const mrItem = this.createMrItem(this.#state);
const pipelineItem = this.createPipelineItem(this.#state);
const closingIssuesItems = CurrentBranchDataProvider.createClosingIssueItems(
this.#state.projectInRepository.pointer.repository.rootFsPath,
this.#state.issues,
);
if (getLocalFeatureFlagService().isEnabled(FeatureFlag.SecurityScans)) {
const securityFindingsItem = CurrentBranchDataProvider.createSecurityFindingsItem(
this.#state,
);
return [pipelineItem, mrItem, ...closingIssuesItems, securityFindingsItem];
}
return [pipelineItem, mrItem, ...closingIssuesItems];
}
if (this.#state.type === 'tag') {
this.disposeMrItem();
const pipelineItem = this.createPipelineItem(this.#state);
return [pipelineItem];
}
throw new Error('Unknown head ref state type');
}