Subscribe on changes!

Cannot .push() to a reactive Array that is wrapped in a Proxy

avatar
Dec 3rd 2023

Vue version

3.3.9

Link to minimal reproduction

https://play.vuejs.org/#eNp9UktPwzAM/itWLgxp6gTcxkOCiQMcYAJuhENVTBdIkyhxtqGq/x0nZSvP3RJ/D3+O04pz54plRDEVJ6HyyhEEpOjOpFGNs56gBY9lRWqJ0MGLtw3sMX/vWBppJhOYMUoI5cAqvS/fpamsCQTWq1qZUp+nIpxuWaPHp/1fFnNv1++st9E8Ay3wH0+XaBtDg6teN/rWagxtt20wj2GhTA2osUFDAchm+02/7D24Fo75o4Mk/1k87D1TDqux0LYeDZT9Y+Bmt5FcpCk8Hozh8Emak0n/rvyifCFsnOZp+TZbYPUGF96uAnqY9ZafcmnadjDuuqydfBGLsaDAMV5UXbwGa3h/rTQAUlS2cUqjv3Wk2FOKKWQkYaXWdnWda+Qjjjf1KkX5o/4a1qkmxdwjh1yiFFuMSl8j9fDl/Q2u+bwFG/scNbN3gHfI88aUsadd8NI59hdeTnuVfyFv7yFcrglN2AyVgiZml/lS8Kec7Rh9iHtUHGWdNJ3oPgATiAqt

Steps to reproduce

Wrapping a reactive in a Proxy (to allow for customizing traps etc.) generally works, however if I wrap an array and then try to .push onto the array, I get a maximum call stack error.

The reproduction has just a basic Proxy with an empty handler for demonstration purposes, in actual use, the handler would have some traps defined.

What is expected?

able to push to array

What is actually happening?

Maximum Call Stack Error

System Info

No response

Any additional comments?

No response