Integrate new Vue mirror table

What does this MR do and why?

Contributes to #595303

Problem

The final step of the Haml to Vue migration for mirror repositories wires the MirrorTable component into the repository settings page.

Solution

  • Wire mountMirrorTable into the CE and EE repository settings pages behind the vue_mirror_table feature flag, keeping the legacy HAML table when the flag is disabled.
  • Add frontend, helper, and view specs covering the new path.

References

Add enabled/disabled toggle for push mirrors in... (#595303)

Screenshots or screen recordings

Before After
Screenshot_2026-06-16_at_14.29.27 Screenshot_2026-06-16_at_14.29.46

How to set up and validate locally

This change is behind the vue_mirror_table feature flag (disabled by default).

  1. Enable the feature flag in a Rails console:
    Feature.enable(:vue_mirror_table)
  2. Go to a project's Settings > Repository and expand the Mirroring repositories section.
  3. Add one or more push mirrors (and, on EE with the repository_mirrors license, a pull mirror) and confirm the new Vue table renders with:
    • Repository URL, Direction, Last update attempt, Last successful update, Status, and Actions columns populated correctly (timestamps show a relative time, not "Never", once a sync has run).
    • On EE: the branch-settings badge appears when a branch filter is set, and the pull mirror row appears with the correct direction.
  4. Exercise the row actions and confirm they work and reflect state:
    • Update now triggers a sync.
    • Disable/Enable toggles a push mirror.
    • Remove deletes the mirror (deleting the pull mirror re-enables the mirror direction selector in the form).
  5. Verify the empty state ("There are currently no mirrored repositories.") shows when no mirrors exist.
  6. Disable the flag (Feature.disable(:vue_mirror_table)) and confirm the legacy HAML table still renders unchanged.

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.

Edited by Vasilii Iakliushin

Merge request reports

Loading