I though I'd share my answer, since I heard many developers complaining about difficulties with migrating from 1.0.x to 1.2.x:
It appears that I was trying to iterate over a function return value with ng-options, which had some logic within it, and Angular didn't like it.
Unlike other MVC frameworks, angular uses dirty checking rather then functions to update the DOM, so while rendering \ iterating over a function within your DOM(partials) in Angular is generally a bad practice, in later versions of angular, it might just hang your application.
I had something like that in my companySettings.html file:
<select name="industry" class="filedExpand" data-ng-model="model.formData.industry" data-ng-options="industry.id as industry.name for industry in model.industries()" data-ng-required="true">
<option value=''>{{'INDUSTY' | translate}}</option>
</select>
and the function in the controller was:
$scope.model.industries = function(){
if($scope.model.industryList){
return $scope.model.industryList;
}
regService.getIndustries().then(function(data){
$scope.model.industryList = data.data;
return data.data;
},
function(data){
console.log('error fetching industries');
});
}
Changed to:
<select name="industry" class="filedExpand" data-ng-model="model.formData.industry" data-ng-options="industry.id as industry.name for industry in model.__industries" data-ng-required="true">
<option value=''>{{'INDUSTY' | translate}}</option>
</select>
Controller:
$scope.model.getIndustries = function(){
var deferred = $q.defer();
var industries = regService.getIndustries();
if(industries){
// console.log($scope.model.industryList);
deferred.resolve(industries);
return deferred.promise;
}
regService.loadIndustries().then(function(data){
// $scope.model.industryList = data.data;
regService.setIndustries(data.data);
deferred.resolve(data.data);
},
function(data){
// console.log('error fetching industries');//supress
deferred.resolve([]);
regService.setIndustries([]);
});
return deferred.promise;
}
$scope.model.getIndustries().then(function(data){
$scope.model.__industries = data;
});