get latest version through snode proxy, remove clearfix from ExpiredAlertBanner

pull/758/head
Ryan Tharp 5 years ago
parent 3797a2169c
commit a0599d27bc

@ -1,22 +1,62 @@
/* global LokiAppDotNetServerAPI, LokiFileServerAPI, semver, log */
// eslint-disable-next-line func-names // eslint-disable-next-line func-names
(function() { (function() {
'use strict'; 'use strict';
let BUILD_EXPIRATION = 0; // hold last result
try { let expiredVersion = null;
BUILD_EXPIRATION = parseInt(window.getExpiration(), 10);
if (BUILD_EXPIRATION) { window.tokenlessFileServerAdnAPI = new LokiAppDotNetServerAPI(
window.log.info( '', // no pubkey needed
'Build expires: ', window.getDefaultFileServer()
new Date(BUILD_EXPIRATION).toISOString() );
); window.tokenlessFileServerAdnAPI.pubKey = window.Signal.Crypto.base64ToArrayBuffer(
LokiFileServerAPI.secureRpcPubKey
);
const checkForUpgrades = async () => {
const response = await window.tokenlessFileServerAdnAPI.serverRequest(
'loki/v1/version/client/desktop'
);
if (response && response.response) {
const latestVer = semver.clean(response.response.data[0][0]);
if (semver.valid(latestVer)) {
const ourVersion = window.getVersion();
if (latestVer === ourVersion) {
log.info('You have the latest version', latestVer);
// change the following to true ot test/see expiration banner
expiredVersion = false;
} else {
// expire if latest is newer than current
expiredVersion = semver.gt(latestVer, ourVersion);
if (expiredVersion) {
log.info('There is a newer version available', latestVer);
}
}
}
} else {
// give it a minute
log.warn('Could not check to see if newer version is available');
setTimeout(async () => {
await checkForUpgrades();
}, 60 * 1000); // wait a minute
} }
} catch (e) { // no message logged means serverRequest never returned...
// nothing };
} checkForUpgrades();
window.extension = window.extension || {}; window.extension = window.extension || {};
window.extension.expired = () => window.extension.expired = cb => {
BUILD_EXPIRATION && Date.now() > BUILD_EXPIRATION; if (expiredVersion === null) {
// just give it another second
log.info('Delaying expire banner determination for 1s');
setTimeout(() => {
window.extension.expired(cb);
}, 1000);
return;
}
// yes we know
cb(expiredVersion);
};
})(); })();

@ -156,11 +156,13 @@
.find('.network-status-container') .find('.network-status-container')
.append(this.networkStatusView.render().el); .append(this.networkStatusView.render().el);
if (extension.expired()) { extension.expired((expired) => {
const banner = new Whisper.ExpiredAlertBanner().render(); if (expired) {
banner.$el.prependTo(this.$el); const banner = new Whisper.ExpiredAlertBanner().render();
this.$el.addClass('expired'); banner.$el.prependTo(this.$el);
} this.$el.addClass('expired');
}
});
// FIXME: Fix this for new react views // FIXME: Fix this for new react views
this.updateInboxSectionUnread(); this.updateInboxSectionUnread();
@ -408,7 +410,7 @@
Whisper.ExpiredAlertBanner = Whisper.View.extend({ Whisper.ExpiredAlertBanner = Whisper.View.extend({
templateName: 'expired_alert', templateName: 'expired_alert',
className: 'expiredAlert clearfix', className: 'expiredAlert',
render_attributes() { render_attributes() {
return { return {
expiredWarning: i18n('expiredWarning'), expiredWarning: i18n('expiredWarning'),

Loading…
Cancel
Save