Feat: Add new Note Session Status Bar component to Merge Request comments

What does this MR do and why?

This MR adds the "Session Bar" to the Notes/Comments components for Merge Requests. This does not yet remove the comment as that will have to be in a follow up (as this MR is getting rather large). I have also split off the Work Items part to this MR !250297 (merged) so this one can move forward.

References

Screenshots or screen recordings

Work Items and Merge Request comments should look the same. This MR focuses only on the merge request comments and setting up the session bar component.

New Comments:

Status Before After After (Hover)
Running Screenshot_2026-08-12_at_8.52.15_AM Screenshot_2026-08-18_at_3.03.59_PM Screenshot_2026-08-18_at_3.04.06_PM
Awaiting Input Screenshot_2026-08-12_at_8.52.15_AM Screenshot_2026-08-18_at_3.00.07_PM Screenshot_2026-08-18_at_3.01.31_PM
Paused Screenshot_2026-08-12_at_8.52.15_AM Screenshot_2026-08-18_at_2.59.25_PM Screenshot_2026-08-18_at_3.01.17_PM
Failed/Stopped Screenshot_2026-08-12_at_8.52.15_AM Screenshot_2026-08-18_at_2.58.21_PM Screenshot_2026-08-18_at_3.02.45_PM
Finished Screenshot_2026-08-12_at_8.52.15_AM Screenshot_2026-08-12_at_8.52.15_AM N/A
Dark Mode (no hover) Dark Mode (hover)
Screenshot_2026-08-18_at_3.17.09_PM Screenshot_2026-08-18_at_3.17.21_PM

Existing Comments:

Status Before After After (Hover)
Running Screenshot_2026-08-12_at_8.56.59_AM Screenshot_2026-08-18_at_3.58.04_PM Screenshot_2026-08-18_at_3.58.11_PM
Awaiting Input Screenshot_2026-08-12_at_8.56.59_AM Screenshot_2026-08-18_at_3.00.21_PM Screenshot_2026-08-18_at_3.58.48_PM
Paused Screenshot_2026-08-12_at_8.56.59_AM Screenshot_2026-08-18_at_2.59.04_PM
Failed/Stopped Screenshot_2026-08-12_at_8.56.59_AM Screenshot_2026-08-18_at_2.58.31_PM Screenshot_2026-08-18_at_3.59.23_PM
Finished Screenshot_2026-08-12_at_8.56.59_AM Screenshot_2026-08-18_at_3.02.20_PM N/A
Dark Mode (no hover) Dark Mode (hover)
Screenshot_2026-08-18_at_3.57.18_PM Screenshot_2026-08-18_at_3.57.32_PM
Screen Recording

How to set up and validate locally

For DAP/General Setup

Adding Sessions

  1. A: If you see no Sessions, you can trigger one that displays a Pipeline/Job by going to an Issue within your Duo enabled project and clicking the Generate MR with Duo button. It should trigger a new session that you can open up.
  2. B: You can also run the following query bundle exec rake "gitlab:duo_workflow:populate[50,20,1,<<YOUR_TEST_GROUP_PATH_HERE>>]" to create new agent sessions. Refresh the page. Make sure the group you are testing in has Duo assigned (see DAP setup above).

Test Comments (The Actual Testing)

  1. Make sure you are in a Duo enabled projects where Sessions permissions have been set.

Test New Comments

  1. Go to any Work Item (Left rail: Work items, then select a Work Item)
  2. In the comments area, type a new comment and tag an agent (ex: @duo-developer could you count to 10)
  3. See the new Session status bar displays when a Session starts (ignore the comment status for the time being).
  4. Validate a new Session has started in your Side Panel sessions tab.
  5. Click the Session bar and validate a new tab opens with the Sessions page (avoided going to Side Panel as any user could click this and Side Panel is specific only to the user)
  6. When the Session completes, the bar goes away. If the Session fails, the bar will still display with an error status. If the Session is awaiting input, the bar will still display with awaiting input message (follow up, add waiting reasoning).

Test Existing Comments

  1. Go to any Work Item (Left rail: Work items, then select a Work Item)
  2. In the comments area, find an existing comment and tag an agent in a thread (ex: @duo-developer could you count to 10)
  3. See the new Session status bar displays when a Session starts (ignore the comment status for the time being).
  4. Validate a new Session has started in your Side Panel sessions tab.
  5. Click the Session bar and validate a new tab opens with the Sessions page (avoided going to Side Panel as any user could click this and Side Panel is specific only to the user)
  6. When the Session completes, the bar goes away. If the Session fails, the bar will still display with an error status. If the Session is awaiting input, the bar will still display with awaiting input message (follow up, add waiting reasoning).

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 #605532 (closed)

Edited by Lindsey Shelton

Merge request reports

Loading
Loading