Denys Mishunov activity https://gitlab.com/dmishunov 2026-03-20T03:19:36Z tag:gitlab.com,2026-03-19:5222961200 Denys Mishunov closed issue #594096: Fix broken 'Learn more' link on No Credits empty state view at GitLab.org / GitLab 2026-03-19T16:07:24Z dmishunov Denys Mishunov [email protected] tag:gitlab.com,2026-03-19:5222958894 Denys Mishunov commented on merge request !228074 at GitLab.org / GitLab 2026-03-19T16:06:55Z dmishunov Denys Mishunov [email protected]

Oh! That's interesting. I've hit this when implementing Duo UI Next in a Web Component and it didn't work as expected. But I've click-tested again and you both are absolutely right - the link as implemented currently goes to the right document. I stand corrected - the issue is somewhere in my implementation in this case.

Closing the MR now.

tag:gitlab.com,2026-03-19:5222957728 Denys Mishunov closed merge request !228074: Fix broken 'Learn more' link on No Credits empty state view at GitLab.org / GitLab 2026-03-19T16:06:40Z dmishunov Denys Mishunov [email protected]

Summary

The 'Learn more' button on the No Credits empty state view linked to a non-existing page (user/duo_agent_platform/_index). This MR fixes it by pointing to the correct GitLab Credits documentation page (subscriptions/gitlab_credits).

Changes

  • Updated helpPagePath in no_credits_empty_state.vue from user/duo_agent_platform/_index to subscriptions/gitlab_credits
  • Updated the corresponding test assertion to match the new URL
tag:gitlab.com,2026-03-19:5222056783 Denys Mishunov opened merge request !228074: Fix broken 'Learn more' link on No Credits empty state view at GitLab.org / GitLab 2026-03-19T13:00:23Z dmishunov Denys Mishunov [email protected]

Summary

The 'Learn more' button on the No Credits empty state view linked to a non-existing page (user/duo_agent_platform/_index). This MR fixes it by pointing to the correct GitLab Credits documentation page (subscriptions/gitlab_credits).

Changes

  • Updated helpPagePath in no_credits_empty_state.vue from user/duo_agent_platform/_index to subscriptions/gitlab_credits
  • Updated the corresponding test assertion to match the new URL
tag:gitlab.com,2026-03-19:5222056083 Denys Mishunov commented on merge request !228074 at GitLab.org / GitLab 2026-03-19T13:00:14Z dmishunov Denys Mishunov [email protected]

@kgreif, since you have added the original link, could you please review this change?

tag:gitlab.com,2026-03-19:5222051030 Denys Mishunov pushed new project branch 594096-learn-more-link-fix at GitLab.org / GitLab 2026-03-19T12:59:15Z dmishunov Denys Mishunov [email protected]

Denys Mishunov (3e38cf00) at 19 Mar 12:59

Fix broken Learn more link in No Credits empty state

tag:gitlab.com,2026-03-19:5221721098 Denys Mishunov opened issue #594096: Fix broken 'Learn more' link on No Credits empty state view at GitLab.org / GitLab 2026-03-19T11:37:36Z dmishunov Denys Mishunov [email protected]

The learnMorePath in ee/app/assets/javascripts/ai/duo_agentic_chat/components/no_credits_empty_state.vue points to a non-existing URL:

https://docs.gitlab.com/user/duo_agent_platform/_index

The correct URL should be:

https://docs.gitlab.com/subscriptions/gitlab_credits/

This means the 'Learn more' button on the No Credits empty state view leads to a 404 page.

Steps to reproduce

  1. Open the Duo Agentic Chat panel in a state where credits are exhausted (No Credits empty state is displayed)
  2. Click the 'Learn more' button
  3. The link resolves to a non-existing page

Expected behavior

The 'Learn more' button links to https://docs.gitlab.com/subscriptions/gitlab_credits/

Actual behavior

The 'Learn more' button links to https://docs.gitlab.com/user/duo_agent_platform/_index which does not exist (404)

File affected

ee/app/assets/javascripts/ai/duo_agentic_chat/components/no_credits_empty_state.vue

tag:gitlab.com,2026-03-17:5214571301 Denys Mishunov opened merge request !227754: Duo UI Next initial components integration at GitLab.org / GitLab 2026-03-17T20:08:58Z dmishunov Denys Mishunov [email protected]

What does this MR do and why?

This merge request refactors the Agentic Duo Chat interface to use Duo UI Next components. The refactoring happens behind the feature flag (:duo_ui_next) and isn't available to anybody outside of local development just yet.

The current state (in this MR) does several things:

  • adds initial Duo UI Next components + standard shadcn-vue components/primitives
  • fine-tunes components where needed
  • adds GitLab theme from Duo UI Next
  • adjusts the setup so that the components and the theme work as expected

⚠️ No functionality is connected just yet (incl. switching the tabs, minimizing/maximizing functionality, etc.) - the current state is a dummy showing off different components (which are not even necessarily going to look like they do now). This is a PoC level of integration for now.

References

Screenshots or screen recordings

Flag OFF Flag ON
Screenshot_2026-03-17_at_19.18.14 Screenshot_2026-03-17_at_19.17.17

How to set up and validate locally

  1. In rails console enable the feature flag
    Feature.enable(:duo_ui_next)
  2. Visit any page in a project with Duo enabled. It doesn't matter whether you had AI Panel expanded or collapsed before enabling the flag - the Duo UI Next driven dummy will be shown by default

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 #569711

tag:gitlab.com,2026-03-17:5214508666 Denys Mishunov pushed to project branch 569711-duo-ui-next-chat-component at GitLab.org / GitLab 2026-03-17T19:47:11Z dmishunov Denys Mishunov [email protected]

Denys Mishunov (3ce3dd76) at 17 Mar 19:47

Fixed portal issue for components requiring it

... and 768 more commits

tag:gitlab.com,2026-03-17:5214129032 Denys Mishunov deleted project branch feat-theme-distribution-and-web-component-docs at GitLab.org / Duo UI Next 2026-03-17T17:48:56Z dmishunov Denys Mishunov [email protected]

Denys Mishunov (173496ed) at 17 Mar 17:48

tag:gitlab.com,2026-03-17:5214128702 Denys Mishunov pushed to project branch main at GitLab.org / Duo UI Next 2026-03-17T17:48:50Z dmishunov Denys Mishunov [email protected]

Denys Mishunov (3b2aa705) at 17 Mar 17:48

Merge branch 'feat-theme-distribution-and-web-component-docs' into ...

... and 1 more commit

tag:gitlab.com,2026-03-17:5214128692 Denys Mishunov accepted merge request !47: feat: improve theme distribution and add web component docs at GitLab.org / Duo UI Next 2026-03-17T17:48:50Z dmishunov Denys Mishunov [email protected]

Changes

  • Theme Registry Changes: Renamed theme files from theme-default to theme_default and theme-gitlab to theme_gitlab (using underscores instead of hyphens) and updated file paths accordingly.
  • File Reorganization: Moved theme files to new locations with updated naming conventions to be more consistent with the project structure.
  • Documentation Updates: Added comprehensive guidance for using themes inside web components/shadow DOM, explaining why the standard :root selectors don't work and how to use :host selectors instead. Also added troubleshooting sections for common theme issues.
  • New Story Examples: Added three new story variations for the Agentic Chat component - a canonical chat view, new thread view, and welcome view - providing more comprehensive examples for developers.

The changes primarily focus on making the theming system more robust for different deployment scenarios (especially web components) while improving developer experience through better documentation and examples.

tag:gitlab.com,2026-03-17:5213678089 Denys Mishunov pushed to project branch feat-theme-distribution-and-web-component-docs at GitLab.org / Duo UI Next 2026-03-17T16:00:00Z dmishunov Denys Mishunov [email protected]

Denys Mishunov (0d64d4b4) at 17 Mar 16:00

feat: extended Agentic Chat with stories for Welcome and New states

tag:gitlab.com,2026-03-17:5213536355 Denys Mishunov opened merge request !47: feat: improve theme distribution and add web component docs at GitLab.org / Duo UI Next 2026-03-17T15:29:15Z dmishunov Denys Mishunov [email protected]

Changes

  • Theme Registry Changes: Renamed theme files from theme-default to theme_default and theme-gitlab to theme_gitlab (using underscores instead of hyphens) and updated file paths accordingly.
  • File Reorganization: Moved theme files to new locations with updated naming conventions to be more consistent with the project structure.
  • Documentation Updates: Added comprehensive guidance for using themes inside web components/shadow DOM, explaining why the standard :root selectors don't work and how to use :host selectors instead. Also added troubleshooting sections for common theme issues.
  • New Story Examples: Added three new story variations for the Agentic Chat component - a canonical chat view, new thread view, and welcome view - providing more comprehensive examples for developers.

The changes primarily focus on making the theming system more robust for different deployment scenarios (especially web components) while improving developer experience through better documentation and examples.

tag:gitlab.com,2026-03-17:5213534208 Denys Mishunov pushed to project branch feat-theme-distribution-and-web-component-docs at GitLab.org / Duo UI Next 2026-03-17T15:28:55Z dmishunov Denys Mishunov [email protected]

Denys Mishunov (a269a81b) at 17 Mar 15:28

feat: extended Agentic Chat with stories for Welcome and New states

... and 2 more commits

tag:gitlab.com,2026-03-17:5213399132 Denys Mishunov pushed new project branch feat-theme-distribution-and-web-component-docs at GitLab.org / Duo UI Next 2026-03-17T15:02:42Z dmishunov Denys Mishunov [email protected]

Denys Mishunov (2072f3bd) at 17 Mar 15:02

tag:gitlab.com,2026-03-17:5213332686 Denys Mishunov commented on merge request !17985 at GitLab.com / Content Sites / handbook 2026-03-17T14:50:08Z dmishunov Denys Mishunov [email protected]

Interesting observation: I was running some analysis while working on Duo UI Next implementation and figured out that the topic of Fragmented State Management is even better than outlined in this document when we account for states coming from the AI Panel and agents as well. What we have:

System What It Manages
Vue.observable (duoChatGlobalState) Active tab, commands queue, agent state
Vuex User agent selection, model selection
Apollo Cache + reactive vars Messages, thread ID, tab state
Raw WebSocket Real-time message streaming
Event Hub (eventHub) Cross-component signaling
provide/inject chatConfiguration (incl. Vue constructors!)
Browser storage (cookie/localStorage) Tab persistence, settings

This is just to highlight the issue with the current implementation

tag:gitlab.com,2026-03-17:5212328959 Denys Mishunov deleted project branch fix-visual-regression-pixelmatch-comparison at GitLab.org / Duo UI Next 2026-03-17T11:21:47Z dmishunov Denys Mishunov [email protected]

Denys Mishunov (9e06a298) at 17 Mar 11:21

tag:gitlab.com,2026-03-17:5212328516 Denys Mishunov pushed to project branch main at GitLab.org / Duo UI Next 2026-03-17T11:21:41Z dmishunov Denys Mishunov [email protected]

Denys Mishunov (2072f3bd) at 17 Mar 11:21

Merge branch 'fix-visual-regression-pixelmatch-comparison' into 'main'

... and 2 more commits