🔔 Новый коммит в youtubediscord/zapret
📝 Централизовать theme-подписки qfluentwidgets и укрепить сайдбар
👤 Автор: loop-uh
📅 Дата: 25.07.2026 14:42:53
🔗 SHA:
b3fc3fb📊 Статистика:
➕ Добавлено: 581 строк
➖ Удалено: 33 строк
📝 Всего изменений: 614
📁 Изменено файлов: 15
✏️
src/blockcheck/dns_integrity.py+2 -0
Добавилось:
from __future__ import annotations
✏️
src/hosts/proxy_domains.py+2 -2
Удалилось:
_log(f"Не удалось разобрать {_CATALOG_FILE_NAME}: {exc}", "WARNING")_log(f"{_CATALOG_FILE_NAME} должен содержать JSON-объект", "WARNING")Добавилось:
_log(f"Не удалось разобрать hosts-каталог: {exc}", "WARNING")_log("hosts-каталог должен содержать JSON-объект", "WARNING")✏️
src/main/qt_runtime.py+8 -0
Добавилось:
t_signal_guards = _time.perf_counter()
from ui.qfluent_signal_guards import install_qfluent_theme_signal_guards
install_qfluent_theme_signal_guards()
emit_startup_metric(
"StartupQtThemeSignalGuards",
f"{(_time.perf_counter() - t_signal_guards) * 1000:.0f}ms",)
✏️
src/main/window_lifecycle_cleanup.py+8 -4
Удалилось:
"""Синхронно дозаписывает намерение сайдбара, не успевшее уйти через воркер.
воркеру и его reschedule-таймеру завершиться, поэтому pending-значение
пишется здесь напрямую — как и геометрия окна.
controller.mark_saved(bool(pending))
Добавилось:
"""Синхронно записывает намерение сайдбара при выходе.
воркеру и его reschedule-таймеру завершиться, поэтому значение пишется
здесь напрямую — как и геометрия окна. Запись выполняется даже если воркер
отчитался об успехе (его сигналу не доверяем — потеря стоила бы состояния
панели); повторные вызовы в той же цепочке выхода дедуплицируются через
mark_flushed.
controller.mark_flushed(bool(pending))
log(f"[SIDEBAR] flush при {context}: expanded={bool(pending)}", "INFO")✏️
src/startup/check_start.py+1 -0
Добавилось:
import ctypes
✏️
src/ui/navigation/sidebar_builder.py+52 -9
Удалилось:
from ui.navigation.sidebar_intent import DEFAULT_EXPAND_THRESHOLD, SidebarIntentController
on_failed=lambda _request_id, error: log(f"Не удалось сохранить состояние сайдбара: {error}", "DE...if _read_saved_sidebar_expanded():
if _window_width(window) < _sidebar_expand_threshold(window):
window_width=_window_width(window),
def reapply_sidebar_intent_on_resize(window) -> None:
return
return
return
Добавилось:
from ui.navigation.sidebar_intent import (
DEFAULT_EXPAND_THRESHOLD,
SidebarIntentController,
normalize_display_mode_name,
)
SIDEBAR_INTENT_RECHECK_AFTER_INIT_MS = 1500
on_failed=lambda _request_id, error: log(f"Не удалось сохранить состояние сайдбара: {error}", "WA...log(f"[SIDEBAR] состояние сохранено воркером: expanded={bool(saved_expanded)}", "INFO")saved = _read_saved_sidebar_expanded()
width = _window_width(window)
... и еще 39 строк
... и еще 9 файлов
... и еще 5 файлов
🔗 Открыть на GitHub