loop-uh
8199f8b931
Автообновление: установщик переписан с нуля, появилось окно обновления
...
Прежний PowerShell-скрипт переименовывал каталоги приложения целиком и
падал, если внутри был открыт хотя бы один файл (антивирус, драйвер
WinDivert, не завершившееся ядро): «The process cannot access the file
because it is being used by another process».
Теперь обновление ставит сам ZapretKVN.exe новой версии, запущенный из
распакованного архива с флагом --apply-update:
- файлы сравниваются с установленными, неизменившиеся не трогаются;
- изменённые заранее копируются рядом с приложением, сама замена — это
пофайловые переименования с журналом и откатом в обратном порядке;
- при сбое в журнал попадает имя файла и программа, которая его держит;
- приложение закрывается только после того, как установщик подтвердил
запуск, поэтому не остаётся закрытым, если установщик не поднялся;
- всё время установки на экране окно с ходом работы и фразами.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:14:35 +03:00
..
singbox
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
__init__.py
UI: кружок переключателя всегда совпадает с состоянием
2026-09-26 12:19:36 +03:00
about_page.py
Prepare v0.4.79: unified theming, responsive layout, real flags
2026-08-11 23:21:28 +03:00
adaptive_buttons.py
Кнопки: подпись уходит в подсказку, когда ряду не хватает места
2026-09-26 18:25:16 +03:00
base_page.py
Prepare v0.4.79: unified theming, responsive layout, real flags
2026-08-11 23:21:28 +03:00
bulk_edit_page.py
feat: add subscriptions and core-native hot switching
2026-08-12 00:57:49 +03:00
configs_page.py
Простое правило: регистр программ, слово без точки, защитные правила, «Применить»
2026-09-27 13:14:18 +03:00
connection_orb.py
Панель: текст слева, сцена справа, подключение — только кнопкой питания
2026-09-26 21:51:54 +03:00
dashboard_page.py
Главная: порты прокси — «SOCKS5: … · HTTP: …», режим mixed в подсказке
2026-09-28 21:38:21 +03:00
dashboard_widgets.py
Панель: плитки VPN/Прокси показывают выбор, пока идёт переход
2026-09-26 19:13:57 +03:00
deferred_page.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
detail_page.py
feat: add subscriptions and core-native hot switching
2026-08-12 00:57:49 +03:00
elided_label.py
Маршрутизация: подпись активной копии в одну строку с многоточием
2026-09-26 20:55:59 +03:00
file_manager.py
fix: unify transport transitions and restore direct Russian services
2026-09-06 01:10:35 +03:00
fluent_dialog.py
Prepare v0.4.79: unified theming, responsive layout, real flags
2026-08-11 23:21:28 +03:00
fluent_fixes.py
Кнопки: подпись уходит в подсказку, когда ряду не хватает места
2026-09-26 18:25:16 +03:00
history_page.py
Панель: сфера подключения, плитки трафика, русские переключатели
2026-09-26 13:18:28 +03:00
lock_dialog.py
Prepare v0.4.79: unified theming, responsive layout, real flags
2026-08-11 23:21:28 +03:00
logs_page.py
Кнопки: подпись уходит в подсказку, когда ряду не хватает места
2026-09-26 18:25:16 +03:00
main_window.py
Автообновление: установщик переписан с нуля, появилось окно обновления
2026-10-01 22:14:35 +03:00
motion.py
Панель: новый главный экран, запоминание бокового меню, детерминированный выход
2026-09-26 16:17:42 +03:00
node_detail_widget.py
fix: preserve interactive server table and bound DNS fallback readiness
2026-09-06 02:07:48 +03:00
node_edit_page.py
fix: preserve interactive server table and bound DNS fallback readiness
2026-09-06 02:07:48 +03:00
nodes_page.py
Смена сервера всегда называет источник: [select] в логе, «Следующий» без фокуса
2026-09-28 21:35:12 +03:00
nodes_table_model.py
Тема: позитивные статусы в цвете акцента
2026-09-26 15:16:04 +03:00
nodes_view.py
Смена сервера всегда называет источник: [select] в логе, «Следующий» без фокуса
2026-09-28 21:35:12 +03:00
pending_state.py
Системный прокси: переключатель показывает выбор, а не старое состояние
2026-09-26 18:56:54 +03:00
preset_edit_widget.py
Zapret: модуль и страница переписаны — проще, понятнее, строже
2026-09-28 20:53:25 +03:00
privacy.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
qt_lifecycle.py
Маршрутизация: структурный редактор sing-box по схеме ядра
2026-09-26 20:30:17 +03:00
routing_page.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
settings_page.py
Обновление приложения ставится само в фоне, без окна и без петли
2026-09-27 16:23:12 +03:00
subscriptions_page.py
Hysteria: рабочий сервер не заменяется из-за случайной ошибки; подписки — гонка маршрутов
2026-10-01 19:20:34 +03:00
theme.py
Тема: позитивные статусы в цвете акцента
2026-09-26 15:16:04 +03:00
traffic_graph.py
Панель: новый главный экран, запоминание бокового меню, детерминированный выход
2026-09-26 16:17:42 +03:00
updates_page.py
Тема: позитивные статусы в цвете акцента
2026-09-26 15:16:04 +03:00
window_geometry.py
feat: use official Amnezia transport and organize runtime modules
2026-09-06 00:14:08 +03:00
zapret_browser.py
Zapret: макет с нуля — список ↔ карточка вместо выпадающих списков
2026-09-28 21:28:46 +03:00
zapret_page.py
Zapret: макет с нуля — список ↔ карточка вместо выпадающих списков
2026-09-28 21:28:46 +03:00