#1223 fixes, timeout for downloads

This commit is contained in:
Flowseal committed 2026-10-10 22:08:57 +03:00
1 parent a6177fec87
commit bf07b42f88
4 files changed
+55 -30

No files matched your search

+2 -20
View File
@@ -8,11 +8,9 @@ import threading
import time
import webbrowser
import winreg
import tempfile
from pathlib import Path
from typing import Optional
from proxy.utils import build_github_opener
try:
import pyperclip
@@ -48,7 +46,7 @@ from utils.tray_common import (
save_config, start_proxy, stop_proxy, tg_proxy_url,
)
from utils.update_check import (
get_status, get_update_asset, run_check, RELEASES_PAGE_URL,
download_asset, get_status, get_update_asset, run_check, RELEASES_PAGE_URL,
)
from ui.ctk_tray_ui import (
install_tray_config_buttons, install_tray_config_form,
@@ -245,27 +243,11 @@ def _perform_update(download_url: str, set_status=None) -> None:
_step(t("update.downloading"))
cur_exe = Path(sys.executable)
old_exe = cur_exe.with_name(cur_exe.stem + "_oldtgws.exe")
tmp_path = None
try:
fd, tmp_name = tempfile.mkstemp(dir=cur_exe.parent, suffix=".tmp")
os.close(fd)
tmp_path = Path(tmp_name)
log.info("Downloading update from %s", download_url)
opener = build_github_opener()
with opener.open(download_url) as _resp:
with open(str(tmp_path), "wb") as _fout:
while True:
_chunk = _resp.read(65536)
if not _chunk:
break
_fout.write(_chunk)
tmp_path = download_asset(download_url, cur_exe.parent)
except Exception as exc:
_err(t("update.download_fail", error=exc))
if tmp_path:
try:
tmp_path.unlink(missing_ok=True)
except OSError:
pass
return
_step(t("update.replacing"))