Subscribe on changes!

Crash on 'update' non-resolved async component

avatar
Jan 6th 2024

Vue version

3.4.5

Link to minimal reproduction

https://play.vuejs.org/#eNqVVVtv2jAU/itHeUmQIGnX7YVBVTb1YdNuWrunZQ8ZOYCbxI5sB1oh/vuO7TgkpVs7iaqc+3cun9kHi7qOtw0G02CmlpLVGhTqpr5MOatqITW8F1UNKykqCOPECMY97Mx7uGlUjVzhGCSu4ND6OqeULwVXGgp8gLmxR2ERjrw2z3Tm1eb70SL4j5o0SNZoBPNL2KccIElAb5gia/kAm6ymsjlkK40SGGeaZSWoFgwlVaLcYhumBOwQdhnT0HDNSsqDBA6ArSAicPE2KxuqNp9DWJyHI1cPLEJvA4vxFXUFcEg5fTzWTyLLMX8aK32oFlSC6pIPbpFTyAoy9cCXsKR5Ck4qHyLZeo2S8bXxsQkqzLjJkdFmfHOkbvvLTWCvAQvfgpslbp+0SRI0VnVJAyUJYOZXZiWS7Y6nxTwNKFUawNR0SpL5R+JVaRskhe/VKO3g3ZqsxX0lS+KKJL0qs6QDEIwDrWhyK7aO75TgdHl2YGlghsFKlF9rzWiyaTD1a0iDrCzF7qPVadng2OuXG1wWT+jv1L3RpcE3GhRKOoSgs+lMrlE78/XNF7yn752xEnlTkvc/jN/N6BuD0bm9a3hOsHt+Fu0HSxBa5a26vtc0CN+UAWqPyPqnAVHFLOBvrR/hXsQX/vhoip6Lp9SVPXb6veQDZr7t+SzMJQ5Y3mnOHdfJ1/y5c6+lqBUdWo4rxvGbkaK9MRu0xRRu6Ib5euw15oQGysNomA8rIqVPd02Cin6G7uDCMYS9Kwt/daFdV5GnXFvOZIsGQTbmWPRIC684UqPNMTtOZEp8oOO2PccF3XaPC66yK9jiHXnuTFoCucCWRpZgfQ0RxSLqc2M4++d2+7l9Vk52+7/7Gg4psy8lxx2Qf8UURtL0ShBuWYWi0ZEcw/nZ2dnIhjy/yP7mWsxPb64bZIfnJQvL2fZysVjAfl8cDrPEiKeTdWObVFn96N1xhiHpaJCO3ButazVNkmXOKSzHkm1lzFEnvK6SK3JLpPlFqXCSi+rqIn4dv6H6SvfVMapq8luKHb1ElKT3UJh4+zzJiaQfM5TmGXlZ2Udh/dKPTCflu0fk8AeG+bnk

Steps to reproduce

  1. Open the playground

What is expected?

The text is AAA data2, and there is no error message.

What is actually happening?

The text is AAA data, and an error is shown.

System Info

No response

Any additional comments?

It used to work in preview of pr #7290 .

The playground of the commit shows the result correctly.

Probably it is also regressed by this commit

avatar
Jan 10th 2024

A note on why we can't just do initialVNode.el = placeholder.el:

In component's render effect on initial mount, we use the presence of el to serve as a check for adopted server-rendered DOM. If el is present, it will perform hydration instead of client mount. This is why the previous fix broke Nuxt in ecosystem-ci.