Skip to content

Commit fd9aaf0

Browse files
Gaurav0sivakumar-kailasam
authored andcommitted
fix async request leaks in fastboot
1 parent bc58459 commit fd9aaf0

File tree

6 files changed

+27
-18
lines changed

6 files changed

+27
-18
lines changed

app/helpers/is-latest.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { helper } from '@ember/component/helper';
22
import getLastVersion from 'ember-api-docs/utils/get-last-version';
33

44
export function isLatest(params, { version, allVersions}) {
5-
let latestVersion = getLastVersion(allVersions);
5+
let latestVersion = getLastVersion(allVersions.map(version => version.id));
66
return version === latestVersion;
77
}
88

app/routes/project-version.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export default Route.extend({
3131
return this.store.findRecord('project-version', id, { includes: 'project' });
3232
},
3333

34-
// Using redirect instead of afterModel so transition succeeds and returns 30
34+
// Using redirect instead of afterModel so transition succeeds and returns 307
3535
redirect(model, transition) {
3636
this._gatherHeadDataFromVersion(model, transition.params['project-version'].project_version);
3737
let classParams = transition.params['project-version.classes.class'];
@@ -41,7 +41,7 @@ export default Route.extend({
4141
let transitionVersion = this.projectService.getUrlVersion();
4242
if (!classParams && !moduleParams && !namespaceParams && !functionParams) {
4343
// if there is no class, module, or namespace specified...
44-
let latestVersion = getLastVersion(model.get('project.projectVersions'));
44+
let latestVersion = getLastVersion(model.get('project.content').hasMany('projectVersions').ids());
4545
let isLatestVersion = transitionVersion === latestVersion || transitionVersion === 'release';
4646
let shouldConvertPackages = semverCompare(model.get('version'), '2.16') < 0;
4747
if (!shouldConvertPackages || isLatestVersion) {

app/utils/get-full-version.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import getLastVersion from 'ember-api-docs/utils/get-last-version';
44
export default function getFullVersion(urlVersion, project, projectObj, metaStore) {
55
let projectVersion;
66
if (urlVersion === 'release') {
7-
let versions = projectObj.get('projectVersions').toArray();
7+
let versions = projectObj.hasMany('projectVersions').ids();
88
projectVersion = metaStore.getFullVersion(project, getCompactVersion(getLastVersion(versions)));
99
} else {
1010
projectVersion = metaStore.getFullVersion(project, urlVersion);

app/utils/get-last-version.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import semverCompare from 'semver-compare';
22

33
export default function getLastVersion(projectVersions) {
4-
const sortedVersions = projectVersions.getEach('id').map(v => v.replace(/ember-data-|ember-/g, '')).sort((v1, v2) => {
4+
const sortedVersions = projectVersions.map(v => v.replace(/ember-data-|ember-/g, '')).sort((v1, v2) => {
55
return semverCompare(v1, v2);
66
});
77
return sortedVersions[sortedVersions.length - 1];
Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import getFullVersion from 'ember-api-docs/utils/get-full-version';
22
import { module, test } from 'qunit';
33
import Service from '@ember/service';
4-
import Object from '@ember/object';
5-
import ArrayProxy from '@ember/array/proxy';
64
import { A } from '@ember/array';
5+
import DS from 'ember-data';
6+
7+
const { ManyArray } = DS;
78

89
module('Unit | Utility | get full version', function() {
910
test('should return full version when release', function(assert) {
@@ -14,11 +15,19 @@ module('Unit | Utility | get full version', function() {
1415
return '2.17.1';
1516
}
1617
});
17-
let projectVersions = ArrayProxy.create({
18-
content: A([{ id: 'ember-2.17.1'}, { id: 'ember-2.16.1' }])
18+
let projectVersions = ManyArray.create({
19+
content: A([{ id: 'ember-2.17.1'}, { id: 'ember-2.16.1' }]),
20+
flushCanonical() {},
21+
ids() {
22+
return this.content.map(obj => obj.id);
23+
}
1924
});
20-
let projectObj = Object.create({ projectVersions });
25+
let projectObj = {
26+
hasMany() {
27+
return projectVersions;
28+
}
29+
};
2130
let result = getFullVersion('release', 'ember', projectObj, metaStore);
2231
assert.equal(result, '2.17.1');
2332
});
24-
});
33+
});

tests/unit/utils/get-last-version-test.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@ import { module, test } from 'qunit';
55
module('Unit | Utility | get-latest-version', function() {
66
test('should pick the latest version of ember', function (assert) {
77
let versions = A([
8-
{ id: 'ember-1.13.0' },
9-
{ id: 'ember-2.7' },
10-
{ id: 'ember-2.1.10' }
8+
'ember-1.13.0',
9+
'ember-2.7',
10+
'ember-2.1.10'
1111
]);
1212
let latestVersion = getLastVersion(versions);
1313
assert.equal(latestVersion, '2.7');
1414
});
1515

1616
test('should pick the latest version of ember-data', function (assert) {
1717
let versions = A([
18-
{ id: 'ember-data-1.13.0' },
19-
{ id: 'ember-data-2.7' },
20-
{ id: 'ember-data-2.1.10' }
18+
'ember-data-1.13.0',
19+
'ember-data-2.7',
20+
'ember-data-2.1.10'
2121
]);
2222
let latestVersion = getLastVersion(versions);
2323
assert.equal(latestVersion, '2.7');
2424
});
25-
});
25+
});

0 commit comments

Comments
 (0)