I’d like to share a tip on model proxying removal during 1.x to 2.x migration. Getting rid of all the ObjectControllers/ArrayControllers in a single go might introduce bugs in the production (depends on the app size). Though deprecation messages are helpful in the development, in large apps there are high chances to miss some of them.
So, instead of removing the ObjectController/ArrayController abruptly, I’d recommend to log the proxied property & value with some tracking information like controller name, location url, etc., to the server (or some logging service) & audit the logs for a while in the production. This can be done by overriding the unknownProperty
& setUnknownProperty
methods of the ObjectController. Once all the proxied props have been resolved, remove the ObjectControllers/ArrayControllers. This way, you can ensure safer migration without troubling your users
https://ember-twiddle.com/eb53510d1780768194ed15f3c4759b7b?openFiles=controllers.application.js%2C