We are currently migrating a huge and equally old collection of apps from v3 to v4 (they have a lot of v2 remnants, too). All models are already extensions of DefineMap. But now (CanJS 4.3.0) we see a lot of errors like this:
Error: can-reflect.setValue - Can not set value
This appears for setting fields, which have a custom setter method, but I can’t see any reason for the error. Here is a simple and working example where a field is set in a setter of another field and this can be tried by clicking on a button. You can also set a property in a setter for a parent model or map there and this works, too - and why shouldn’t it.
So my question is: what are possible scenarios for an undefined setter here? I promise that we have field/property definitions for the model in question and otherwise we would rather get an object is not extensible error, right? For which kind of property definitions could it happen that the setter is undefined?