Draft: GitLab fixes for the @gitlab/ui bootstrap-vue template rewrite (do not merge)

⚠️ Disclaimer: 100% AI-generated

Every line of this MR was written by Claude (Opus 5.5) in Claude Code, directed and supervised by @xanf. Do not merge. This is the consumer-side companion of the @gitlab/ui draft gitlab-org/gitlab-services/design.gitlab.com!6550 (replace the vendored bootstrap-vue render-function implementation with Vue-3-portable templates).

What this is

The bot integration MR !264131 points @gitlab/ui at the draft's package build. This MR is that same integration commit plus the GitLab-side spec/code fixes the draft needs, so the full suite (pipeline:run-all-jest, pipeline:run-all-rspec) can be green in one place.

Fixes on top of the integration commit

Each passes with the released @gitlab/ui too (except the SLA snapshot line in 4) and can land on master before the bump.

  1. Check hidden lazy modals by text instead of empty HTML: VTU 2 serializes the hidden modal's v-if placeholder as <!---->; the DOM is unchanged.
  2. Use GlDropdown public methods instead of its internal dropdown ref (blocking for the bump): 4 components used GlDropdown's private $refs.dropdown; without this the alert sidebar "Edit" assignee button silently stops opening its menu. Falls back on releases without the public updatePopper().
  3. Find GlTable header cells by element instead of component (AI settings tables).
  4. Check lazy GlTab stubs independently of the prop declaration (MR dashboard lazy tab, SLA snapshot).
  5. Mount real tabs in the DevOps adoption app spec.
  6. Use Vue 2 transition class attribute names in snapshots (serializer, one snapshot for both jest lanes).
  7. Find GlTable body rows by element instead of component (AI settings tables, alert management table).

Result

Pipeline https://gitlab.com/gitlab-org/gitlab/-/pipelines/2977009348 on the package of the final series of gitlab-org/gitlab-services/design.gitlab.com!6550: every jest job (Vue 2, Vue 3, fixtures, integration) and every rspec job (unit, integration, migration, system 27/27, ee system 15/15, …) passed; e2e child pipelines passed. Red only: untamper-my-lockfile (cannot parse the package tarball URL, as on every integration MR), the start-as-if-foss bridge, and allow-failure bundle-size-review / pajamas_adoption.

🤖 Generated with Claude Code

Edited by Illya Klymov

Merge request reports

Loading
Loading