Skip to content

Commit f8b876b

Browse files
committed
clean up code
1 parent a8b35d9 commit f8b876b

File tree

3 files changed

+31
-25
lines changed

3 files changed

+31
-25
lines changed

src/components/NewReleaseNotification.vue

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,17 @@ export default {
3636
currentVersion: null,
3737
latestVersion: null,
3838
latestVersionDate: null,
39+
// The following constants can be used in other files, such as ReleaseNotificationSettings.vue
40+
SHORT_BACKOFF_PERIOD: SHORT_BACKOFF_PERIOD,
41+
LONG_BACKOFF_PERIOD: LONG_BACKOFF_PERIOD,
3942
};
4043
},
4144
async mounted() {
4245
this.retrieveData();
4346
if (this.data && (!this.data.isEnabled || moment() < moment(this.data.nextCheckTime))) return;
4447
45-
await this.retreiveReleases();
48+
await this.retrieveCurrentVersion();
49+
await this.retrieveLatestVersion();
4650
this.isVisible = this.getHasNewRelease() && this.getReleaseIsReady();
4751
4852
if (this.isVisible && this.data) {
@@ -71,28 +75,30 @@ export default {
7175
if (localStorage.getItem('newReleaseCheckData')) {
7276
try {
7377
this.data = JSON.parse(localStorage.getItem('newReleaseCheckData'));
74-
} catch (e) {
78+
} catch (err) {
79+
console.error('newReleaseCheckData not found in localStorage: ', err);
7580
localStorage.removeItem('newReleaseCheckData');
7681
}
7782
}
7883
},
79-
retreiveReleases() {
80-
return Promise.all([
81-
this.$aw.getInfo(),
82-
axios.get('https://api.github.com/repos/ActivityWatch/activitywatch/releases/latest'),
83-
])
84-
.then(responses => {
85-
this.currentVersion = this.cleanVersionTag(responses[0].version);
86-
this.latestVersion = this.cleanVersionTag(responses[1].data.tag_name);
87-
this.latestVersionDate = moment(responses[1].data.published_at);
88-
})
89-
.catch(err => {
90-
// Should not display alert if failed, e.g. when user isn't connected to the internet
91-
console.error('Check for new releases is unable to connect: ', err);
92-
this.currentVersion = null;
93-
this.latestVersion = null;
94-
this.latestVersionDate = null;
95-
});
84+
async retrieveCurrentVersion() {
85+
try {
86+
const response = await this.$aw.getInfo();
87+
this.currentVersion = this.cleanVersionTag(response.version);
88+
} catch (err) {
89+
console.error('unable to connect to aw-server: ', err);
90+
}
91+
},
92+
async retrieveLatestVersion() {
93+
try {
94+
const response = await axios.get(
95+
'https://api.github.com/repos/ActivityWatch/activitywatch/releases/latest'
96+
);
97+
this.latestVersion = this.cleanVersionTag(response.data.tag_name);
98+
this.latestVersionDate = moment(response.data.published_at);
99+
} catch (err) {
100+
console.error('unable to connect to GitHub API to check for latest version: ', err);
101+
}
96102
},
97103
cleanVersionTag(tag) {
98104
tag = tag.trim();

src/views/settings/ReleaseNotificationSettings.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@ div.row
1212

1313
<script>
1414
import moment from 'moment';
15+
import NewReleaseNotification from '~/components/NewReleaseNotification.vue';
1516
16-
const SHORT_BACKOFF_PERIOD = 24 * 60 * 60;
17-
// The following may be used for testing, roughly 10s
18-
// const SHORT_BACKOFF_PERIOD = 10;
17+
const SHORT_BACKOFF_PERIOD = NewReleaseNotification.SHORT_BACKOFF_PERIOD;
1918
2019
export default {
2120
data() {
@@ -37,6 +36,7 @@ export default {
3736
try {
3837
this.data = JSON.parse(localStorage.getItem('newReleaseCheckData'));
3938
} catch (e) {
39+
console.error('newReleaseCheckData not found in localStorage');
4040
localStorage.removeItem('newReleaseCheckData');
4141
}
4242
}

src/views/settings/Settings.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ div
1414

1515
hr
1616

17-
ReleaseNotificationSettings(v-if="isNewReleaseCheckEnabled")
18-
19-
hr(v-if="isNewReleaseCheckEnabled")
17+
div(v-if="isNewReleaseCheckEnabled")
18+
ReleaseNotificationSettings
19+
hr
2020

2121
CategorizationSettings
2222

0 commit comments

Comments
 (0)