Install VueApollo in Geo replicables entry modules

What does this MR do and why?

Adds Vue.use(VueApollo) to the entry modules of these Geo replicables pages:

  • pages.admin.geo.replicables.index
  • pages.admin.geo.replicables.show

Both modules create new VueApollo(...) but never install the plugin.

  • On Vue 2 this works, because another bundle on the page installs VueApollo globally.
  • On Vue 3, each page bundle has its own copy of the VueApollo adapter. That copy stays inactive until the bundle installs it, so $apollo is undefined. The Organizations pages broke this way and were fixed in !259575 (merged).

Neither page is in the Vue 3 rollout yet. This MR removes the problem before they move.

How the pages were found

I ran a dependency-cruiser analysis of the full frontend import graph:

  • For each page entrypoint, it collects the modules of the Vue 3 bundle: the ancestor page index.js files plus the page's own index.js. main stays on Vue 2, so it does not count.
  • It reports a new VueApollo(...) that has no Vue.use(VueApollo) in the same chunk or a parent chunk.
  • When run against the sources from before !259575 (merged), it flags exactly the 9 Organizations pages that MR fixed.
  • On current master, it flags only these 2 Geo pages. After this change, it flags none.

Screenshots or screen recordings

None. The change has no visible effect on Vue 2. The pages are not on Vue 3 yet.

How to set up and validate locally

  1. Set up Geo with a secondary site.
  2. Go to Admin > Geo > Sites and open the replicables list for the secondary site.
  3. Confirm the list loads.
  4. Select an item and confirm the detail page loads.

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.

References

🤖 Generated with Claude Code

Edited by Miguel Rincon

Merge request reports

Loading
Loading