Improve vue-router compatibility layer for Vue.js 3

What does this MR do and why?

This MR improves compatibility layer for Vue.js 3 router.

What is changed?

  • We're redefining $route.params.path to return string as in vue-router 3 (in vue-router 4 it returns array of path items - ['foo', 'bar'] vs foo/bar
  • createWebHistory() (and actually creating any history) creates additional navigation. Previously this added extra hash to any URL where router is initialized (and with our duo chat - that means on very page). Now we properly call createHistory functions only when needed

Screenshots or screen recordings

N/A

How to set up and validate locally

🟢 green pipeline should be ready to go, as this is internal changes, facing only vue.js 3

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.

Merge request reports

Loading