fix(update): fast direct HTTP check & force cache bypass on check click (v1.3.7)
This commit is contained in:
1 parent
7ccb2189e7
commit
54fe591355
5 files changed
+37
-8
No files matched your search
+24
-4
@@ -2242,15 +2242,35 @@ try {
|
||||
$remoteChangelog = [];
|
||||
$remoteDate = '';
|
||||
|
||||
exec("git --git-dir={$appDir}/.git fetch origin main --quiet 2>/dev/null", $output, $code);
|
||||
$remoteJsonRaw = shell_exec("git --git-dir={$appDir}/.git show origin/main:version.json 2>/dev/null");
|
||||
if ($remoteJsonRaw) {
|
||||
$remoteData = json_decode($remoteJsonRaw, true);
|
||||
// 1. Interrogation directe via HTTP Raw (indépendant de .git et ultra-rapide)
|
||||
$rawHttp = @shell_exec("curl -k -s --connect-timeout 4 \"https://git.sorcier-research.com/sorcier/NexusPBX/raw/branch/main/version.json\" 2>/dev/null");
|
||||
if (empty($rawHttp)) {
|
||||
$ctx = stream_context_create([
|
||||
'http' => ['timeout' => 4],
|
||||
'ssl' => ['verify_peer' => false, 'verify_peer_name' => false]
|
||||
]);
|
||||
$rawHttp = @file_get_contents("https://git.sorcier-research.com/sorcier/NexusPBX/raw/branch/main/version.json", false, $ctx);
|
||||
}
|
||||
|
||||
if (!empty($rawHttp)) {
|
||||
$remoteData = json_decode((string)$rawHttp, true);
|
||||
if (is_array($remoteData) && !empty($remoteData['version'])) {
|
||||
$remoteVer = (string)$remoteData['version'];
|
||||
$remoteChangelog = $remoteData['changelog'] ?? [];
|
||||
$remoteDate = $remoteData['release_date'] ?? '';
|
||||
}
|
||||
} else {
|
||||
// 2. Fallback local Git si indisponibilité du serveur HTTP
|
||||
exec("git --git-dir={$appDir}/.git fetch origin main --quiet 2>/dev/null", $output, $code);
|
||||
$remoteJsonRaw = shell_exec("git --git-dir={$appDir}/.git show origin/main:version.json 2>/dev/null");
|
||||
if ($remoteJsonRaw) {
|
||||
$remoteData = json_decode($remoteJsonRaw, true);
|
||||
if (is_array($remoteData) && !empty($remoteData['version'])) {
|
||||
$remoteVer = (string)$remoteData['version'];
|
||||
$remoteChangelog = $remoteData['changelog'] ?? [];
|
||||
$remoteDate = $remoteData['release_date'] ?? '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$hasUpdate = version_compare($remoteVer, $currentVer, '>');
|
||||
|
||||
Reference in new issue
Block a user