core
core copied to clipboard
fix(runtime-core): properly diff slot node and fallback node
close #9200 close #9308 close #7256
note: Both slot fallback and slot nodes are stable fragments but can not take the fast path.
solution:
- always unmount the old vnode and mount the new one.
Size Report
Bundles
| File | Size | Gzip | Brotli |
|---|---|---|---|
| runtime-dom.global.prod.js | 90.7 kB (+66 B) | 34.5 kB (+25 B) | 31.1 kB |
| vue.global.prod.js | 148 kB (+66 B) | 53.8 kB (+21 B) | 48 kB (-38 B) |
Usages
| Name | Size | Gzip | Brotli |
|---|---|---|---|
| createApp | 50.8 kB (+54 B) | 19.9 kB (+21 B) | 18.1 kB (+22 B) |
| createSSRApp | 54.2 kB (+54 B) | 21.2 kB (+20 B) | 19.3 kB (+17 B) |
| defineCustomElement | 53.1 kB (+54 B) | 20.6 kB (+20 B) | 18.8 kB (+28 B) |
| overall | 64.5 kB (+54 B) | 24.9 kB (+24 B) | 22.5 kB (-31 B) |
/ecosystem-ci run
📝 Ran ecosystem CI: Open
| suite | result | latest scheduled |
|---|---|---|
| language-tools | :white_check_mark: success | :white_check_mark: success |
| nuxt | :white_check_mark: success | :white_check_mark: success |
| pinia | :white_check_mark: success | :x: failure |
| quasar | :white_check_mark: success | :white_check_mark: success |
| radix-vue | :white_check_mark: success | :white_check_mark: success |
| router | :white_check_mark: success | :white_check_mark: success |
| test-utils | :white_check_mark: success | :white_check_mark: success |
| vant | :white_check_mark: success | :white_check_mark: success |
| vite-plugin-vue | :white_check_mark: success | :white_check_mark: success |
| vitepress | :white_check_mark: success | :white_check_mark: success |
| vue-i18n | :white_check_mark: success | :white_check_mark: success |
| vue-macros | :white_check_mark: success | :white_check_mark: success |
| vuetify | :x: failure | :white_check_mark: success |
| vueuse | :white_check_mark: success | :white_check_mark: success |
| vue-simple-compiler | :white_check_mark: success | :white_check_mark: success |
/ecosystem-ci run
📝 Ran ecosystem CI: Open
| suite | result | latest scheduled |
|---|---|---|
| language-tools | :white_check_mark: success | :x: failure |
| nuxt | :white_check_mark: success | :white_check_mark: success |
| pinia | :white_check_mark: success | :white_check_mark: success |
| primevue | :white_check_mark: success | :white_check_mark: success |
| quasar | :white_check_mark: success | :white_check_mark: success |
| radix-vue | :white_check_mark: success | :white_check_mark: success |
| router | :white_check_mark: success | :white_check_mark: success |
| test-utils | :white_check_mark: success | :white_check_mark: success |
| vant | :x: failure | :white_check_mark: success |
| vite-plugin-vue | :white_check_mark: success | :white_check_mark: success |
| vitepress | :white_check_mark: success | :white_check_mark: success |
| vue-i18n | :white_check_mark: success | :white_check_mark: success |
| vue-macros | :white_check_mark: success | :white_check_mark: success |
| vuetify | :white_check_mark: success | :white_check_mark: success |
| vueuse | :white_check_mark: success | :white_check_mark: success |
| vue-simple-compiler | :white_check_mark: success | :white_check_mark: success |