mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-06 00:02:59 +02:00
54 lines
1.8 KiB
JavaScript
54 lines
1.8 KiB
JavaScript
// checkForUpdates.js
|
|
//
|
|
// Created by Kalila L. on 8/27/20
|
|
// Copyright 2020 Vircadia contributors.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
|
|
Script.include("/~/system/libraries/utils.js");
|
|
var networkingConstants = Script.require("./libraries/networkingConstants.js");
|
|
|
|
// We'll want a way to specify this later, auto detection can also be a thing, but strictly optional.
|
|
var currentBuildType = "latest";
|
|
var currentVersion = About.buildVersion;
|
|
|
|
// Notification Variables
|
|
var NOTIFICATION_CHANNEL = "System-Notifications";
|
|
var NOTIFICATION_TYPE = "Update-Notification";
|
|
var NOTIFICATION_CATEGORY = "Interface";
|
|
var notificationText = "An update is available: ";
|
|
var notificationColor = { red: 137, green: 63, blue: 255 };
|
|
|
|
function retrieveMetadata() {
|
|
var requireMetadata = Script.require(networkingConstants.INTERFACE_METADATA_SOURCE + '?' + Date.now());
|
|
|
|
if (requireMetadata) {
|
|
return requireMetadata;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function checkForUpdates() {
|
|
var vircadiaMetadata = retrieveMetadata();
|
|
|
|
// Don't check for updates on a dev build.
|
|
if (vircadiaMetadata && currentVersion !== "dev") {
|
|
var checkVersion = semanticVersionCompare(currentVersion, vircadiaMetadata[currentBuildType].version);
|
|
|
|
// An update is available!
|
|
if (checkVersion === -1) {
|
|
Messages.sendMessage(NOTIFICATION_CHANNEL, JSON.stringify({
|
|
type: NOTIFICATION_TYPE,
|
|
category: NOTIFICATION_CATEGORY,
|
|
channel: "Local",
|
|
position: MyAvatar.position,
|
|
colour: notificationColor,
|
|
message: notificationText + vircadiaMetadata[currentBuildType].version,
|
|
}));
|
|
}
|
|
}
|
|
}
|
|
|
|
checkForUpdates();
|