Skip to content
This repository has been archived by the owner on Feb 9, 2020. It is now read-only.

0.6 is problematic #170

Closed
novice3030 opened this issue Dec 10, 2014 · 23 comments
Closed

0.6 is problematic #170

novice3030 opened this issue Dec 10, 2014 · 23 comments

Comments

@novice3030
Copy link

Our app won't start because of 0.6 update from 12-09-2014
What's going on?

@btford
Copy link
Contributor

btford commented Dec 10, 2014

Can you provide me with some more information? There's not enough for me to go off with just that.

@westn
Copy link

westn commented Dec 10, 2014

I also woke up to an issue with 0.6 update.
First off, great with updates, but perhaps time to start with a changelog?

The issue for me seems to be that it changes the bootstrapping-process somehow. Since I have some URLs should be triggered/set directly after "angular.bootstrap", and these values are now set to null instead.

@mindmelting
Copy link

0.6 also broke my app, I think due to hint.js

My ng-show directives were no longer digesting scope property updates on the controller. Disabling Batarang fixed the issue....

@novice3030
Copy link
Author

Same here disabling solves it
I also thing it has to do with hint.js

@cdarken
Copy link

cdarken commented Dec 10, 2014

Yeah, I can confirm this. Updated chrome to beta 40 and batarang is 0.6 and my app that was working yesterday didn't start, I disabled batarang and it's working now.

@westn
Copy link

westn commented Dec 10, 2014

Okay, I can confirm that it has to do with hint.js from my side.
Perhaps an option to disable it in batarang?

@michaelkrone
Copy link

It seems Batarang is looking for some controllers in hint.js, not im my source files.

@ringtail
Copy link

Uncaught TypeError: undefined is not a function

@manusis
Copy link

manusis commented Dec 10, 2014

It has broken all of our client sites (more than 200 sites) based on angularjs.

Check out www store hippo dot com.

Please review and revert asap.

@westn
Copy link

westn commented Dec 10, 2014

Okay, so this seems to actually be a known issue with angular-hint?

angular/angular-hint#21

It is even reported by btford. So perhaps the temporary solution is to revert back to 0.5, add functionality to disable ng-hint (since this contains the bug). Of course the issue should be handled, but from my point it looks more like a angular-hint issue.

@ivarni
Copy link

ivarni commented Dec 10, 2014

Same issue here. I get a blank page on load with the plugin enabled. For me, everything seems to render when I refresh. Disabling the plugin also makes the page render on initial load. I don't know how useful it is to provide a reproducible example as it seems to be many people experiencing this.

@just-boris
Copy link

previous version 0.5.0 seems to be broken as well.
I have a some page with a many controls and new version dramatically slows down page loading. I can't find the exact place of problem, because I can't get access to developer tools because the page took whole resources.
I have to revert on last stable version 0.4.3 to came back to work. Here you can find my own .crx with this version. I hope it can help somebody

@macneib
Copy link

macneib commented Dec 10, 2014

0.6 seems to work as advertised on Chrome 39/Linux, however is there a way to disable hint.js temporarily? The hinting seems to be dragging my livereload down to a crawl.

@AjmalSaid
Copy link

same here with angular1.2.16, angularjs-batarang 0.6.0, chrome 39.0.2171.95 m/windows. you can check it on http://group.tripcake.at/demo

@mickeyvip
Copy link

Broken oh so broken!

Looking through the console I see that 'hint.js' is the problematic in my (1st ?) case:

hint.js lines 1901-1914:

return function ngEventHandler(scope, element, attrs) {
  for(var attr in angularAttrs) {
    var boundFuncs = getFunctionNames(attrs[attr]);
    boundFuncs.forEach(function(boundFn) {
      if(ngEventDirectives[attr] && !(boundFn in scope)) {
        messages.push({
          scope: scope,
          element:element,
          attrs: attrs,
          boundFunc: boundFn
        });
      }
    });
  }
  element.on(eventAttrName.substring(2).toLowerCase(), function(event) {
    scope.$apply(function() {
      fn(scope, {$event:event});
    });
  });
  formatResults(messages);
};

on line 1903:

var boundFuncs = getFunctionNames(attrs[attr]);

I have a form with required property set.
angularAttrs.required === required
but
attrs.required === true

and when calling getFunctionNames(attrs[attr]) we send true.
Inside getFunctionNames() lines 1995-1996:

// ...
module.exports = function getFunctionNames(str) {
   var results = str.replace(/\s+/g, '').split(/[\+\-\/\|\<\>\^=&!%~]/g).map(function(x) {
// ...

the str here is true, not a string and it throws.

Hope that helped.

@ghengeveld
Copy link

I'm having issues as well, using Angular 1.3.2. Here's a stacktrace:

TypeError: undefined is not a function
    at getFunctionNames (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:1996:21)
    at ngEventHandler (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:1903:36)
    at invokeLinkFn (http://localhost:8000/bower_components/angular/angular.js:8125:9)
    at nodeLinkFn (http://localhost:8000/bower_components/angular/angular.js:7637:11)
    at compositeLinkFn (http://localhost:8000/bower_components/angular/angular.js:6993:13)
    at nodeLinkFn (http://localhost:8000/bower_components/angular/angular.js:7632:24)
    at compositeLinkFn (http://localhost:8000/bower_components/angular/angular.js:6993:13)
    at nodeLinkFn (http://localhost:8000/bower_components/angular/angular.js:7632:24)
    at compositeLinkFn (http://localhost:8000/bower_components/angular/angular.js:6993:13)
    at publicLinkFn (http://localhost:8000/bower_components/angular/angular.js:6872:30) 
<input type="password" id="password" name="password" 
  class="form-control ng-pristine ng-untouched ng-valid" required="" 
  ng-model="userRegistrationCtrl.user.credentials.password" 
  ng-blur="credentialsFormCtrl.sufficientlength = userRegistrationCtrl.user.credentials.verifyPasswordLength()">

I hope it helps.

@Splaktar
Copy link
Member

You can roll back to 0.4.3 of Batarang until the issues are resolved. Instructions here: http://stackoverflow.com/a/27404493/633107

@ebenoist
Copy link

Failed to instantiate module ngHintModules due to:
RangeError: Maximum call stack size exceeded
    at Array.forEach (native)
    at module.exports (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2335:21)
    at module.exports (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2386:5)
    at chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2389:7
    at Array.forEach (native)
    at module.exports (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2387:21)
    at chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2389:7
    at Array.forEach (native)
    at module.exports (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2387:21)
    at chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:2389:7

Seeing a similar issue here.

@btford
Copy link
Contributor

btford commented Dec 10, 2014

Just posing stack traces and error messages are somewhat helpful, but better would be to post reproductions.

@btford
Copy link
Contributor

btford commented Dec 10, 2014

@mickeyvip – the issue you described was fixed in v0.7.1.

@btford
Copy link
Contributor

btford commented Dec 10, 2014

I'm going to close this issue, since there are other similar reports that include more information, and I've since pushed many fixes. Can you all please:

  1. update batarang to v0.7.1
  2. check existing issues and comment on them if your problems seem similar

This will help me stay organized and roll out fixes as fast as possible. Thanks!

@mickeyvip
Copy link

@btford yes, updating to v0.7.1 fixed it.

Thank you

@michaelkrone
Copy link

@btford All good. Thank you.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests