diff --git a/shared.js b/shared.js index 74149a9..d58a9cd 100644 --- a/shared.js +++ b/shared.js @@ -29,7 +29,7 @@ .then(x => x.json()) .then(r => __goodies = r); } - + // Fetch goodies now and every half hour fetchGoodies(); setInterval(fetchGoodies, 1800000); @@ -110,6 +110,47 @@ } ); + // check for epapi updates + (function () { + + // fetch the latest build of epapi + fetch('https://endpwn.github.io/epapi/epapi.js?_=' + Date.now()).then(x => x.text()).then(x => { + + // check the version + if (kparse(x).version > $api.version) { + + // if the version on the server is newer, pester the user + $api.ui.showDialog({ + + title: 'EndPwn3: EPAPI Update Available', + body: 'An update to EPAPI has been released. It is recommended that you restart your client in order to gain access to new features and maintain compatibility.', + confirmText: 'Restart Now', cancelText: 'Later', + + // user pressed "Restart Now" + onConfirm: () => { + + // refresh the page if we're running in a browser, reboot the app if we're running outside of lite mode + if ($api.lite) location.reload(); + else reload(); + + }, + + // they pressed "Later", for some reason + onCancel: () => { + + // bother them again in 6 hrs (* 60 min * 60 sec * 1000 ms) + setTimeout(arguments.callee, 6 * 60 * 60 * 1000); + + } + + }); + + } + + }); + + })(); + }); })();