diff --git a/app/assets/javascripts/discourse/controllers/preferences/account.js.es6 b/app/assets/javascripts/discourse/controllers/preferences/account.js.es6 index bab680c4540..b3c09ef6b95 100644 --- a/app/assets/javascripts/discourse/controllers/preferences/account.js.es6 +++ b/app/assets/javascripts/discourse/controllers/preferences/account.js.es6 @@ -106,9 +106,15 @@ export default Ember.Controller.extend( @computed("showAllAuthTokens", "model.user_auth_tokens") authTokens(showAllAuthTokens, tokens) { - tokens.sort((a, b) => - a.is_active ? -1 : b.is_active ? 1 : b.seen_at.localeCompare(a.seen_at) - ); + tokens.sort((a, b) => { + if (a.is_active) { + return -1; + } else if (b.is_active) { + return 1; + } else { + return b.seen_at.localeCompare(a.seen_at); + } + }); return showAllAuthTokens ? tokens diff --git a/test/javascripts/acceptance/preferences-test.js.es6 b/test/javascripts/acceptance/preferences-test.js.es6 index ab1619069ca..d5ab2f6e056 100644 --- a/test/javascripts/acceptance/preferences-test.js.es6 +++ b/test/javascripts/acceptance/preferences-test.js.es6 @@ -299,6 +299,14 @@ QUnit.test("visit my preferences", async assert => { QUnit.test("recently connected devices", async assert => { await visit("/u/eviltrout/preferences"); + assert.equal( + find(".auth-tokens > .auth-token:first .auth-token-device") + .text() + .trim(), + "Linux Computer", + "it should display active token first" + ); + assert.equal( find(".pref-auth-tokens > a:first") .text()