Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken reactivity in Vue 3.5.10 #12101

Closed
hivokas opened this issue Oct 2, 2024 · 9 comments
Closed

Broken reactivity in Vue 3.5.10 #12101

hivokas opened this issue Oct 2, 2024 · 9 comments

Comments

@hivokas
Copy link

hivokas commented Oct 2, 2024

Vue version

3.5.10

Link to minimal reproduction

https://play.vuejs.org/#eNqVVNtu00AQ/ZWRFSmpSG2qwgMhROXShyJuggoeMKKudxJva++u9uKmivLvjHfjS0tUqB/s9cycM2eOd72JXisV1w6jWTS3WKkys7hIBcCc8dovaKkWPwoUcDHKnJXvuLa3F8ANWO1wChqz3PKa21u4kfrawJILBC7gu0M4jp/HL6Zw6SwwiUaMrS8apo+ezhNFndpeGhebDXASY2C7pRwFuiwRWSnA3ip8lUbhLY3gJC95fk2RjLEzQqbR4sk8CekBNdSHS6mpDLWWuhFRj2Lf6QOKlS3ikU8YggcIAEnxsXhUoTHZCknTjs6rbp7BqXky8I9eTa65sn7NKyW1hQ04gzR2yRlVwRaWWlYwPiH7QyjJpcbxywHgEu0NkvV7auvML0hug0gFrj2G4TJzJWEbbQatU5OD8AL0qazTgmjr0eyOFirZEgnAdtrcd9RcCvM3uHVm4Nusj0IredYuJkdTOD7wvM0VOjRXv5tmYSuFhLc3VJGG7B8CZvDzVwscTJDLSjmLrFM2UNszdpy24CZshLj0NZ6qJQv3SjpBjD3ag3YbbnIwaF6hLSQjabvCrqbvO2ionCkm47Pz04/jQDJs28w0T3ZbKZpG1uRSLPkqvjJS0Jn1hGnUjMtL1J+V/2hp1PWmI1GW8ua9jw1cJkyB+fWe+JVZN7E0+qLRoK4xjbqczfQKbUiffvuEa1p3yUoyV1L1A8mvaGTpGo2h7I0TjGQP6rzaM7/9uVidm9O1RWHaoRqhvc9pRKfh7QOj93KP42ceR46Si+F4HVaZuudjSNwloR6HDCseFBfWKjNLkpwJwjI6P7WOBdpEqCppS5OSXyZcMFzH1RWxddPdO+r/QXkPQf8aY3fUaCqq38/e/xwe16PH7es0sPB3jbr5LORd+IlH2z/TmxFD

Steps to reproduce

  1. Open the reproduction link.
  2. Try to click "+" to add new items.

What is expected?

Items should be re-rendered when we update items array.

What is actually happening?

Items are not re-rendered when we update items array.

System Info

No response

Any additional comments?

Worked fine with Vue 3.5.9. Doesn't work fine anymore with Vue 3.5.10

Happens when we reference v$.itemsLength.$errors in the template and set $autoDirty to true.

The issue is not happening in each of these cases:

  • when I remove v$.itemsLength.$errors from template;
  • when I don't set $autoDirty to true;
  • when I switch from Vue 3.5.10 to 3.5.9.

Looks like recent Vue release broke something under the hood.

@jh-leong
Copy link
Member

jh-leong commented Oct 3, 2024

Closing as a duplicate of #12072 as the root cause is the same.

@jh-leong jh-leong closed this as not planned Won't fix, can't repro, duplicate, stale Oct 3, 2024
@skirtles-code
Copy link
Contributor

For reference, I believe it's the usage of flush: 'sync' here that triggers the bug in #12072:

@hivokas
Copy link
Author

hivokas commented Oct 3, 2024

@jh-leong thank you, I subscribed to the issue you mentioned to keep updated.

@hivokas
Copy link
Author

hivokas commented Oct 3, 2024

@skirtles-code does it have to be fixed on the Vue side or Vuelidate side?

@lukaszarpak
Copy link

@hivokas I also experience the same issue. Watchers behave in an unexpected manner. The problem seems to be on Vue's side since Vuelidate hasn't been updated for a while and things started to break since the release of Vue 3.5.10

@hivokas
Copy link
Author

hivokas commented Oct 3, 2024

@lukaszarpak yes, hopefully it'll get fixed soon. We've downgraded to Vue 3.5.9 for now.

@lukaszarpak
Copy link

@hivokas downgrade to 3.5.9 unfortunately didn't resolve the issue in our case

@skirtles-code
Copy link
Contributor

3.5.11 has been released and the reproduction provided here seems to be working correctly with that version. If you're still seeing problems with 3.5.11 then you may need to open a new issue.

@hivokas
Copy link
Author

hivokas commented Oct 4, 2024

awesome, thanks! indeed seems to be fixed!

@github-actions github-actions bot locked and limited conversation to collaborators Oct 20, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants