Skip to content

Commit ee40d95

Browse files
committed
Merge branch 'release/22.10.0'
2 parents ef19ae7 + 70622b0 commit ee40d95

File tree

118 files changed

+1599
-1147
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+1599
-1147
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

7+
8+
## [22.10.0] - 2022-10-05
9+
### Changed
10+
- Misc bug and a11y fixes.
11+
- Keen replacement.
12+
713
## [22.9.0] - 2022-9-21
814
### Changed
915
- Misc bug and a11y fixes.

app/application/route.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import Route from '@ember/routing/route';
2+
import { action } from '@ember/object';
23
import { inject as service } from '@ember/service';
34
import Intl from 'ember-intl/services/intl';
45

56
import checkAuth from 'ember-osf-web/decorators/check-auth';
7+
import Analytics from 'ember-osf-web/services/analytics';
68
import CurrentUser from 'ember-osf-web/services/current-user';
79

810
@checkAuth
@@ -18,6 +20,7 @@ export default class ApplicationRoute extends Route.extend(
1820
) {
1921
@service intl!: Intl;
2022
@service currentUser!: CurrentUser;
23+
@service analytics!: Analytics;
2124

2225
queryParams = {
2326
viewOnlyToken: {
@@ -28,4 +31,9 @@ export default class ApplicationRoute extends Route.extend(
2831
beforeModel() {
2932
return this.intl.setLocale('en-us');
3033
}
34+
35+
@action
36+
didTransition() {
37+
this.analytics.trackPage();
38+
}
3139
}

app/authenticators/osf-cookie.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export default class OsfCookie extends Base {
8686
return { id };
8787
}
8888

89-
restore() {
89+
async restore() {
9090
const {
9191
lastVerifiedUserId,
9292
session: {
@@ -107,7 +107,7 @@ export default class OsfCookie extends Base {
107107

108108
// Check for a valid auth cookie.
109109
// If it fails, the session will be invalidated.
110-
return this.authenticate();
110+
return await this.authenticate();
111111
}
112112

113113
async _checkApiVersion() {

app/dashboard/route.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
1-
import { action } from '@ember/object';
21
import Route from '@ember/routing/route';
32
import { inject as service } from '@ember/service';
43
import { taskFor } from 'ember-concurrency-ts';
54
import Session from 'ember-simple-auth/services/session';
65

76
import DashboardController from 'ember-osf-web/dashboard/controller';
87
import requireAuth from 'ember-osf-web/decorators/require-auth';
9-
import Analytics from 'ember-osf-web/services/analytics';
108
import CurrentUser from 'ember-osf-web/services/current-user';
119
import Ready from 'ember-osf-web/services/ready';
1210

1311
@requireAuth('home')
1412
export default class Dashboard extends Route {
15-
@service analytics!: Analytics;
1613
@service currentUser!: CurrentUser;
1714
@service ready!: Ready;
1815
@service session!: Session;
@@ -27,9 +24,4 @@ export default class Dashboard extends Route {
2724
blocker.errored(e);
2825
}
2926
}
30-
31-
@action
32-
didTransition() {
33-
this.analytics.trackPage();
34-
}
3527
}

app/dashboard/styles.scss

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,13 @@
8585
.node-col-headers {
8686
display: none;
8787
}
88+
89+
.iframe-container {
90+
.osf-video {
91+
width: 336px;
92+
height: 190px;
93+
}
94+
}
8895
}
8996

9097
@media screen and (min-width: 768px) {
@@ -183,3 +190,17 @@
183190
color: $color-text-placeholder-grey-dark;
184191
opacity: 1;
185192
}
193+
194+
.iframe-container {
195+
display: flex;
196+
justify-content: center;
197+
flex-wrap: wrap;
198+
margin-top: 20px;
199+
margin-bottom: 30px;
200+
201+
.osf-video {
202+
width: 560px;
203+
height: 315px;
204+
}
205+
}
206+

app/dashboard/template.hbs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,28 @@
152152
<div class='col-sm-12 text-center'>
153153
<p>{{t 'dashboard.quicksearch.no_projects.line1'}}</p>
154154
<p>{{t 'dashboard.quicksearch.no_projects.line2'}}</p>
155-
<img src='/assets/images/dashboard/quicksearch-min.png' alt='{{t 'dashboard.quicksearch.no_projects.preview_alt'}}' class='img-responsive center-block'>
155+
156+
<div local-class='iframe-container'>
157+
<iframe
158+
data-test-osf-video
159+
local-class='osf-video'
160+
src='https://www.youtube.com/embed/iebMBpi0prc'
161+
title={{t 'dashboard.osf_video'}}
162+
alt='OSF 101 Video'
163+
aria-hidden='true'
164+
frameborder='0' allow='accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture' allowfullscreen></iframe>
165+
</div>
166+
167+
<OsfLink
168+
data-test-get-started-button
169+
data-analytics-name='Get started button'
170+
class='btn btn-primary'
171+
local-class='startButton'
172+
@target='_blank'
173+
@href='https://help.osf.io/article/342-getting-started-on-the-osf'
174+
>
175+
{{t 'dashboard.getting_started'}}
176+
</OsfLink>
156177
</div>
157178
</div>
158179
{{/if}}

app/decorators/check-auth.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import Route from '@ember/routing/route';
22
import { inject as service, Registry as ServiceRegistry } from '@ember/service';
33
import config from 'ember-get-config';
4-
import SessionService from 'ember-simple-auth/services/session';
54

65
import { NotLoggedIn } from 'ember-osf-web/errors';
76
import CurrentUser from 'ember-osf-web/services/current-user';
7+
import OsfSession from 'ember-osf-web/services/session';
88
import transitionTargetURL from 'ember-osf-web/utils/transition-target-url';
99

1010
const {
@@ -30,7 +30,7 @@ export default function checkAuth<T extends ConcreteSubclass<Route>>(
3030
) {
3131
class AuthenticatedRoute extends RouteSubclass {
3232
@service router!: ServiceRegistry['router'];
33-
@service session!: SessionService;
33+
@service session!: OsfSession;
3434
@service currentUser!: CurrentUser;
3535

3636
async beforeModel(transition: any) {

app/goodbye/route.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,14 @@
1-
import { action } from '@ember/object';
21
import Transition from '@ember/routing/-private/transition';
32
import Route from '@ember/routing/route';
43
import { inject as service } from '@ember/service';
54
import Session from 'ember-simple-auth/services/session';
65

7-
import Analytics from 'ember-osf-web/services/analytics';
8-
96
export default class Goodbye extends Route {
10-
@service analytics!: Analytics;
117
@service session!: Session;
128

139
async beforeModel(transition: Transition) {
1410
await super.beforeModel(transition);
1511
const queryParams = this.session.isAuthenticated ? {} : { goodbye: true };
1612
this.transitionTo('home', { queryParams });
1713
}
18-
19-
@action
20-
didTransition() {
21-
this.analytics.trackPage();
22-
}
2314
}

app/guid-file/route.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { action } from '@ember/object';
21
import Route from '@ember/routing/route';
32
import { inject as service } from '@ember/service';
43
import { waitFor } from '@ember/test-waiters';
@@ -8,7 +7,6 @@ import { taskFor } from 'ember-concurrency-ts';
87
import moment from 'moment';
98

109
import Institution from 'ember-osf-web/models/institution';
11-
import Analytics from 'ember-osf-web/services/analytics';
1210
import MetaTags, { HeadTagDef } from 'ember-osf-web/services/meta-tags';
1311
import Ready from 'ember-osf-web/services/ready';
1412
import OsfStorageFile from 'ember-osf-web/packages/files/osf-storage-file';
@@ -27,7 +25,6 @@ import CurrentUserService from 'ember-osf-web/services/current-user';
2725
import RegistrationModel from 'ember-osf-web/models/registration';
2826

2927
export default class GuidFile extends Route {
30-
@service analytics!: Analytics;
3128
@service('head-tags') headTagsService!: HeadTagsService;
3229
@service metaTags!: MetaTags;
3330
@service ready!: Ready;
@@ -116,8 +113,11 @@ export default class GuidFile extends Route {
116113
taskFor(this.setHeadTags).perform(model.fileModel);
117114
}
118115

119-
@action
120-
didTransition() {
121-
this.analytics.trackPage(true, 'files');
116+
buildRouteInfoMetadata() {
117+
return {
118+
osfMetrics: {
119+
itemGuid: this.controller.model.id,
120+
},
121+
};
122122
}
123123
}

app/guid-node/forks/route.ts

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,7 @@
1-
import { action } from '@ember/object';
21
import Route from '@ember/routing/route';
3-
import { inject as service } from '@ember/service';
4-
5-
import Node from 'ember-osf-web/models/node';
6-
import { GuidRouteModel } from 'ember-osf-web/resolve-guid/guid-route';
7-
import Analytics from 'ember-osf-web/services/analytics';
8-
import Ready from 'ember-osf-web/services/ready';
92

103
export default class GuidNodeForks extends Route {
11-
@service analytics!: Analytics;
12-
@service ready!: Ready;
13-
144
model() {
155
return this.modelFor('guid-node');
166
}
17-
18-
@action
19-
async didTransition() {
20-
const { taskInstance } = this.controller.model as GuidRouteModel<Node>;
21-
await taskInstance;
22-
const node = taskInstance.value;
23-
this.analytics.trackPage(node ? node.public : undefined, 'nodes');
24-
}
257
}

0 commit comments

Comments
 (0)