From 0fe82d050a7004681fe35beb539decf901e1b24f Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Thu, 14 Mar 2013 15:43:12 +0100
Subject: [PATCH 1/7] Update ember.js

---
 assets/scripts/vendor/ember.js | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/assets/scripts/vendor/ember.js b/assets/scripts/vendor/ember.js
index 39968425..65cb5060 100644
--- a/assets/scripts/vendor/ember.js
+++ b/assets/scripts/vendor/ember.js
@@ -1,5 +1,5 @@
-// Version: v1.0.0-rc.1-178-g7fdc957
-// Last commit: 7fdc957 (2013-03-12 23:56:02 +0100)
+// Version: v1.0.0-rc.1-179-g737c076
+// Last commit: 737c076 (2013-03-14 15:31:32 +0100)
 
 
 (function() {
@@ -150,8 +150,8 @@ Ember.deprecateFunc = function(message, func) {
 
 })();
 
-// Version: v1.0.0-rc.1-178-g7fdc957
-// Last commit: 7fdc957 (2013-03-12 23:56:02 +0100)
+// Version: v1.0.0-rc.1-179-g737c076
+// Last commit: 737c076 (2013-03-14 15:31:32 +0100)
 
 
 (function() {
@@ -19482,6 +19482,11 @@ EmberHandlebars.ViewHelper = Ember.Object.create({
       dup = true;
     }
 
+    if (hash.tag) {
+      extensions.tagName = hash.tag;
+      dup = true;
+    }
+
     if (classes) {
       classes = classes.split(' ');
       extensions.classNames = classes;
@@ -19508,6 +19513,7 @@ EmberHandlebars.ViewHelper = Ember.Object.create({
     if (dup) {
       hash = Ember.$.extend({}, hash);
       delete hash.id;
+      delete hash.tag;
       delete hash['class'];
       delete hash.classBinding;
     }
@@ -27254,8 +27260,8 @@ Ember States
 
 
 })();
-// Version: v1.0.0-rc.1-178-g7fdc957
-// Last commit: 7fdc957 (2013-03-12 23:56:02 +0100)
+// Version: v1.0.0-rc.1-179-g737c076
+// Last commit: 737c076 (2013-03-14 15:31:32 +0100)
 
 
 (function() {

From 296bff56f169e21c967b07eee4d706f2c9116f51 Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Thu, 14 Mar 2013 15:43:19 +0100
Subject: [PATCH 2/7] Fix specs

---
 .../scripts/app/templates/repos/show/tabs.hbs | 20 ++++-----
 assets/scripts/spec/event_spec.coffee         | 12 +++---
 assets/scripts/spec/job_spec.coffee           | 42 +++++++++----------
 assets/scripts/spec/sidebar_spec.coffee       |  4 +-
 assets/scripts/spec/support/conditions.coffee |  2 +-
 assets/scripts/spec/support/helpers.coffee    |  1 -
 assets/scripts/spec/support/mocks.coffee      |  4 +-
 7 files changed, 42 insertions(+), 43 deletions(-)

diff --git a/assets/scripts/app/templates/repos/show/tabs.hbs b/assets/scripts/app/templates/repos/show/tabs.hbs
index 6b630ae9..75029f23 100644
--- a/assets/scripts/app/templates/repos/show/tabs.hbs
+++ b/assets/scripts/app/templates/repos/show/tabs.hbs
@@ -37,24 +37,24 @@
   </li>
   <li id="tab_build" {{bindAttr class="view.classBuild"}}>
     <h5>
-      {{#with view.build}}
-        {{#if repo.slug}}
-          {{#linkTo "build" repo this}}
-            {{t repositories.tabs.build}} #{{number}}
+      {{#if view.build.id}}
+        {{#if view.build.repo.slug}}
+          {{#linkTo "build" view.build.repo view.build}}
+            {{t repositories.tabs.build}} #{{view.build.number}}
           {{/linkTo}}
         {{/if}}
-      {{/with}}
+      {{/if}}
     </h5>
   </li>
   <li id="tab_job" {{bindAttr class="view.classJob"}}>
     <h5>
-      {{#with view.job}}
-        {{#if repo.slug}}
-          {{#linkTo "job" repo this}}
-            {{t repositories.tabs.job}} #{{number}}
+      {{#if view.job.id}}
+        {{#if view.job.repo.slug}}
+          {{#linkTo "job" view.job.repo view.job}}
+            {{t repositories.tabs.job}} #{{view.job.number}}
           {{/linkTo}}
         {{/if}}
-      {{/with}}
+      {{/if}}
     </h5>
   </li>
 </ul>
diff --git a/assets/scripts/spec/event_spec.coffee b/assets/scripts/spec/event_spec.coffee
index 8ea55595..380a007e 100644
--- a/assets/scripts/spec/event_spec.coffee
+++ b/assets/scripts/spec/event_spec.coffee
@@ -70,9 +70,9 @@ describe 'events', ->
   describe 'an event adding a job', ->
     beforeEach ->
       app 'travis-ci/travis-core'
-      waitFor jobsRendered
+      waitFor jobsRendered, 'jobs should be rendered'
       runs ->
-        waitFor queuesRendered
+        waitFor queuesRendered, 'queues should be rendered'
 
     it 'adds a job to the jobs queue', ->
       payload =
@@ -80,7 +80,7 @@ describe 'events', ->
           id: 12
           repository_id: 1
           number: '1.4'
-          queue: 'builds.common'
+          queue: 'builds.linux'
 
       $.mockjax
         url: '/jobs/12'
@@ -93,13 +93,13 @@ describe 'events', ->
             id: 12
             repository_id: 1
             number: '1.4'
-            queue: 'builds.common'
+            queue: 'builds.linux'
             state: 'created'
 
-      waits(100)
+      waits(1000)
       runs ->
         listsQueuedJob
-          name: 'common'
+          name: 'linux'
           row: 3
           item: { number: '1.4', repo: 'travis-ci/travis-core' }
 
diff --git a/assets/scripts/spec/job_spec.coffee b/assets/scripts/spec/job_spec.coffee
index 336c73c6..ab2f5955 100644
--- a/assets/scripts/spec/job_spec.coffee
+++ b/assets/scripts/spec/job_spec.coffee
@@ -18,28 +18,28 @@ describe 'on the "job" state', ->
       { slug: 'travis-ci/travis-assets', build: { number: 3, url: '/travis-ci/travis-assets/builds/3', duration: '30 sec', finishedAt: 'a day ago' } }
     ]
 
-    displaysRepository
-      href: 'http://github.com/travis-ci/travis-core'
-
-    displaysSummary
-      id: 1
-      type: 'job'
-      repo: 'travis-ci/travis-core'
-      commit: '1234567'
-      branch: 'master'
-      compare: '0123456..1234567'
-      finishedAt: '3 minutes ago'
-      duration: '30 sec'
-      message: 'commit message 1'
-
-    displaysTabs
-      current: { href: '/travis-ci/travis-core' }
-      builds:  { href: '/travis-ci/travis-core/builds' }
-      build:   { href: '/travis-ci/travis-core/builds/1' }
-      job:     { href: '/travis-ci/travis-core/jobs/1', active: true }
-
-    waits 30
+    waits 100
     runs ->
+      displaysRepository
+        href: 'http://github.com/travis-ci/travis-core'
+
+      displaysSummary
+        id: 1
+        type: 'job'
+        repo: 'travis-ci/travis-core'
+        commit: '1234567'
+        branch: 'master'
+        compare: '0123456..1234567'
+        finishedAt: '3 minutes ago'
+        duration: '30 sec'
+        message: 'commit message 1'
+
+      displaysTabs
+        current: { href: '/travis-ci/travis-core' }
+        builds:  { href: '/travis-ci/travis-core/builds' }
+        build:   { href: '/travis-ci/travis-core/builds/1' }
+        job:     { href: '/travis-ci/travis-core/jobs/1', active: true }
+
       displaysLog [
         'log 1'
       ]
diff --git a/assets/scripts/spec/sidebar_spec.coffee b/assets/scripts/spec/sidebar_spec.coffee
index 1b639774..d2c326c6 100644
--- a/assets/scripts/spec/sidebar_spec.coffee
+++ b/assets/scripts/spec/sidebar_spec.coffee
@@ -7,6 +7,6 @@ describe 'the sidebar', ->
 
   it 'displays the expected stuff', ->
     listsQueues [
-      { name: 'common', item: { number: '5.1', repo: 'travis-ci/travis-core' } }
-      { name: 'common', item: { number: '5.2', repo: 'travis-ci/travis-core' } }
+      { name: 'linux', item: { number: '5.1', repo: 'travis-ci/travis-core' } }
+      { name: 'linux', item: { number: '5.2', repo: 'travis-ci/travis-core' } }
     ]
diff --git a/assets/scripts/spec/support/conditions.coffee b/assets/scripts/spec/support/conditions.coffee
index 5491f98b..67a60462 100644
--- a/assets/scripts/spec/support/conditions.coffee
+++ b/assets/scripts/spec/support/conditions.coffee
@@ -9,6 +9,6 @@
 @buildsRendered  = notEmpty('#builds .number')
 @jobRendered     = notEmpty('#summary .number')
 @jobsRendered    = notEmpty('#jobs .number')
-@queuesRendered  = notEmpty('#queue_common li')
+@queuesRendered  = notEmpty('#queue_linux li')
 @workersRendered = notEmpty('.worker')
 
diff --git a/assets/scripts/spec/support/helpers.coffee b/assets/scripts/spec/support/helpers.coffee
index fb41779e..c8007a71 100644
--- a/assets/scripts/spec/support/helpers.coffee
+++ b/assets/scripts/spec/support/helpers.coffee
@@ -8,4 +8,3 @@
 
 @waitFor = waitsFor
 
-
diff --git a/assets/scripts/spec/support/mocks.coffee b/assets/scripts/spec/support/mocks.coffee
index 6d31b625..b8c1587d 100644
--- a/assets/scripts/spec/support/mocks.coffee
+++ b/assets/scripts/spec/support/mocks.coffee
@@ -27,8 +27,8 @@ jobs = [
   { id: '4', repository_id: 1, build_id: 2, commit_id: 2, log_id: 4, number: '2.1', config: { rvm: 'rbx' } }
   { id: '5', repository_id: 2, build_id: 3, commit_id: 3, log_id: 5, number: '3.1', config: { rvm: 'rbx' }, duration: 30, started_at: '2012-07-02T00:01:00Z', finished_at: '2012-07-02T00:01:30Z', state: 'failed' }
   { id: '6', repository_id: 3, build_id: 4, commit_id: 4, log_id: 6, number: '4.1', config: { rvm: 'rbx' }, started_at: '2012-07-02T00:02:00Z' }
-  { id: '7', repository_id: 1, build_id: 5, commit_id: 5, log_id: 7, number: '5.1', config: { rvm: 'rbx' }, state: 'created', queue: 'builds.common' }
-  { id: '8', repository_id: 1, build_id: 5, commit_id: 5, log_id: 8, number: '5.2', config: { rvm: 'rbx' }, state: 'created', queue: 'builds.common' }
+  { id: '7', repository_id: 1, build_id: 5, commit_id: 5, log_id: 7, number: '5.1', config: { rvm: 'rbx' }, state: 'created', queue: 'builds.linux' }
+  { id: '8', repository_id: 1, build_id: 5, commit_id: 5, log_id: 8, number: '5.2', config: { rvm: 'rbx' }, state: 'created', queue: 'builds.linux' }
 ]
 
 artifacts = [

From 181ecd227a7b5b6cc15842c51bf6e931721a9ade Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Thu, 14 Mar 2013 15:55:14 +0100
Subject: [PATCH 3/7] Don't access repo object when it's not needed to not send
 ajax requests

---
 assets/scripts/app/controllers/running_jobs.coffee | 2 +-
 assets/scripts/app/models/job.coffee               | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/assets/scripts/app/controllers/running_jobs.coffee b/assets/scripts/app/controllers/running_jobs.coffee
index 08eab756..2a010233 100644
--- a/assets/scripts/app/controllers/running_jobs.coffee
+++ b/assets/scripts/app/controllers/running_jobs.coffee
@@ -1,6 +1,6 @@
 Travis.RunningJobsController = Em.ArrayProxy.extend
   Group: Em.Object.extend
-    repo: (-> @get('jobs.firstObject.repo') ).property('jobs.firstObject.repo')
+    slug: (-> @get('jobs.firstObject.repoSlug') ).property('jobs.firstObject.repoSlug')
 
     init: ->
       @_super.apply this, arguments
diff --git a/assets/scripts/app/models/job.coffee b/assets/scripts/app/models/job.coffee
index 374619b2..601addc0 100644
--- a/assets/scripts/app/models/job.coffee
+++ b/assets/scripts/app/models/job.coffee
@@ -31,7 +31,7 @@ require 'travis/model'
   ).property()
 
   repoSlug: (->
-    @get('repo.slug') || @get('repositorySlug')
+    @get('repoSlug') || @get('repo.slug')
   ).property('repo.slug', 'repositorySlug')
 
   repoData: (->

From a726f5a7306233faf8a594279f1657fef85188f9 Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Thu, 14 Mar 2013 15:58:03 +0100
Subject: [PATCH 4/7] Typo

---
 assets/scripts/app/models/job.coffee | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/assets/scripts/app/models/job.coffee b/assets/scripts/app/models/job.coffee
index 601addc0..00cbff9a 100644
--- a/assets/scripts/app/models/job.coffee
+++ b/assets/scripts/app/models/job.coffee
@@ -31,7 +31,7 @@ require 'travis/model'
   ).property()
 
   repoSlug: (->
-    @get('repoSlug') || @get('repo.slug')
+    @get('repositorySlug') || @get('repo.slug')
   ).property('repo.slug', 'repositorySlug')
 
   repoData: (->

From bca00d78f656fd7fa764dc745b22a098e8a4a0a0 Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Thu, 14 Mar 2013 16:00:41 +0100
Subject: [PATCH 5/7] We don't even need to check repo.slug, repoSlug, should
 be always available

---
 assets/scripts/app/models/job.coffee | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/assets/scripts/app/models/job.coffee b/assets/scripts/app/models/job.coffee
index 00cbff9a..98334b06 100644
--- a/assets/scripts/app/models/job.coffee
+++ b/assets/scripts/app/models/job.coffee
@@ -31,8 +31,8 @@ require 'travis/model'
   ).property()
 
   repoSlug: (->
-    @get('repositorySlug') || @get('repo.slug')
-  ).property('repo.slug', 'repositorySlug')
+    @get('repositorySlug')
+  ).property('repositorySlug')
 
   repoData: (->
     { id: @get('repoId'), slug: @get('repoSlug') }

From 6320e009af2c40e71f1b03504fc0130989934868 Mon Sep 17 00:00:00 2001
From: Mathias Meyer <meyer@paperplanes.de>
Date: Thu, 14 Mar 2013 17:36:55 +0100
Subject: [PATCH 6/7] Add BusyConf as sponsor.

---
 assets/scripts/data/sponsors.coffee | 1 +
 1 file changed, 1 insertion(+)

diff --git a/assets/scripts/data/sponsors.coffee b/assets/scripts/data/sponsors.coffee
index b8148a36..bb97bf07 100644
--- a/assets/scripts/data/sponsors.coffee
+++ b/assets/scripts/data/sponsors.coffee
@@ -43,6 +43,7 @@
   { id: '40', type: 'silver', link: "<a href=\"http://fiksu.com\">Fiksu</a>"}
   { id: '41', type: 'silver', link: "<a href=\"http://saucelabs.com\">Sauce Labs</a>"}
   { id: '42', type: 'silver', link: "<a href=\"http://mogotest.com\">Mogotest</a><span>: Never be embarrassed by a visually broken site again.</span>"}
+  { id: '43', type: 'silver', link: "<a href=\"http://busyconf.com\">BusyConf</a><span>: Conferences and Events Made Easy</span>"}
 ]
 
 @Travis.WORKERS = {

From b847dbd664f35db18a651bf8f0474bb2065bf585 Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Thu, 14 Mar 2013 17:56:26 +0100
Subject: [PATCH 7/7] Reset line numebr on each request

---
 assets/scripts/app/controllers/build.coffee |  1 +
 assets/scripts/app/controllers/job.coffee   |  1 +
 assets/scripts/app/routes.coffee            | 16 ++++++++--------
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/assets/scripts/app/controllers/build.coffee b/assets/scripts/app/controllers/build.coffee
index f2a6b6b1..56740440 100644
--- a/assets/scripts/app/controllers/build.coffee
+++ b/assets/scripts/app/controllers/build.coffee
@@ -3,6 +3,7 @@ Travis.BuildController = Ember.Controller.extend
   repoBinding: 'controllers.repo.repo'
   buildBinding: 'controllers.repo.build'
   commitBinding: 'build.commit'
+  lineNumberBinding: 'controllers.repo.lineNumber'
 
   currentItemBinding: 'build'
 
diff --git a/assets/scripts/app/controllers/job.coffee b/assets/scripts/app/controllers/job.coffee
index fc333355..3f94343c 100644
--- a/assets/scripts/app/controllers/job.coffee
+++ b/assets/scripts/app/controllers/job.coffee
@@ -4,6 +4,7 @@ Travis.JobController = Em.Controller.extend
   jobBinding: 'controllers.repo.job'
   repoBinding: 'controllers.repo.repo'
   commitBinding: 'job.commit'
+  lineNumberBinding: 'controllers.repo.lineNumber'
 
   currentItemBinding: 'job'
 
diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee
index 8a151361..4bab2d5b 100644
--- a/assets/scripts/app/routes.coffee
+++ b/assets/scripts/app/routes.coffee
@@ -58,6 +58,12 @@ Travis.Router.map ->
       @route 'index', path: '/'
       @route 'profile', path: '/profile'
 
+Travis.ApplicationRoute = Ember.Route.extend Travis.LineNumberParser,
+  setupController: ->
+    @_super.apply this, arguments
+
+    this.controllerFor('repo').set('lineNumber', @fetchLineNumber())
+
 Travis.IndexCurrentRoute = Ember.Route.extend
   renderTemplate: ->
     @render 'repo'
@@ -77,7 +83,7 @@ Travis.BuildsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'builds')
 Travis.PullRequestsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'pull_requests')
 Travis.BranchesRoute = Travis.AbstractBuildsRoute.extend(contentType: 'branches')
 
-Travis.BuildRoute = Ember.Route.extend Travis.LineNumberParser,
+Travis.BuildRoute = Ember.Route.extend
   renderTemplate: ->
     @render 'build', outlet: 'pane', into: 'repo'
 
@@ -89,14 +95,11 @@ Travis.BuildRoute = Ember.Route.extend Travis.LineNumberParser,
   setupController: (controller, model) ->
     model = Travis.Build.find(model) if model && !model.get
 
-    if lineNumber = @fetchLineNumber()
-      controller.set('lineNumber', lineNumber)
-
     repo = @container.lookup('controller:repo')
     repo.set('build', model)
     repo.activate('build')
 
-Travis.JobRoute = Ember.Route.extend Travis.LineNumberParser,
+Travis.JobRoute = Ember.Route.extend
   renderTemplate: ->
     @render 'job', outlet: 'pane', into: 'repo'
 
@@ -108,9 +111,6 @@ Travis.JobRoute = Ember.Route.extend Travis.LineNumberParser,
   setupController: (controller, model) ->
     model = Travis.Job.find(model) if model && !model.get
 
-    if lineNumber = @fetchLineNumber()
-      controller.set('lineNumber', lineNumber)
-
     repo = @container.lookup('controller:repo')
     repo.set('job', model)
     repo.activate('job')