Skip to content

fix(vue-router): use Vue listener casing for external links#6856

Merged
birkskyum merged 1 commit intorefactor-signalsfrom
opencode/vue-external-link-events
Mar 11, 2026
Merged

fix(vue-router): use Vue listener casing for external links#6856
birkskyum merged 1 commit intorefactor-signalsfrom
opencode/vue-external-link-events

Conversation

@Sheraff
Copy link
Contributor

@Sheraff Sheraff commented Mar 8, 2026

Note

This issue was not introduced by refactor-signals; the external-link path already bypassed Vue listener-name normalization before this branch. This PR fixes that pre-existing bug while targeting the branch under review.

Summary

  • normalize Vue external link event props to emit DOM listener names like onMouseenter and onTouchstart
  • accept both camelCase and Vue-style event prop variants so user hover and touch handlers still fire on external links
  • add a regression test covering external Link hover and touch handlers

Testing

  • CI=1 NX_DAEMON=false pnpm test:eslint
  • CI=1 NX_DAEMON=false pnpm test:types
  • CI=1 NX_DAEMON=false pnpm test:unit

@nx-cloud
Copy link

nx-cloud bot commented Mar 8, 2026

View your CI Pipeline Execution ↗ for commit 9a4e500

Command Status Duration Result
nx affected --targets=test:eslint,test:unit,tes... ✅ Succeeded 8m 16s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 32s View ↗

☁️ Nx Cloud last updated this comment at 2026-03-08 07:49:08 UTC

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 8, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5268e441-976b-4d91-bfb0-efdb16875b8c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch opencode/vue-external-link-events

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Mar 8, 2026

More templates

@tanstack/arktype-adapter

npm i https://pkg.pr.new/@tanstack/arktype-adapter@6856

@tanstack/eslint-plugin-router

npm i https://pkg.pr.new/@tanstack/eslint-plugin-router@6856

@tanstack/history

npm i https://pkg.pr.new/@tanstack/history@6856

@tanstack/nitro-v2-vite-plugin

npm i https://pkg.pr.new/@tanstack/nitro-v2-vite-plugin@6856

@tanstack/react-router

npm i https://pkg.pr.new/@tanstack/react-router@6856

@tanstack/react-router-devtools

npm i https://pkg.pr.new/@tanstack/react-router-devtools@6856

@tanstack/react-router-ssr-query

npm i https://pkg.pr.new/@tanstack/react-router-ssr-query@6856

@tanstack/react-start

npm i https://pkg.pr.new/@tanstack/react-start@6856

@tanstack/react-start-client

npm i https://pkg.pr.new/@tanstack/react-start-client@6856

@tanstack/react-start-server

npm i https://pkg.pr.new/@tanstack/react-start-server@6856

@tanstack/router-cli

npm i https://pkg.pr.new/@tanstack/router-cli@6856

@tanstack/router-core

npm i https://pkg.pr.new/@tanstack/router-core@6856

@tanstack/router-devtools

npm i https://pkg.pr.new/@tanstack/router-devtools@6856

@tanstack/router-devtools-core

npm i https://pkg.pr.new/@tanstack/router-devtools-core@6856

@tanstack/router-generator

npm i https://pkg.pr.new/@tanstack/router-generator@6856

@tanstack/router-plugin

npm i https://pkg.pr.new/@tanstack/router-plugin@6856

@tanstack/router-ssr-query-core

npm i https://pkg.pr.new/@tanstack/router-ssr-query-core@6856

@tanstack/router-utils

npm i https://pkg.pr.new/@tanstack/router-utils@6856

@tanstack/router-vite-plugin

npm i https://pkg.pr.new/@tanstack/router-vite-plugin@6856

@tanstack/solid-router

npm i https://pkg.pr.new/@tanstack/solid-router@6856

@tanstack/solid-router-devtools

npm i https://pkg.pr.new/@tanstack/solid-router-devtools@6856

@tanstack/solid-router-ssr-query

npm i https://pkg.pr.new/@tanstack/solid-router-ssr-query@6856

@tanstack/solid-start

npm i https://pkg.pr.new/@tanstack/solid-start@6856

@tanstack/solid-start-client

npm i https://pkg.pr.new/@tanstack/solid-start-client@6856

@tanstack/solid-start-server

npm i https://pkg.pr.new/@tanstack/solid-start-server@6856

@tanstack/start-client-core

npm i https://pkg.pr.new/@tanstack/start-client-core@6856

@tanstack/start-fn-stubs

npm i https://pkg.pr.new/@tanstack/start-fn-stubs@6856

@tanstack/start-plugin-core

npm i https://pkg.pr.new/@tanstack/start-plugin-core@6856

@tanstack/start-server-core

npm i https://pkg.pr.new/@tanstack/start-server-core@6856

@tanstack/start-static-server-functions

npm i https://pkg.pr.new/@tanstack/start-static-server-functions@6856

@tanstack/start-storage-context

npm i https://pkg.pr.new/@tanstack/start-storage-context@6856

@tanstack/valibot-adapter

npm i https://pkg.pr.new/@tanstack/valibot-adapter@6856

@tanstack/virtual-file-routes

npm i https://pkg.pr.new/@tanstack/virtual-file-routes@6856

@tanstack/vue-router

npm i https://pkg.pr.new/@tanstack/vue-router@6856

@tanstack/vue-router-devtools

npm i https://pkg.pr.new/@tanstack/vue-router-devtools@6856

@tanstack/vue-router-ssr-query

npm i https://pkg.pr.new/@tanstack/vue-router-ssr-query@6856

@tanstack/vue-start

npm i https://pkg.pr.new/@tanstack/vue-start@6856

@tanstack/vue-start-client

npm i https://pkg.pr.new/@tanstack/vue-start-client@6856

@tanstack/vue-start-server

npm i https://pkg.pr.new/@tanstack/vue-start-server@6856

@tanstack/zod-adapter

npm i https://pkg.pr.new/@tanstack/zod-adapter@6856

commit: 2cd13ed

@github-actions
Copy link

github-actions bot commented Mar 8, 2026

Bundle Size Benchmarks

  • Commit: 4ea2a62787d0
  • Measured at: 2026-03-08T07:41:51.346Z
  • Baseline source: history:4ea2a62787d0
  • Dashboard: bundle-size history
Scenario Current (gzip) Delta vs baseline Raw Brotli Trend
react-router.minimal 87.71 KiB +888 B (+1.00%) 276.48 KiB 76.22 KiB ▁▁▁▁▁▃▃▃▃▃▃█
react-router.full 90.98 KiB +1.10 KiB (+1.22%) 287.17 KiB 78.96 KiB ▁▁▁▁▁▂▂▂▂▂▂█
solid-router.minimal 35.26 KiB -930 B (-2.51%) 106.65 KiB 31.64 KiB ▆▆▆▆▆██████▁
solid-router.full 39.73 KiB -786 B (-1.90%) 120.25 KiB 35.58 KiB ▅▅▅▅▅██████▁
vue-router.minimal 53.14 KiB +1.11 KiB (+2.12%) 152.33 KiB 47.72 KiB ▁▁▁▁▁▂▂▂▂▂▂█
vue-router.full 58.17 KiB +1.33 KiB (+2.34%) 168.39 KiB 51.94 KiB ▁▁▁▁▁▂▂▂▂▂▂█
react-start.minimal 100.37 KiB +989 B (+0.97%) 315.67 KiB 86.77 KiB ▁▁▁▁▁▃▃▃▃▃▃█
react-start.full 103.79 KiB +1.00 KiB (+0.98%) 325.84 KiB 89.66 KiB ▁▁▁▁▁▃▃▃▃▃▃█
solid-start.minimal 47.58 KiB -929 B (-1.87%) 144.28 KiB 42.07 KiB ▆▆▆▆▆██████▁
solid-start.full 53.20 KiB -782 B (-1.42%) 160.78 KiB 46.84 KiB ▅▅▅▅▅██████▁

Trend sparkline is historical gzip bytes ending with this PR measurement; lower is better.

@codspeed-hq
Copy link

codspeed-hq bot commented Mar 8, 2026

Merging this PR will not alter performance

✅ 6 untouched benchmarks


Comparing opencode/vue-external-link-events (9a4e500) with refactor-signals (4a410d8)

Open in CodSpeed

@birkskyum birkskyum merged commit a1bee66 into refactor-signals Mar 11, 2026
15 checks passed
@birkskyum birkskyum deleted the opencode/vue-external-link-events branch March 11, 2026 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants