Merge pull request #20 from gooberinc/dev

Dev
This commit is contained in:
WhatDidYouExpect 2025-07-16 00:35:15 +02:00 committed by GitHub
commit d793426c49
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 31 additions and 14 deletions

View file

@ -49,7 +49,7 @@ arch = platform.machine()
slash_commands_enabled = True # 100% broken, its a newer enough version so its probably enabled by default.... fix this at somepoint or hard code it in goober central code slash_commands_enabled = True # 100% broken, its a newer enough version so its probably enabled by default.... fix this at somepoint or hard code it in goober central code
launched = False launched = False
latest_version = "0.0.0" latest_version = "0.0.0"
local_version = "2.3.0" local_version = "2.3.1"
os.environ['gooberlocal_version'] = local_version os.environ['gooberlocal_version'] = local_version
REACT = os.getenv("REACT") REACT = os.getenv("REACT")
if get_git_branch() == "dev": if get_git_branch() == "dev":

View file

@ -5,6 +5,8 @@ import subprocess
import sys import sys
import logging import logging
import json import json
import time
import random
logger = logging.getLogger("goober") logger = logging.getLogger("goober")
launched = False launched = False
@ -37,19 +39,34 @@ def auto_update(branch='main', remote='origin'):
def get_latest_version_info(): def get_latest_version_info():
try: try:
response = requests.get(UPDATE_URL, timeout=5) unique_suffix = f"{int(time.time())}_{random.randint(0, 9999)}"
if response.status_code == 200: url = f"{UPDATE_URL}?_={unique_suffix}"
# Try parsing JSON manually, so i dont have to maintain goober central anymore
curl_cmd = [
"curl",
"-s",
"-H", "Cache-Control: no-cache",
"-H", "Pragma: no-cache",
url
]
result = subprocess.run(curl_cmd, capture_output=True, text=True, timeout=5)
content = result.stdout
if result.returncode != 0:
logger.error(f"curl failed with return code {result.returncode}")
return None
try: try:
return response.json() data = json.loads(content)
return data
except json.JSONDecodeError: except json.JSONDecodeError:
logger.error(f"{RED}{_('version_error')} JSON decode failed{RESET}") logger.error("JSON decode failed")
logger.error(content[:500])
return None return None
else:
logger.error(f"{RED}{_('version_error')} {response.status_code}{RESET}") except Exception as e:
return None logger.error(f"Exception in get_latest_version_info: {e}")
except requests.RequestException as e:
logger.error(f"{RED}{_('version_error')} {e}{RESET}")
return None return None
# Check if an update is available and perform update if needed # Check if an update is available and perform update if needed
@ -82,7 +99,7 @@ def check_for_update():
logger.info(f"{YELLOW}{_('changelog').format(VERSION_URL=VERSION_URL)}{RESET}") logger.info(f"{YELLOW}{_('changelog').format(VERSION_URL=VERSION_URL)}{RESET}")
auto_update() auto_update()
elif beta == True: elif beta == True:
logger.warning(f"You are running an \"unstable\" version of Goober, do not expect it to work properly.\nVersion {local_version}{RESET}") logger.warning(f"You are running an \"unstable\" version of Goober, do not expect it to work properly.\nVersion {local_version}\nServer: {latest_version}{RESET}")
elif local_version > latest_version: elif local_version > latest_version:
logger.warning(f"{_('modification_warning')}") logger.warning(f"{_('modification_warning')}")
elif local_version == latest_version: elif local_version == latest_version: