diff --git a/app/components/job-log.js b/app/components/job-log.js index 37f31999..4ce88a27 100644 --- a/app/components/job-log.js +++ b/app/components/job-log.js @@ -4,7 +4,7 @@ export default Ember.Component.extend({ logBinding: 'job.log', didInsertElement() { - return this.setupLog(); + Ember.run.scheduleOnce('afterRender', this, 'setupLog'); }, logDidChange: function() { @@ -16,7 +16,7 @@ export default Ember.Component.extend({ }.observesBefore('log'), willDestroyElement() { - return this.teardownLog(); + Ember.run.scheduleOnce('afterRender', this, 'teardownLog'); }, teardownLog() { diff --git a/app/components/log-content.js b/app/components/log-content.js index 0fd30781..0c0f58f5 100644 --- a/app/components/log-content.js +++ b/app/components/log-content.js @@ -68,14 +68,14 @@ export default Ember.Component.extend({ console.log('log view: did insert'); } this._super.apply(this, arguments); - return this.createEngine(); + Ember.run.scheduleOnce('afterRender', this, 'createEngine'); }, willDestroyElement() { if (Log.DEBUG) { console.log('log view: will destroy'); } - return this.teardownLog(); + Ember.run.scheduleOnce('afterRender', this, 'teardownLog'); }, teardownLog(log) { @@ -121,7 +121,7 @@ export default Ember.Component.extend({ this.engine.limit = this.limit; this.logFolder = new LogFolder(this.$('#log')); this.lineSelector = new LinesSelector(this.$('#log'), this.scroll, this.logFolder); - return this.observeParts(log); + this.observeParts(log); } }, diff --git a/config/deprecation-workflow.js b/config/deprecation-workflow.js index cc0c3e59..ecba7192 100644 --- a/config/deprecation-workflow.js +++ b/config/deprecation-workflow.js @@ -3,6 +3,7 @@ window.deprecationWorkflow.config = { workflow: [ // DONE { handler: "log", matchMessage: "Ember.LinkView is deprecated. Please use Ember.LinkComponent." }, + { handler: "log", matchMessage: new RegExp("A property of .*? was modified inside the didInsertElement hook. You should never change properties on components, services or models during didInsertElement because it causes significant performance degradation.") }, // TODO { handler: "silence", matchMessage: "Calling store.find() with a query object is deprecated. Use store.query() instead." }, @@ -18,7 +19,6 @@ window.deprecationWorkflow.config = { { handler: "silence", matchMessage: "RestAdapter#find has been deprecated and renamed to `findRecord`." }, { handler: "silence", matchMessage: "Using the same function as getter and setter is deprecated." }, { handler: "silence", matchMessage: "Using store.dematerializeRecord() has been deprecated since it was intended for private use only. You should use store.unloadRecord() instead." }, - { handler: "silence", matchMessage: "A property of was modified inside the didInsertElement hook. You should never change properties on components, services or models during didInsertElement because it causes significant performance degradation." }, { handler: "silence", matchMessage: "Using DS.Snapshot.get() is deprecated. Use .attr(), .belongsTo() or .hasMany() instead." }, { handler: "silence", matchMessage: "Usage of `typeKey` has been deprecated and will be removed in Ember Data 2.0. It has been replaced by `modelName` on the model class." } ]