v1.0.60 Auto Update Notification

pull/110/head
openbuilds-engineer 2018-08-08 22:46:11 +02:00
rodzic a34f011a3a
commit afbcef9bb4
3 zmienionych plików z 74 dodań i 4 usunięć

Wyświetl plik

@ -34,7 +34,7 @@
<li><a id="controlTab" href="#section-two" onclick="manualcontrolPanel();"><i class="fas fa-fw fa-play"></i> Control</a></li>
<li id="grblSettings" style="display: none;"><a href="#section-grbl" onclick="grblPanel();"><i class="fas fa-fw fa-sliders-h"></i> Grbl Settings</a></li>
<li><a href="#section-troubleshooting" onclick="troubleshootingPanel();"><i class="fas fa-fw fa-file-medical-alt"></i> Troubleshooting</a></li>
<li><a href="#section-update" onclick="updatePanel();"><i class="fas fa-fw fa-cloud-download-alt"></i> Update</a></li>
<li><a href="#section-update" onclick="updatePanel();"><i id="updateIcon" class="fas fa-fw fa-cloud-download-alt"></i> Update <span id="updateAvailable" style="display: none;text-decoration: none !important;">new!</span></a></li>
</ul>
<div class="content-holder">
<div class="section" id="section-grbl">
@ -246,7 +246,7 @@
<div id="downloadprogress" style="display: none; color: #fff ; background-color: rgba(0, 0, 0, 0.6); font-weight:900; font-family: Arial; font-size: 12px; border: 1px solid ##607d8b; border-radius: 2px;">99%</div>
</span>
</span>
<span class="caption">Check for<br>Updates</span>
<span class="caption">Download<br>Updates</span>
</button>
<button id="applyupdatesbtn" class="ribbon-button" onclick="socket.emit('applyUpdate', true)" disabled>
<span class="icon">
@ -577,7 +577,7 @@
<div id="grblconfig"></div>
</div>
<div id="updatePanel" style="display: none;">
<div id="updateconsole">Click "Check for Updates" above</div>
<div id="updateconsole">Click "Download Updates" above</div>
</div>
<div id="troubleshootingPanel" style="display: none;">
<div class="grid p-0 m-0">

Wyświetl plik

@ -44,6 +44,31 @@ $(document).ready(function() {
var fileOpen = document.getElementById('file');
fileOpen.addEventListener('change', readFile, false);
setTimeout(function() {
console.log('checking for update')
printLog("<span class='fg-green'>Checking for Updates</span>")
$.getJSON("https://api.github.com/repos/OpenBuilds/SW-Machine-Drivers/releases/latest?client_id=fbbb80debc1197222169&client_secret=7dc6e463422e933448f9a3a4150c8d2bbdd0f87c").done(function(release) {
var availVersion = release.name.substr(1)
var currentVersion = laststatus.driver.version
console.log(versionCompare(availVersion, currentVersion), availVersion, currentVersion);
if (versionCompare(availVersion, currentVersion) == 1) {
console.log('outdated')
printLog("<span class='fg-green'>Update Available! You are running OpenBuilds Machine Driver " + currentVersion + ", and can now update to OpenBuilds Machine Driver " + availVersion + ". Click <kbd>Update</kbd> -> <kbd>Download Updates</kbd> to start the Download</span>")
printUpdateLog("<span class='fg-green'>Update Available! You are running OpenBuilds Machine Driver " + currentVersion + ", and can now update to OpenBuilds Machine Driver " + availVersion + ". Click <kbd>Download Updates</kbd> to start the Download</span>")
$('#updateAvailable').show()
$('#updateAvailable').html('to v' + availVersion)
$('#updateIcon').addClass('ani-shake')
} else {
printLog("<span class='fg-green'>Update Available! You are already running OpenBuilds Machine Driver " + availVersion + "</span>")
printUpdateLog("<span class='fg-green'>Update Available! You are already running OpenBuilds Machine Driver " + availVersion + "</span>")
$('#updateAvailable').show()
$('#updateAvailable').html('')
$('#updateIcon').removeClass('ani-shake')
}
});
}, 5000)
});
function readFile(evt) {
@ -76,4 +101,49 @@ function loadFile(f) {
};
// }
}
}
function versionCompare(v1, v2, options) {
var lexicographical = options && options.lexicographical,
zeroExtend = options && options.zeroExtend,
v1parts = v1.split('.'),
v2parts = v2.split('.');
function isValidPart(x) {
return (lexicographical ? /^\d+[A-Za-z]*$/ : /^\d+$/).test(x);
}
if (!v1parts.every(isValidPart) || !v2parts.every(isValidPart)) {
return NaN;
}
if (zeroExtend) {
while (v1parts.length < v2parts.length) v1parts.push("0");
while (v2parts.length < v1parts.length) v2parts.push("0");
}
if (!lexicographical) {
v1parts = v1parts.map(Number);
v2parts = v2parts.map(Number);
}
for (var i = 0; i < v1parts.length; ++i) {
if (v2parts.length == i) {
return 1;
}
if (v1parts[i] == v2parts[i]) {
continue;
} else if (v1parts[i] > v2parts[i]) {
return 1;
} else {
return -1;
}
}
if (v1parts.length != v2parts.length) {
return -1;
}
return 0;
}

Wyświetl plik

@ -1,6 +1,6 @@
{
"name": "OpenBuildsMachineDriver",
"version": "1.0.59",
"version": "1.0.60",
"license": "AGPL-3.0",
"description": "Machine Interface Driver for OpenBuilds",
"author": "github.com/openbuilds <webmaster@openbuilds.com>",