diff --git a/Gemfile.lock b/Gemfile.lock index 23b646af..52d73a34 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -43,7 +43,7 @@ GIT GIT remote: git://github.com/travis-ci/travis-api.git - revision: 18bffa246014e0ae380734277eb180021f1eb2b4 + revision: 3f5cf5f33a6b6ca0ff1562e18c0cd24d3cc010fa specs: travis-api (0.0.1) backports (~> 2.5) @@ -61,7 +61,7 @@ GIT GIT remote: git://github.com/travis-ci/travis-core.git - revision: 45cb3ef8222af247c862e4b8a31c7033927d7048 + revision: 46fcb22ff1517d73e7a6425a7fc1f876ef771281 branch: sf-travis-api specs: travis-core (0.0.1) diff --git a/assets/scripts/app/auth.coffee b/assets/scripts/app/auth.coffee index 31aa96fe..aa384cfc 100644 --- a/assets/scripts/app/auth.coffee +++ b/assets/scripts/app/auth.coffee @@ -48,8 +48,8 @@ user = @storeUser(data.user) if data?.user @set('state', if user then 'signed-in' else 'signed-out') @set('user', if user then user else undefined) - @app.get('router').transitionTo('authenticated') if @app.get('router') - # Travis.app.get('router').route(@get('returnTo')) + if Travis.app && (router = Travis.app.get('router')) + router.send('authenticate') storeToken: (token) -> sessionStorage.setItem('travis.token', token) diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index 274b9d1b..48cccfd5 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -134,12 +134,14 @@ Travis.Router = Ember.Router.extend needsAuth: (path) -> path.indexOf('/profile') == 0 && !@signedIn() + authenticate: -> + @app.get('router').transitionTo('authenticated') + loading: Ember.Route.extend routePath: (router, path) -> if match = path.match(/#.*$/) router.set 'lineNumberHash', match[0] - sessionStorage.setItem('travis.path', path) if router.needsAuth(path) router.transitionTo('root.auth') @@ -148,16 +150,18 @@ Travis.Router = Ember.Router.extend router.transitionTo('authenticated') authenticated: Ember.Route.extend + authenticate: (->) connectOutlets: (router) -> path = sessionStorage.getItem('travis.path') sessionStorage.removeItem('travis.path') router.transitionTo('root') if path router.route(path) - else + else router.route('/') root: Ember.Route.extend + authenticate: (->) loading: Ember.State.extend() auth: Ember.Route.extend diff --git a/lib/travis/web/app/files.rb b/lib/travis/web/app/files.rb index 2d8f5374..e93b7e53 100644 --- a/lib/travis/web/app/files.rb +++ b/lib/travis/web/app/files.rb @@ -10,7 +10,9 @@ class Travis::Web::App def index proc do |env| - Rack::File.new(nil).tap { |f| f.path = 'public/index.html' }.serving(env) + status, headers, body = Rack::File.new(nil).tap { |f| f.path = 'public/index.html' }.serving(env) + headers.delete 'Last-Modified' + [status, headers, body] end end end diff --git a/public/scripts/app.js b/public/scripts/app.js index 25ed591c..56ef8413 100644 --- a/public/scripts/app.js +++ b/public/scripts/app.js @@ -29619,4 +29619,4 @@ var _require=function(){function c(a,c){document.addEventListener?a.addEventList ++g&&setTimeout(c,0)})}}(); (function(){!window.WebSocket&&window.MozWebSocket&&(window.WebSocket=window.MozWebSocket);if(window.WebSocket)Pusher.Transport=window.WebSocket,Pusher.TransportType="native";var c=(document.location.protocol=="http:"?Pusher.cdn_http:Pusher.cdn_https)+Pusher.VERSION,a=[];window.JSON||a.push(c+"/json2"+Pusher.dependency_suffix+".js");if(!window.WebSocket)window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=!0,a.push(c+"/flashfallback"+Pusher.dependency_suffix+".js");var b=function(){return window.WebSocket?function(){Pusher.ready()}: function(){window.WebSocket?(Pusher.Transport=window.WebSocket,Pusher.TransportType="flash",window.WEB_SOCKET_SWF_LOCATION=c+"/WebSocketMain.swf",WebSocket.__addTask(function(){Pusher.ready()}),WebSocket.__initialize()):(Pusher.Transport=null,Pusher.TransportType="none",Pusher.ready())}}(),e=function(a){var b=function(){document.body?a():setTimeout(b,0)};b()},g=function(){e(b)};a.length>0?_require(a,g):g()})(); -;minispade.register('app', "(function() {(function() {\nminispade.require('auth');\nminispade.require('controllers');\nminispade.require('helpers');\nminispade.require('models');\nminispade.require('pusher');\nminispade.require('routes');\nminispade.require('slider');\nminispade.require('store');\nminispade.require('tailing');\nminispade.require('templates');\nminispade.require('views');\nminispade.require('config/locales');\nminispade.require('data/sponsors');\n\n Travis.reopen({\n App: Em.Application.extend({\n autoinit: false,\n currentUserBinding: 'auth.user',\n authStateBinding: 'auth.state',\n init: function() {\n this._super.apply(this, arguments);\n this.store = Travis.Store.create();\n this.store.loadMany(Travis.Sponsor, Travis.SPONSORS);\n this.set('auth', Travis.Auth.create({\n app: this,\n endpoint: Travis.config.api_endpoint\n }));\n this.slider = new Travis.Slider();\n this.pusher = new Travis.Pusher(Travis.config.pusher);\n return this.tailing = new Travis.Tailing();\n },\n signIn: function() {\n return this.get('auth').signIn();\n },\n signOut: function() {\n this.get('auth').signOut();\n return this.get('router').send('showRoot');\n },\n receive: function() {\n return this.store.receive.apply(this.store, arguments);\n },\n toggleSidebar: function() {\n var element;\n $('body').toggleClass('maximized');\n element = $('');\n $('#top .profile').append(element);\n Em.run.later((function() {\n return element.remove();\n }), 10);\n element = $('');\n $('#repo').append(element);\n return Em.run.later((function() {\n return element.remove();\n }), 10);\n }\n })\n });\n\n}).call(this);\n\n})();\n//@ sourceURL=app");minispade.register('auth', "(function() {(function() {\n\n this.Travis.Auth = Ember.Object.extend({\n iframe: $('