rework git update checking to be initiated by frontend, outside of runtime info output
This commit is contained in:
parent
c3b8b6a2a1
commit
957c44d177
|
@ -324,7 +324,7 @@ class RPC extends Handler_Protected {
|
|||
|
||||
if ($reply['error']['code'] == 0) {
|
||||
$reply['init-params'] = make_init_params();
|
||||
$reply['runtime-info'] = make_runtime_info(true);
|
||||
$reply['runtime-info'] = make_runtime_info();
|
||||
}
|
||||
|
||||
print json_encode($reply);
|
||||
|
@ -597,4 +597,27 @@ class RPC extends Handler_Protected {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
function checkforupdates() {
|
||||
$rv = [];
|
||||
|
||||
if (CHECK_FOR_UPDATES && defined("GIT_VERSION_TIMESTAMP")) {
|
||||
$content = @fetch_file_contents(["url" => "https://tt-rss.org/version.json"]);
|
||||
|
||||
if ($content) {
|
||||
$content = json_decode($content, true);
|
||||
|
||||
if ($content && isset($content["changeset"])) {
|
||||
if ((int)GIT_VERSION_TIMESTAMP < (int)$content["changeset"]["timestamp"] &&
|
||||
GIT_VERSION_HEAD != $content["changeset"]["id"]) {
|
||||
|
||||
$rv = $content["changeset"];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print json_encode($rv);
|
||||
}
|
||||
|
||||
}
|
|
@ -679,8 +679,6 @@
|
|||
$_SESSION["user_agent"] = sha1($_SERVER['HTTP_USER_AGENT']);
|
||||
$_SESSION["pwd_hash"] = $row["pwd_hash"];
|
||||
|
||||
$_SESSION["last_version_check"] = time();
|
||||
|
||||
initialize_user_prefs($_SESSION["uid"]);
|
||||
|
||||
return true;
|
||||
|
@ -1068,6 +1066,7 @@
|
|||
$params[strtolower($param)] = (int) get_pref($param);
|
||||
}
|
||||
|
||||
$params["check_for_updates"] = CHECK_FOR_UPDATES;
|
||||
$params["icons_url"] = ICONS_URL;
|
||||
$params["cookie_lifetime"] = SESSION_COOKIE_LIFETIME;
|
||||
$params["default_view_mode"] = get_pref("_DEFAULT_VIEW_MODE");
|
||||
|
@ -1270,27 +1269,7 @@
|
|||
return array($prefixes, $hotkeys);
|
||||
}
|
||||
|
||||
function check_for_update() {
|
||||
if (defined("GIT_VERSION_TIMESTAMP")) {
|
||||
$content = @fetch_file_contents(array("url" => "http://tt-rss.org/version.json", "timeout" => 5));
|
||||
|
||||
if ($content) {
|
||||
$content = json_decode($content, true);
|
||||
|
||||
if ($content && isset($content["changeset"])) {
|
||||
if ((int)GIT_VERSION_TIMESTAMP < (int)$content["changeset"]["timestamp"] &&
|
||||
GIT_VERSION_HEAD != $content["changeset"]["id"]) {
|
||||
|
||||
return $content["changeset"]["id"];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
function make_runtime_info($disable_update_check = false) {
|
||||
function make_runtime_info() {
|
||||
$data = array();
|
||||
|
||||
$pdo = Db::pdo();
|
||||
|
@ -1323,14 +1302,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
if (CHECK_FOR_UPDATES && !$disable_update_check && $_SESSION["last_version_check"] + 86400 + rand(-1000, 1000) < time()) {
|
||||
$update_result = @check_for_update();
|
||||
|
||||
$data["update_result"] = $update_result;
|
||||
|
||||
$_SESSION["last_version_check"] = time();
|
||||
}
|
||||
|
||||
if (file_exists(LOCK_DIRECTORY . "/update_daemon.lock")) {
|
||||
|
||||
$data['daemon_is_running'] = (int) file_is_locked("update_daemon.lock");
|
||||
|
|
|
@ -262,14 +262,6 @@ define(["dojo/_base/declare"], function (declare) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (k == "update_result") {
|
||||
if (v) {
|
||||
Element.show("updates-available");
|
||||
} else {
|
||||
Element.hide("updates-available");
|
||||
}
|
||||
}
|
||||
|
||||
if (k == "recent_log_events") {
|
||||
const alert = $$(".log-alert")[0];
|
||||
|
||||
|
|
20
js/tt-rss.js
20
js/tt-rss.js
|
@ -163,11 +163,31 @@ require(["dojo/_base/kernel",
|
|||
window.setInterval(() => { Feeds.updateRandom() }, 30 * 1000);
|
||||
}
|
||||
|
||||
if (App.getInitParam('check_for_updates')) {
|
||||
window.setInterval(() => {
|
||||
App.checkForUpdates();
|
||||
}, 3600 * 1000);
|
||||
}
|
||||
|
||||
console.log("second stage ok");
|
||||
|
||||
PluginHost.run(PluginHost.HOOK_INIT_COMPLETE, null);
|
||||
|
||||
},
|
||||
checkForUpdates: function() {
|
||||
console.log('checking for updates...');
|
||||
|
||||
xhrJson("backend.php", {op: 'rpc', method: 'checkforupdates'})
|
||||
.then((reply) => {
|
||||
console.log('update reply', reply);
|
||||
|
||||
if (reply.id) {
|
||||
$("updates-available").show();
|
||||
} else {
|
||||
$("updates-available").hide();
|
||||
}
|
||||
});
|
||||
},
|
||||
updateTitle: function() {
|
||||
let tmp = "Tiny Tiny RSS";
|
||||
|
||||
|
|
Loading…
Reference in New Issue