David Pisek activity https://gitlab.com/dpisek 2026-03-19T11:00:49Z tag:gitlab.com,2026-03-19:5221577975 David Pisek commented on issue #587655 at GitLab.org / GitLab 2026-03-19T11:00:49Z dpisek David Pisek

Thanks @nilieskou!

Looking at the schema, I noticed that it already doesn't include the fields that this issue captures to be hidden (#587655), is that correct?

tag:gitlab.com,2026-03-19:5221448643 David Pisek commented on merge request !227529 at GitLab.org / GitLab 2026-03-19T10:31:08Z dpisek David Pisek

@svedova That is the thing I tried to explain - it currently is not just !isPipelineComplete because we have the this.hasPipeline guard in place.

Without it, we could end up in a state where there is no pipeline and isPipelineIsRunning is true, right?

tag:gitlab.com,2026-03-19:5221205739 David Pisek commented on merge request !227529 at GitLab.org / GitLab 2026-03-19T09:35:03Z dpisek David Pisek

@svedova Apologies for jumping in, as I was also thinking about this when I suggested it to change to this 😅

isPipelineComplete is false when:

  1. MR not loaded yet (mr === null)
  2. MR loaded, but no pipeline
  3. Pipeline running

isPipelineRunning should only be true in case 3 (Pipeline running). If we drop the hasPipeline check, then it would become true for cases 1, 2 (not loaded, no pipeline) as well.

I think this shows exactly where boolean state falls apart and is so difficult to reason about.

One idea could be using a simple state machine, which really helps to express the different states in a more digestible way:

pipelineState() {
  if (!this.mr) return 'loading';
  if (!this.mr.pipelineIid) return 'no-pipeline';
  if (this.mr.isPipelineActive) return 'running';
  return 'complete';
} 

// ...

statusMessage() {
  if (this.pipelineState === 'running') return s__('MrReports|Waiting for pipeline to complete.');
  if (this.pipelineState === 'no-pipeline') return s__('MrReports|No pipelines started yet...');
  return '';
},

The template would also be quite straightforward. Eg.:

v-if="pipelineState === 'complete'"

We could also use constants for the states.

But just an idea, and maybe something for a follow-up? 🤔

tag:gitlab.com,2026-03-19:5221081871 David Pisek pushed to project branch master at GitLab.org / GitLab 2026-03-19T09:07:15Z dpisek David Pisek

David Pisek (38286291) at 19 Mar 09:07

Merge branch 'add-code-quality-widget-specs' into 'master'

... and 1 more commit

tag:gitlab.com,2026-03-19:5221071994 David Pisek deleted project branch add-code-quality-widget-specs at GitLab.org / GitLab 2026-03-19T09:04:47Z dpisek David Pisek

David Pisek (56300fec) at 19 Mar 09:04

tag:gitlab.com,2026-03-19:5221070145 David Pisek accepted merge request !227676: Add code quality widget specs + fix incorrect field name at GitLab.org / GitLab 2026-03-19T09:04:17Z dpisek David Pisek

What does this MR do and why?

Changes:

  1. Add missing specs for the code quality widget
  2. Update the text to use the correct field name:
- check_name
+ engine_name

References

Screenshots or screen recordings

Before After
image image

How to set up and validate locally

  1. Clone this repo and create a MR similar to this: gitlab-org/govern/threat-insights-demos/frontend/mr-reports-code-quality!3
  2. Run a successful pipeline and it will generate some findings
  3. Expand the code quality widget, it will render the data correctly

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

tag:gitlab.com,2026-03-19:5221062324 David Pisek commented on merge request !227676 at GitLab.org / GitLab 2026-03-19T09:02:17Z dpisek David Pisek

LGTM @sming-gitlab - nice work! Approved and setting-auto merge!

tag:gitlab.com,2026-03-19:5221059634 David Pisek approved merge request !227676: Add code quality widget specs + fix incorrect field name at GitLab.org / GitLab 2026-03-19T09:01:35Z dpisek David Pisek

What does this MR do and why?

Changes:

  1. Add missing specs for the code quality widget
  2. Update the text to use the correct field name:
- check_name
+ engine_name

References

Screenshots or screen recordings

Before After
image image

How to set up and validate locally

  1. Clone this repo and create a MR similar to this: gitlab-org/govern/threat-insights-demos/frontend/mr-reports-code-quality!3
  2. Run a successful pipeline and it will generate some findings
  3. Expand the code quality widget, it will render the data correctly

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

tag:gitlab.com,2026-03-19:5220966942 David Pisek commented on merge request !227864 at GitLab.org / GitLab 2026-03-19T08:38:22Z dpisek David Pisek

Ah, very nice @svedova! I really like the idea and will tackle it in a follow-up 🤝

tag:gitlab.com,2026-03-19:5220954082 David Pisek commented on merge request !227676 at GitLab.org / GitLab 2026-03-19T08:34:53Z dpisek David Pisek

On it next @sming-gitlab 👍

tag:gitlab.com,2026-03-18:5219008856 David Pisek commented on merge request !227864 at GitLab.org / GitLab 2026-03-18T18:27:46Z dpisek David Pisek

Thanks, Becka! I'll keep that in mind 👍

tag:gitlab.com,2026-03-18:5218994542 David Pisek commented on merge request !227864 at GitLab.org / GitLab 2026-03-18T18:22:48Z dpisek David Pisek

Thanks for the quick and thorough review @lorenzvanherwaarden! I followed your great suggestion and changed the token's type.

@svedova - Could you please maintainerize? 🙏

tag:gitlab.com,2026-03-18:5218988847 David Pisek commented on merge request !227864 at GitLab.org / GitLab 2026-03-18T18:20:56Z dpisek David Pisek

That is a great point @lorenzvanherwaarden! I could imagine that the could expand in the future, so I am changing it to malware (also following the existing pattern) 👍

tag:gitlab.com,2026-03-18:5218975704 David Pisek pushed to project branch 587760-frontend-add-filter-token-to-project-vulnerability-report at GitLab.org / GitLab 2026-03-18T18:17:11Z dpisek David Pisek

David Pisek (440c2909) at 18 Mar 18:17

Feedback: change token type

tag:gitlab.com,2026-03-18:5218084062 David Pisek commented on merge request !227883 at GitLab.org / GitLab 2026-03-18T14:59:11Z dpisek David Pisek

Yes, nice work @svedova - approved!

tag:gitlab.com,2026-03-18:5218082737 David Pisek approved merge request !227883: Add vulnerabilities by age chart to project dashboard at GitLab.org / GitLab 2026-03-18T14:58:56Z dpisek David Pisek

What does this MR do and why?

Add vulnerabilities by age chart to project dashboard

Implement the Vulnerabilities By Age chart for the project-level security dashboard, bringing feature parity with the group-level dashboard while appropriately simplifying for project-level scope.

References

Screenshots or screen recordings

gdk.test_3000_gitlab-org_security-reports_-security_dashboard_vulnerabilitiesByAge.groupBy_reportType__1

How to set up and validate locally

  1. Enable feature flag: project_total_risk_score_chart (http://gdk.test:3000/rails/features/project_vulnerabilities_by_age_chart)
  2. Make sure to have a project with vulnerabilities
  3. Visit Secure > Security Dashboard
  4. Validate Vulnerabilities By Age is showing as expected

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to gitlab-org#21021

tag:gitlab.com,2026-03-18:5217903115 David Pisek approved merge request !227529: Handle pipeline lifecycle state in MR reports at GitLab.org / GitLab 2026-03-18T14:25:06Z dpisek David Pisek

What does this MR do and why?

Handle different lifecycle for MR reports:

  1. No pipeline: display status message
  2. Pipeline is loading: display loading message
  3. Pipeline is complete: render reports
1. No Pipeline 2. Pipeline loading 2. Pipeline complete
image image image

MR Series

Changes MR
Handle pipeline lifecycle state 👈 this MR
#593748 tbd

References

Screenshots or screen recordings

Before After

How to set up and validate locally

  1. Enable FF:
  2. Clone this repo and create a MR similar to this:
  3. Run a pipeline and while it's loading, click on the "Reports" tab, it should render the loading message
  4. After pipeline has ran successful, click on the "Reports" tab:
    • No pipeline: it renders the status message
    • Has pipeline: it renders the report + nav (happy path)

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #593551

tag:gitlab.com,2026-03-18:5217902683 David Pisek commented on merge request !227529 at GitLab.org / GitLab 2026-03-18T14:25:00Z dpisek David Pisek

thought: First off, a praise: Thanks for making this more accessible!

One thought, I think it is not ideal to remove/add live-regions from the DOM. I believe some screen readers might miss it, when we move from the "loading" to the "loaded" state.

Here is a great read around this: https://k9n.dev/blog/2025-11-aria-live

tag:gitlab.com,2026-03-18:5217902659 David Pisek commented on merge request !227529 at GitLab.org / GitLab 2026-03-18T14:25:00Z dpisek David Pisek

Nice one @sming-gitlab, another series to watch 🍿

The changes LGTM! I just left a non-blocking suggestion and a ally thought, so I'll also go ahead and approve 🤝

tag:gitlab.com,2026-03-18:5217902649 David Pisek commented on merge request !227529 at GitLab.org / GitLab 2026-03-18T14:25:00Z dpisek David Pisek

suggestion (non-blocking): maybe we could slightly improve readability here. Something like:

    hasPipeline() {
      return Boolean(this.mr?.pipelineIid);
    },
    isPipelineComplete() {
      return this.hasPipeline && !this.mr.isPipelineActive;
    },
    isPipelineRunning() {
      return this.hasPipeline && !this.isPipelineComplete;
    },
    hasNoPipeline() {
      return Boolean(this.mr) && !this.hasPipeline;
    },

But also happy to leave as-is 👍