message: refactor: add mixin only on browser
diff: @@ -579,7 +579,6 @@ function applyRouterPlugin(app: App, router: Router) {
  app.component('RouterView', View)
  // TODO: add tests
  - // @ts-ignore
  app.config.globalProperties.$router = router
  Object.defineProperty(app.config.globalProperties, '$route', {
  get: () => router.currentRoute.value,
  @@ -587,9 +586,10 @@ function applyRouterPlugin(app: App, router: Router) {
  let started = false
  // TODO: can we use something that isn't a mixin? Like adding an onMount hook here
  + if (isBrowser) {
  app.mixin({
  beforeCreate() {
  - if (isBrowser && !started) {
  + if (!started) {
  // this initial navigation is only necessary on client, on server it doesn't make sense
  // because it will create an extra unnecessary navigation and could lead to problems
  router.push(router.history.location.fullPath).catch(err => {
  @@ -601,6 +601,7 @@ function applyRouterPlugin(app: App, router: Router) {
  }
  },
  })
  + }
  const reactiveRoute = {} as {
  [k in keyof RouteLocationNormalizedLoaded]: ComputedRef<
  @@ -612,9 +613,9 @@ function applyRouterPlugin(app: App, router: Router) {
  reactiveRoute[key] = computed(() => router.currentRoute.value[key])
  }
  - // TODO: merge strats?
  app.provide(routerKey, router)
  app.provide(routeLocationKey, reactive(reactiveRoute))
  + // TODO: merge strats for beforeRoute hooks
  }
  async function runGuardQueue(guards: Lazy<any>[]): Promise<void> {
  