summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-09-13 11:15:50 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-09-13 11:15:50 -0300
commitc0ca97c298e93475a49dea549cc33c970b03eee7 (patch)
tree00daa8454001204907aebc914acbc0c498cb3994
parent32be6c60e8a742214c3f092b31721b181902a73f (diff)
parent78c299c471f441207b7f8598276a426f46b413bd (diff)
downloadmullvadvpn-c0ca97c298e93475a49dea549cc33c970b03eee7.tar.xz
mullvadvpn-c0ca97c298e93475a49dea549cc33c970b03eee7.zip
Merge branch 'show-version-asap'
-rw-r--r--gui/packages/desktop/src/renderer/app.js20
-rw-r--r--gui/packages/desktop/src/renderer/redux/version/reducers.js14
2 files changed, 22 insertions, 12 deletions
diff --git a/gui/packages/desktop/src/renderer/app.js b/gui/packages/desktop/src/renderer/app.js
index 6b310613da..fa1c1b0d21 100644
--- a/gui/packages/desktop/src/renderer/app.js
+++ b/gui/packages/desktop/src/renderer/app.js
@@ -334,14 +334,18 @@ export default class AppRenderer {
actions.settings.updateAutoConnect(autoConnect);
}
- async _fetchVersionInfo() {
+ async _fetchCurrentVersion() {
const actions = this._reduxActions;
- const latestVersionInfo = await this._daemonRpc.getVersionInfo();
const versionFromDaemon = await this._daemonRpc.getCurrentVersion();
const versionFromGui = remote.app.getVersion().replace('.0', '');
actions.version.updateVersion(versionFromDaemon, versionFromDaemon === versionFromGui);
- actions.version.updateLatest(latestVersionInfo);
+ }
+
+ async _fetchLatestVersionInfo() {
+ // fetching the latest version info has a higher latency because the daemon communicates with
+ // the API server
+ this._reduxActions.version.updateLatest(await this._daemonRpc.getVersionInfo());
}
async _onOpenConnection() {
@@ -373,6 +377,12 @@ export default class AppRenderer {
// fetch the rest of data
try {
+ await this._fetchCurrentVersion();
+ } catch (error) {
+ log.error(`Cannot fetch the current version: ${error.message}`);
+ }
+
+ try {
await this._fetchRelayLocations();
} catch (error) {
log.error(`Cannot fetch the relay locations: ${error.message}`);
@@ -394,9 +404,9 @@ export default class AppRenderer {
}
try {
- await this._fetchVersionInfo();
+ await this._fetchLatestVersionInfo();
} catch (error) {
- log.error(`Cannot fetch the version information: ${error.message}`);
+ log.error(`Cannot fetch the latest version information: ${error.message}`);
}
// auto connect the tunnel on startup
diff --git a/gui/packages/desktop/src/renderer/redux/version/reducers.js b/gui/packages/desktop/src/renderer/redux/version/reducers.js
index 97e99f0c3e..4463d1cd5b 100644
--- a/gui/packages/desktop/src/renderer/redux/version/reducers.js
+++ b/gui/packages/desktop/src/renderer/redux/version/reducers.js
@@ -4,22 +4,22 @@ import type { ReduxAction } from '../store';
export type VersionReduxState = {
current: string,
- latest: string,
- latestStable: string,
+ latest: ?string,
+ latestStable: ?string,
upToDate: boolean,
consistent: boolean,
};
const initialState: VersionReduxState = {
current: '',
- latest: '',
- latestStable: '',
- upToDate: false,
+ latest: null,
+ latestStable: null,
+ upToDate: true,
consistent: true,
};
-const checkIfLatest = (current: string, latest: string, latestStable: string): boolean => {
- return current === latest || current === latestStable;
+const checkIfLatest = (current: string, latest: ?string, latestStable: ?string): boolean => {
+ return latest === null || latestStable === null || current === latest || current === latestStable;
};
export default function(