Visitar URL original
fix(compiler-vapor): keep end tags of lists nested in list items by ValentinYoushkevich · Pull Request #15698 · vuejs/core · GitHub
Skip to content

fix(compiler-vapor): keep end tags of lists nested in list items - #15698

Merged
edison1105 merged 1 commit into
vuejs:minorfrom
ValentinYoushkevich:fix/vapor-nested-list-end-tags
Sep 29, 2026
Merged

edison1105 merged 1 commit into
vuejs:minorfrom
ValentinYoushkevich:fix/vapor-nested-list-end-tags

Conversation

@ValentinYoushkevich

Copy link
Copy Markdown
Contributor

The browser ignores </li> while a nested <ul> or <ol> inside it is still open (list item scope). When the nested list is the last child of a list item that is not the last one, the abbreviated template drops the list's end tag but keeps </li>, so the following items are parsed into the nested list. With a binding on those items, child navigation misses and rendering throws (Cannot read properties of null (reading '$clsFlags')). Real case: primevue designer page, items 4–10 end up under item 3. Playground

A nested list now keeps its end tag when a <li> ancestor emits one, like the form branch from #15693.

@coderabbitai

coderabbitai Bot commented Sep 28, 2026

Copy link
Copy Markdown

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: Advanced

Run ID: ad0e9be0-c82c-49f9-8fee-d676dd99df59

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

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@pkg-pr-new

pkg-pr-new Bot commented Sep 28, 2026

Copy link
Copy Markdown

Open in StackBlitz

@vue/compiler-core

pnpm add https://pkg.pr.new/@vue/compiler-core@15698
npm i https://pkg.pr.new/@vue/compiler-core@15698
yarn add https://pkg.pr.new/@vue/compiler-core@15698.tgz

@vue/compiler-dom

pnpm add https://pkg.pr.new/@vue/compiler-dom@15698
npm i https://pkg.pr.new/@vue/compiler-dom@15698
yarn add https://pkg.pr.new/@vue/compiler-dom@15698.tgz

@vue/compiler-sfc

pnpm add https://pkg.pr.new/@vue/compiler-sfc@15698
npm i https://pkg.pr.new/@vue/compiler-sfc@15698
yarn add https://pkg.pr.new/@vue/compiler-sfc@15698.tgz

@vue/compiler-ssr

pnpm add https://pkg.pr.new/@vue/compiler-ssr@15698
npm i https://pkg.pr.new/@vue/compiler-ssr@15698
yarn add https://pkg.pr.new/@vue/compiler-ssr@15698.tgz

@vue/compiler-vapor

pnpm add https://pkg.pr.new/@vue/compiler-vapor@15698
npm i https://pkg.pr.new/@vue/compiler-vapor@15698
yarn add https://pkg.pr.new/@vue/compiler-vapor@15698.tgz

@vue/reactivity

pnpm add https://pkg.pr.new/@vue/reactivity@15698
npm i https://pkg.pr.new/@vue/reactivity@15698
yarn add https://pkg.pr.new/@vue/reactivity@15698.tgz

@vue/runtime-core

pnpm add https://pkg.pr.new/@vue/runtime-core@15698
npm i https://pkg.pr.new/@vue/runtime-core@15698
yarn add https://pkg.pr.new/@vue/runtime-core@15698.tgz

@vue/runtime-dom

pnpm add https://pkg.pr.new/@vue/runtime-dom@15698
npm i https://pkg.pr.new/@vue/runtime-dom@15698
yarn add https://pkg.pr.new/@vue/runtime-dom@15698.tgz

@vue/runtime-vapor

pnpm add https://pkg.pr.new/@vue/runtime-vapor@15698
npm i https://pkg.pr.new/@vue/runtime-vapor@15698
yarn add https://pkg.pr.new/@vue/runtime-vapor@15698.tgz

@vue/server-renderer

pnpm add https://pkg.pr.new/@vue/server-renderer@15698
npm i https://pkg.pr.new/@vue/server-renderer@15698
yarn add https://pkg.pr.new/@vue/server-renderer@15698.tgz

@vue/shared

pnpm add https://pkg.pr.new/@vue/shared@15698
npm i https://pkg.pr.new/@vue/shared@15698
yarn add https://pkg.pr.new/@vue/shared@15698.tgz

vue

pnpm add https://pkg.pr.new/vue@15698
npm i https://pkg.pr.new/vue@15698
yarn add https://pkg.pr.new/vue@15698.tgz

@vue/compat

pnpm add https://pkg.pr.new/@vue/compat@15698
npm i https://pkg.pr.new/@vue/compat@15698
yarn add https://pkg.pr.new/@vue/compat@15698.tgz

commit: 94b587b

@github-actions

Copy link
Copy Markdown

Size Report

Bundles

File Size Gzip Brotli
compiler-dom.global.prod.js 87.2 kB 30.6 kB 26.9 kB
runtime-dom.global.prod.js 116 kB (+43 B) 43.9 kB (+14 B) 39.2 kB (-5 B)
vue.global.prod.js 176 kB (+43 B) 64 kB (+21 B) 57 kB (+13 B)

Usages

Name Size Gzip Brotli
createApp (CAPI only) 53.1 kB (+43 B) 20.7 kB (+17 B) 18.9 kB (+16 B)
createApp 61.9 kB (+43 B) 23.9 kB (+15 B) 21.7 kB (+5 B)
createApp + vaporInteropPlugin 126 kB (+3.19 kB) 45.2 kB (+1.06 kB) 40.7 kB (+950 B)
createVaporApp 31.6 kB (+840 B) 12.2 kB (+346 B) 11.2 kB (+297 B)
createSSRApp 66.9 kB (+43 B) 25.9 kB (+15 B) 23.6 kB (+42 B)
createVaporSSRApp 38.2 kB (+1.12 kB) 14.5 kB (+449 B) 13.3 kB (+390 B)
defineCustomElement 68.4 kB (+43 B) 25.9 kB (+17 B) 23.5 kB (+20 B)
defineVaporCustomElement 47 kB (+840 B) 17.1 kB (+324 B) 15.7 kB (+309 B)
overall 77.4 kB (+43 B) 29.4 kB (+16 B) 26.7 kB (+24 B)

@edison1105
edison1105 merged commit 8304992 into vuejs:minor Sep 29, 2026
15 checks passed
zhiyuanzmj added a commit to vuejs/vue-jsx-vapor that referenced this pull request Oct 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants