If you set the parent to a new state it should update the nested observs. Not doing so is basically a cache invalidation bug. The root cause here is that there are two mutable sources of truths.
One way to fix is to just not allow mutating an observ-varhash or observ-struct and only allow mutating keys directly.
I only fixed observ-struct, i dont know whats needed with observ-array because its a complex stateful bag of listeners and keys everywhere :(
I ran into a bug with observ-struct that is nasty.
I fixed it in this commit
Basically:
If you set the parent to a new state it should update the nested observs. Not doing so is basically a cache invalidation bug. The root cause here is that there are two mutable sources of truths.
One way to fix is to just not allow mutating an
observ-varhash
orobserv-struct
and only allow mutating keys directly.I only fixed observ-struct, i dont know whats needed with observ-array because its a complex stateful bag of listeners and keys everywhere :(