This issue remains the same in 1.6beta (current master)
This issue seems to be fixed partly in 1.6beta (the screencasted click path now doesn't error any more) but partly remains (will post details soon) (False hope, i've had a portion of the template removed. Putting it back made the error return.)
Demo: http://www.youtube.com/watch?v=lwx28qJ69M4
When you go to http://travis-sproutcore.heroku.com/#!/josevalim/enginex you see the following error:
Uncaught TypeError: Cannot call method '$' of undefined
SC.TemplateCollectionView.SC.TemplateView.extend.arrayContentWillChange
SC.TemplateCollectionView.SC.TemplateView.extend._sctcv_contentDidChange
SC.Observable._notifyPropertyObservers
SC.Observable.propertyDidChange
SC.Observable.set
SC.CoreView.reopen._notifyWillDestroyLayer
SC.CoreView.reopen._notifyWillDestroyLayer
SC.CoreView.reopen._notifyWillDestroyLayer
SC.CoreView.reopen._notifyWillDestroyLayer
SC.CoreView.reopen._notifyWillDestroyLayer
SC.CoreView.reopen.destroyLayer
SC.CoreView.reopen._destroy
SC.CoreView.reopen.destroy
SC._BindableSpan.SC.TemplateView.extend.rerender
observer
SC._ChainObserver.propertyDidChange
SC._ChainObserver.objectDidChange
SC._ChainObserver.propertyDidChange
SC.Observable._notifyPropertyObservers
SC.Observable.allPropertiesDidChange
SC.ObjectController.SC.Controller.extend.contentPropertyDidChange
SC.ObjectController.SC.Controller.extend._scoc_observableContentDidChange
SC.Observable._notifyPropertyObservers
SC.Observable.propertyDidChange
SC.Observable.set
Travis.controllers.SC.Object.create.repository.SC.ObjectController.create.repositoryObservertravis.js:336
SC.Observable._notifyPropertyObservers
SC.Observable.allPropertiesDidChange
SC.ObjectController.SC.Controller.extend.contentPropertyDidChange
SC.ObjectController.SC.Controller.extend._scoc_observableContentDidChange
SC.Observable._notifyPropertyObservers
SC.Observable.propertyDidChange
SC.Observable.set
Travis.controllers.SC.Object.create.repository.SC.ObjectController.create.loadtravis.js:326
Travis.mainPane.SC.TemplatePane.append.layerIdtravis.js:6
SC.routes.SC.Object.create.trigger
SC.routes.SC.Object.create.locationDidChange
SC.Observable._notifyPropertyObservers
SC.Observable.propertyDidChange
SC.Observable.set
(anonymous function)
SC.run
SC.routes.SC.Object.create.hashChange
SC.mixin.handle
listener
This seems to happen in this line: https://github.com/sproutcore/sproutcore/blob/master/frameworks/core_foundation/views/template_collection.js#L143
The relevant template is here: matrix.handlebars
When I remove both #each helper blocks from this template (i.e. this one and this one) then the view renders fine.
When I just keep the first block but remove the second one then it seems to run into an endless loop and Chrome crashes the page after the timeout.
When I just keep the second block then I get the same error as above.
At this point, checking in the inspector console, the respective controller returns the following property values:
Travis.controllers.repository.tabs.current.get('content').get('configDimensions')
> ["Rvm"]
Travis.controllers.repository.tabs.current.getPath('content.matrix.firstObject.configValues')
> ["1.8.7]