|
|
2026-10-04 20:38:58 +03:00 |
| .. |
|
e2e_windows
|
Сквозная проверка через окно программы: скрипт tests/e2e_windows/run_gui_e2e.ps1 нажимает кнопку состояния Zapret в заголовке окна установленной программы и после каждого запуска и остановки сверяет с системой — жив ли winws из папки программы, загружен ли драйвер и исчезла ли служба Monkey после остановки
|
2026-10-02 02:45:56 +03:00 |
|
conftest.py
|
Перевести настройки ZapretGUI на SQLite
|
2026-08-14 20:32:33 +03:00 |
|
test_about_actions_architecture.py
|
fix
|
2026-06-17 23:47:29 +03:00 |
|
test_about_help_accessibility.py
|
Все ссылки собраны на «Справке» в три группы: Научиться, Спросить, Следить за новостями; дубли убраны, добавлены папка со всеми чатами и канал со всеми ссылками
|
2026-09-28 17:33:34 +03:00 |
|
test_about_kvn_accessibility.py
|
Страница «О программе» оживает: карточки вкладок выплывают по очереди, глобус KVN поворачивается, звезда Premium поблёскивает; дыра на вкладке KVN убрана
|
2026-09-28 20:19:09 +03:00 |
|
test_about_motion_widgets.py
|
Карточки выплывают по очереди на всех страницах при открытии и первом запуске, как на «Справке»; старое проявление страницы целиком убрано
|
2026-09-29 16:55:15 +03:00 |
|
test_about_page_accessibility.py
|
Обновление: одно большое окно для любого пути — изменения всех пропущенных версий, «Что нового», кнопки «Обновить / Позже / Пропустить версию / Открыть в браузере / Telegram», загрузка прямо в окне: логотип бежит и покачивается по переливающейся полосе, шутки как в BlockCheck; «Скрыть» не останавливает загрузку; «Что нового» один раз после обновления и кнопкой в «О программе»; маленький вопрос при запуске и карточка с обрезанным текстом убраны
|
2026-09-30 01:51:43 +03:00 |
|
test_about_tabs_height.py
|
О программе: высота вкладок — по открытой вкладке, под «Zapret KVN» больше нет пустоты высотой со «Справку»
|
2026-09-30 13:46:38 +03:00 |
|
test_accessibility_helpers.py
|
Память: окно, скрытое в трей или свёрнутое дольше 2 минут, собирает мусор, чистит кэш картинок Qt и отдаёт Windows лишние страницы (пока окно открыто — ничего не выгружается); история оркестратора ограничена 3000 целей (давние UDP-адреса вытесняются, закреплённые остаются), счётчики успехов и «последняя стратегия» тоже ограничены; анализатор журналов winws хранит начало и конец соединения (200 пакетов) и не больше 200 тыс. пакетов на журнал; подсказки удаляются вместе со своим виджетом; реестр тем забывает удалённые виджеты сразу; повторное применение той же темы не перекрашивает все виджеты; предупреждение проверки прокси Telegram заменяет прежнее, а не копится
|
2026-09-30 23:35:31 +03:00 |
|
test_accessibility_static_guards.py
|
Hosts меняется только по кнопке «Применить»: щелчки копят черновик с предпросмотром строк, видно всё, что лежит в hosts; Telegram Proxy больше не пишет в hosts сам при открытии
|
2026-09-29 17:07:30 +03:00 |
|
test_active_preset_single_source.py
|
Вернувшийся выбранный файл всегда применяется к работающему DPI: пока файла не было, DPI мог перезапуститься на запасном пресете, и сравнение с последним переключением ошибочно считало возврат «тем же пресетом»
|
2026-09-30 14:33:28 +03:00 |
|
test_active_row_motion.py
|
Переезд активной строки переделан: бегунок с хвостом и свечением, новая строка закрашивается слева, старая гаснет
|
2026-09-27 23:34:46 +03:00 |
|
test_aligned_switch.py
|
Hosts переписан: страница не прокручивается целиком — крутится только список сервисов; в меню «☰» открывается «Файл hosts» с раскраской строк по владельцам и кнопкой «Сохранить»
|
2026-09-29 18:16:40 +03:00 |
|
test_app_package_lazy_imports.py
|
Reduce Zapret2 control import cost
|
2026-05-29 19:23:12 +03:00 |
|
test_appearance_accessibility.py
|
Прозрачность окна выбирается из выпадающего списка вместо ползунка: прокрутка страницы колесом больше не меняет её случайно
|
2026-09-28 17:05:19 +03:00 |
|
test_appearance_page_construction.py
|
Починить падение «Оформления» и сделать одного хозяина Premium-правил темы
|
2026-09-27 17:42:33 +03:00 |
|
test_appearance_page_ui_guards.py
|
Починить падение «Оформления» и сделать одного хозяина Premium-правил темы
|
2026-09-27 17:42:33 +03:00 |
|
test_appearance_worker_queue.py
|
fix
|
2026-06-22 22:17:22 +03:00 |
|
test_application_log_service.py
|
Replace legacy logging with bounded async pipeline
|
2026-07-21 02:02:52 +03:00 |
|
test_architecture_cleanup_contract.py
|
fix
|
2026-06-22 22:17:22 +03:00 |
|
test_atomic_text.py
|
Пресеты и профили — доработки после самопроверки: один битый байт больше не переводит UTF-8 файл в cp1251, запуск winws, описание в списке и привязанный файл читаются по общему правилу кодировки; комментарий над первым профилем больше не даёт ложную «ошибку сохранения»; папки пресетов и профилей пишутся под одним замком; при закрытии синхронная запись пропускается, если зависшую запись пришлось прервать; результат для ранее открытого профиля не переключает страницу обратно и обновляет строку в списке, ожидающая стратегия другого профиля не отбрасывает результат, переключатель чужого профиля идёт в очередь, записи при закрытии идут в порядке щелчков; при чужом владельце быстрые щелчки по пресетам снова склеиваются; «DPI не запущен» больше не пишется WARNING на каждый щелчок; убраны осиротевшие строки диалога имени пресета
|
2026-09-30 02:26:03 +03:00 |
|
test_backend_page_data_warmup.py
|
Hosts меняется только по кнопке «Применить»: щелчки копят черновик с предпросмотром строк, видно всё, что лежит в hosts; Telegram Proxy больше не пишет в hosts сам при открытии
|
2026-09-29 17:07:30 +03:00 |
|
test_background_worker_gate.py
|
Проверять целостность поставки и чинить её самостоятельно
|
2026-07-28 15:07:14 +03:00 |
|
test_base_page_accessibility.py
|
Focus first page control for keyboard access
|
2026-06-16 22:13:53 +03:00 |
|
test_base_page_layout.py
|
Исправить перенос описаний страниц
|
2026-07-27 21:31:44 +03:00 |
|
test_base_page_layout_contract.py
|
fix
|
2026-06-18 18:46:40 +03:00 |
|
test_blobs_feature_removed.py
|
Remove obsolete blobs feature
|
2026-06-07 01:17:50 +03:00 |
|
test_blockcheck_domain_actions.py
|
Pass BlockCheck page actions to workers
|
2026-05-30 00:54:04 +03:00 |
|
test_blockcheck_googlevideo_bare_host.py
|
Заменять голый googlevideo.com на rr-хост и запрещать его в доменах
|
2026-08-11 17:35:03 +03:00 |
|
test_blockcheck_googlevideo_discovery.py
|
Диагностика и проверка DNS подмены переписаны на Windows API
|
2026-09-28 00:44:33 +03:00 |
|
test_blockcheck_page_accessibility.py
|
Меньше лишней работы процессора: выплывание карточек без перерисовки каждый кадр, один снимок процессов, без полной записи истории оркестратора на каждую строку
|
2026-10-03 16:41:39 +03:00 |
|
test_blockcheck_requests_transport.py
|
BlockCheck переписан: проверяет как браузер, показывает итог с советами и список сайтов; «Диагностика» влилась в него
|
2026-09-28 20:26:44 +03:00 |
|
test_blockcheck_run_runtime_architecture.py
|
Let BlockCheck runtime own run workers
|
2026-06-02 00:07:24 +03:00 |
|
test_blockcheck_scan_runtime_state_thread_contract.py
|
Подбор стратегии переписан с нуля: не выдаёт ложных «работает» и «не работает» и проверяет стратегию втрое быстрее
|
2026-09-28 20:50:59 +03:00 |
|
test_blockcheck_support_prepare_queue.py
|
Use latest state for BlockCheck support prepare
|
2026-06-08 21:24:41 +03:00 |
|
test_blockcheck_targets.py
|
Находить GoogleVideo CDN в сети пользователя
|
2026-08-06 14:15:17 +03:00 |
|
test_blockcheck_user_domain_googlevideo.py
|
Заменять голый googlevideo.com на rr-хост и запрещать его в доменах
|
2026-08-11 17:35:03 +03:00 |
|
test_blockcheck_user_domain_runtime_architecture.py
|
Use queued state for BlockCheck user domains
|
2026-06-11 14:54:45 +03:00 |
|
test_blockcheck_worker_architecture.py
|
Подбор стратегии переписан с нуля: не выдаёт ложных «работает» и «не работает» и проверяет стратегию втрое быстрее
|
2026-09-28 20:50:59 +03:00 |
|
test_build_resource_layout.py
|
Обновление без пустого экрана: пока старая версия закрывается, ставится и открывается новая, на месте окна обновления стоит окно-продолжение (отдельный PowerShell, переживает замену Zapret.exe) — этапы с галочками, логотип бежит по переливающейся полосе, шутки; гаснет, когда новая версия открылась, при неудаче или отмене уходит сразу; своя полоска установщика скрыта (/VERYSILENT, ошибки по-прежнему видны); в «Что нового» и окне обновления заголовок стоит вровень с логотипом
|
2026-09-30 13:29:25 +03:00 |
|
test_builtin_profile_catalog.py
|
Добавить профиль «Бэкенд Google» в winws2-пресеты с YouTube, объявить tls_google везде и поднять версию набора до 2.41
|
2026-09-27 16:31:40 +03:00 |
|
test_button_motion.py
|
Живые кнопки во всей программе и заметная строка ZaStoGram на странице Telegram Proxy
|
2026-09-28 16:50:08 +03:00 |
|
test_cert_names.py
|
BlockCheck: новая вкладка «Проверка домена» слева от «DNS подмена» — для введённого домена или IP показывает пинг через Windows API без ping.exe (IPv4 и IPv6: отправлено/получено, потери, мин/средн/макс, TTL) и подключение к порту 443; адреса домена от двух с лишним десятков DNS-серверов (системные, список программы, свои, дополнительные независимые и шифрованные DoH как эталон) с пометками заглушек провайдера и предупреждением, если обычные DNS-запросы перехватываются по пути; владельца сети, ASN и подсеть адреса; домены на том же адресе — обратное имя, сертификат сайта, базы ip.thc.org и Shodan, HackerTarget как запасной; внешние сервисы отключаются галочкой, локальные адреса наружу не отправляются
|
2026-10-01 23:06:28 +03:00 |
|
test_clickable_card_accessibility.py
|
Главная: значки плиток нарисованы заново единым набором — ровные линии со скруглёнными концами и мягкой заливкой, чёткие на любом масштабе и заметные в светлой теме
|
2026-10-03 19:38:28 +03:00 |
|
test_close_dialog_accessibility.py
|
Fix close dialog DPI running state
|
2026-06-13 16:15:45 +03:00 |
|
test_code_editor_dependency_boundaries.py
|
Сделать редактор пресета полноценным: поиск, замена, номера строк
|
2026-08-14 23:32:14 +03:00 |
|
test_code_editor_find_controller.py
|
Сделать редактор пресета полноценным: поиск, замена, номера строк
|
2026-08-14 23:32:14 +03:00 |
|
test_code_editor_find_engine.py
|
Сделать редактор пресета полноценным: поиск, замена, номера строк
|
2026-08-14 23:32:14 +03:00 |
|
test_code_editor_language.py
|
Ошибка запуска про несуществующую Lua-функцию подсказывает, какую функцию вы имели в виду; длинный текст в строке статуса пресета больше не обрезается
|
2026-09-28 19:10:33 +03:00 |
|
test_code_editor_line_ops.py
|
Сделать редактор пресета полноценным: поиск, замена, номера строк
|
2026-08-14 23:32:14 +03:00 |
|
test_code_editor_match_ruler.py
|
Показывать карту совпадений поиска на полосе справа
|
2026-08-15 00:41:15 +03:00 |
|
test_code_editor_widget.py
|
Подключить редактор кода к профилям и взять цвета из темы
|
2026-08-15 00:06:23 +03:00 |
|
test_commands_ui_boundary.py
|
Move preset service creation out of commands
|
2026-06-05 14:28:56 +03:00 |
|
test_control_accessibility.py
|
Главная: быстрые действия стали плитками под сводкой — обучение, тест соединения, сброс сети, папка и документация загораются своим цветом под мышью
|
2026-10-03 18:58:23 +03:00 |
|
test_control_additional_settings_load_queue.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_control_additional_settings_save_queue.py
|
Use queued state for control additional settings save
|
2026-06-09 01:47:39 +03:00 |
|
test_control_animations.py
|
Главная: плитка «Текущий режим» теперь нажимается и открывает страницу «Сменить режим DPI» — как остальные плитки сводки, со стрелкой и подсветкой
|
2026-10-04 20:38:58 +03:00 |
|
test_control_defender_admin_check_queue.py
|
Use latest state for defender admin check
|
2026-06-08 22:50:59 +03:00 |
|
test_control_external_open_url_queue.py
|
Use queued state for control external links
|
2026-06-08 22:28:58 +03:00 |
|
test_control_internet_cleanup_button.py
|
Главная: быстрые действия стали плитками под сводкой — обучение, тест соединения, сброс сети, папка и документация загораются своим цветом под мышью
|
2026-10-03 18:58:23 +03:00 |
|
test_control_page_dependency_boundaries.py
|
Пуск и стоп Zapret отовсюду (#78): точка в «Статусе работы» стала выключателем (значок питания, подсветка при наведении, Enter/Пробел), секция из двух кнопок убрана — «Закрыть программу» тихой кнопкой в той же карточке; в заголовке окна рядом с PREMIUM метка «● Работает / Остановлен», видна в любом разделе и тоже переключает; трей переделан: шапка с режимом, состоянием и пресетом, первым пунктом «Запустить/Остановить Zapret», «Перезапустить», подменю пресетов с отметкой активного и быстрым переключением, меню собирается заново при каждом открытии; на иконке трея цветная точка (зелёная — работает, жёлтая — запуск/остановка), в подсказке режим и пресет, уведомления о запуске и остановке, когда окно скрыто; вся логика пуска в одном пульте ui/launch_control.py
|
2026-09-30 14:07:07 +03:00 |
|
test_control_profile_icons.py
|
Главная: сводка стала плитками — пресет, профили и Premium подсвечиваются под мышью и показывают стрелку, а в плитке профилей видны значки включённых сервисов
|
2026-10-03 18:47:59 +03:00 |
|
test_control_program_settings_load_queue.py
|
Use latest state for control program settings load
|
2026-06-09 00:51:53 +03:00 |
|
test_control_program_settings_save_queue.py
|
feat: add tray close mode setting
|
2026-06-12 19:09:52 +03:00 |
|
test_control_push_setting_card_icons.py
|
Значок карточки «Фейки» того же размера, что у строк-переключателей
|
2026-10-03 15:51:48 +03:00 |
|
test_control_quick_actions.py
|
Главная: значки плиток нарисованы заново единым набором — ровные линии со скруглёнными концами и мягкой заливкой, чёткие на любом масштабе и заметные в светлой теме
|
2026-10-03 19:38:28 +03:00 |
|
test_control_start_conflict_stop.py
|
Stop BlockCheck scan before manual DPI start
|
2026-06-01 00:04:54 +03:00 |
|
test_control_status_dot_pulse.py
|
Главная: блок статуса стал сценой — пакеты разбиваются о стену блокировки или проходят сквозь неё, фон в цвет состояния, волна при включении и талисман с настроением
|
2026-10-03 18:32:48 +03:00 |
|
test_control_top_summary_plan.py
|
Главная: значки плиток оживают по очереди — папка приоткрывается, строки профилей пробегают, галочка рисуется заново, дуги Wi‑Fi загораются, стрелка сброса делает оборот, у книги листается страница; один жест раз в 2,6 с, между жестами кадров нет
|
2026-10-03 20:06:06 +03:00 |
|
test_control_top_summary_refresh_guards.py
|
Показывать «Проверка...» вместо Free, пока сервер не ответил о подписке
|
2026-09-27 18:31:38 +03:00 |
|
test_control_top_summary_worker_architecture.py
|
Use shared state for control preset refresh timers
|
2026-06-11 01:02:49 +03:00 |
|
test_control_top_summary_worker_queue.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_control_uptime.py
|
Главная: время работы обхода — плашка с часиками ровно по центру заголовка, в первую минуту считает секунды вместо «меньше минуты»
|
2026-10-03 20:00:40 +03:00 |
|
test_crypto_dependency_trim.py
|
Перевести ZapretGUI с GitHub на Forgejo
|
2026-08-07 02:36:48 +03:00 |
|
test_custom_dns_accessibility.py
|
Настройка DNS: страница переписана с нуля — панель «Сейчас», плитки серверов и замер скорости
|
2026-09-29 21:42:54 +03:00 |
|
test_custom_dns_dialog.py
|
Add IPv6 support for custom DNS
|
2026-06-13 15:21:15 +03:00 |
|
test_custom_dns_settings.py
|
Add custom DNS list management
|
2026-06-12 17:44:23 +03:00 |
|
test_diagnostics_verdict.py
|
BlockCheck: не успевшие по времени контрольные сайты больше не выдаются за «нет интернета» и не прячут найденные блокировки
|
2026-09-28 21:10:27 +03:00 |
|
test_dialog_action_buttons_accessibility.py
|
Expose dialog action button states to screen readers
|
2026-06-12 13:59:13 +03:00 |
|
test_discord_manager.py
|
Refactor Discord restart manager
|
2026-06-14 19:19:12 +03:00 |
|
test_dns_adapters.py
|
DNS переписан на чистом WinAPI: только настоящие адаптеры, виртуалки и VPN не трогаются; добавлены AstraCat и GeoHide
|
2026-09-29 23:43:52 +03:00 |
|
test_dns_check_page_accessibility.py
|
Подробный лог на вкладках «DNS подмена» и «Подбор стратегии» открывается по кнопке в отдельном большом окне с копированием, как отчёт BlockCheck; маленькая панель внизу страницы убрана
|
2026-09-29 21:02:09 +03:00 |
|
test_dns_check_widgets.py
|
«DNS подмена» стала понятной: выдра и одна фраза итога («DNS честный» или «поймали провайдера за руку»), кнопка в «Настройку DNS», домены списком с адресами, подробный лог свёрнут
|
2026-09-28 21:25:36 +03:00 |
|
test_dns_ipv6_provider_apply.py
|
DNS переписан на чистом WinAPI: только настоящие адаптеры, виртуалки и VPN не трогаются; добавлены AstraCat и GeoHide
|
2026-09-29 23:43:52 +03:00 |
|
test_dns_latency.py
|
Настройка DNS: страница переписана с нуля — панель «Сейчас», плитки серверов и замер скорости
|
2026-09-29 21:42:54 +03:00 |
|
test_dns_manual_mode.py
|
DNS переписан на чистом WinAPI: только настоящие адаптеры, виртуалки и VPN не трогаются; добавлены AstraCat и GeoHide
|
2026-09-29 23:43:52 +03:00 |
|
test_dns_page.py
|
Настройка DNS: вместо короткой дуги — комета, которая всегда замыкает круг
|
2026-09-30 13:39:50 +03:00 |
|
test_dns_provider_grid.py
|
Настройка DNS: вместо короткой дуги — комета, которая всегда замыкает круг
|
2026-09-30 13:39:50 +03:00 |
|
test_dns_runtime.py
|
DNS переписан на чистом WinAPI: только настоящие адаптеры, виртуалки и VPN не трогаются; добавлены AstraCat и GeoHide
|
2026-09-29 23:43:52 +03:00 |
|
test_dns_winapi.py
|
DNS переписан на чистом WinAPI: только настоящие адаптеры, виртуалки и VPN не трогаются; добавлены AstraCat и GeoHide
|
2026-09-29 23:43:52 +03:00 |
|
test_dns_wire.py
|
BlockCheck: новая вкладка «Проверка домена» слева от «DNS подмена» — для введённого домена или IP показывает пинг через Windows API без ping.exe (IPv4 и IPv6: отправлено/получено, потери, мин/средн/макс, TTL) и подключение к порту 443; адреса домена от двух с лишним десятков DNS-серверов (системные, список программы, свои, дополнительные независимые и шифрованные DoH как эталон) с пометками заглушек провайдера и предупреждением, если обычные DNS-запросы перехватываются по пути; владельца сети, ASN и подсеть адреса; домены на том же адресе — обратное имя, сертификат сайта, базы ip.thc.org и Shodan, HackerTarget как запасной; внешние сервисы отключаются галочкой, локальные адреса наружу не отправляются
|
2026-10-01 23:06:28 +03:00 |
|
test_dns_worker_architecture.py
|
DNS переписан на чистом WinAPI: только настоящие адаптеры, виртуалки и VPN не трогаются; добавлены AstraCat и GeoHide
|
2026-09-29 23:43:52 +03:00 |
|
test_domain_chip_accessibility.py
|
Enable domain chip removal with Enter
|
2026-06-12 22:15:54 +03:00 |
|
test_domain_lookup.py
|
BlockCheck: новая вкладка «Проверка домена» слева от «DNS подмена» — для введённого домена или IP показывает пинг через Windows API без ping.exe (IPv4 и IPv6: отправлено/получено, потери, мин/средн/макс, TTL) и подключение к порту 443; адреса домена от двух с лишним десятков DNS-серверов (системные, список программы, свои, дополнительные независимые и шифрованные DoH как эталон) с пометками заглушек провайдера и предупреждением, если обычные DNS-запросы перехватываются по пути; владельца сети, ASN и подсеть адреса; домены на том же адресе — обратное имя, сертификат сайта, базы ip.thc.org и Shodan, HackerTarget как запасной; внешние сервисы отключаются галочкой, локальные адреса наружу не отправляются
|
2026-10-01 23:06:28 +03:00 |
|
test_domain_lookup_page.py
|
BlockCheck: новая вкладка «Проверка домена» слева от «DNS подмена» — для введённого домена или IP показывает пинг через Windows API без ping.exe (IPv4 и IPv6: отправлено/получено, потери, мин/средн/макс, TTL) и подключение к порту 443; адреса домена от двух с лишним десятков DNS-серверов (системные, список программы, свои, дополнительные независимые и шифрованные DoH как эталон) с пометками заглушек провайдера и предупреждением, если обычные DNS-запросы перехватываются по пути; владельца сети, ASN и подсеть адреса; домены на том же адресе — обратное имя, сертификат сайта, базы ip.thc.org и Shodan, HackerTarget как запасной; внешние сервисы отключаются галочкой, локальные адреса наружу не отправляются
|
2026-10-01 23:06:28 +03:00 |
|
test_dpi_settings_accessibility.py
|
Enable nested radio option arrow navigation
|
2026-06-12 22:04:05 +03:00 |
|
test_dpi_settings_worker_queue.py
|
Prevent duplicate DPI mode reapply
|
2026-06-12 18:54:05 +03:00 |
|
test_drawn_badger.py
|
Жесты значков, поблёскивание и моргание медоеда тоже замирают, пока экран никто не видит
|
2026-10-04 00:18:15 +03:00 |
|
test_early_windows_version_guard.py
|
Переписать проверку запуска: одна проверка перед стартом и понятное окно для любой причины, по которой Zapret не может запуститься
|
2026-09-27 16:29:31 +03:00 |
|
test_engine_driver.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_engine_process_control.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_exit_watch_autorestart.py
|
Меньше лишней работы процессора: выплывание карточек без перерисовки каждый кадр, один снимок процессов, без полной записи истории оркестратора на каждую строку
|
2026-10-03 16:41:39 +03:00 |
|
test_external_actions_architecture.py
|
Move external open URL action to commands
|
2026-05-31 18:09:43 +03:00 |
|
test_external_page_action_worker_boundaries.py
|
Обновление: одно большое окно для любого пути — изменения всех пропущенных версий, «Что нового», кнопки «Обновить / Позже / Пропустить версию / Открыть в браузере / Telegram», загрузка прямо в окне: логотип бежит и покачивается по переливающейся полосе, шутки как в BlockCheck; «Скрыть» не останавливает загрузку; «Что нового» один раз после обновления и кнопкой в «О программе»; маленький вопрос при запуске и карточка с обрезанным текстом убраны
|
2026-09-30 01:51:43 +03:00 |
|
test_external_worker_architecture.py
|
Move external open URL action to commands
|
2026-05-31 18:09:43 +03:00 |
|
test_fakes_catalog.py
|
Реестр фейков winws2: читатель готовой базы fakes_catalog.sqlite3, общие имена встроенных blob-ов и проверки согласованности с пресетами и каталогами
|
2026-09-27 18:38:29 +03:00 |
|
test_fakes_page.py
|
Главная: плитка «Текущий режим» теперь нажимается и открывает страницу «Сменить режим DPI» — как остальные плитки сводки, со стрелкой и подсветкой
|
2026-10-04 20:38:58 +03:00 |
|
test_fakes_registry_integrity.py
|
Реестр фейков winws2: читатель готовой базы fakes_catalog.sqlite3, общие имена встроенных blob-ов и проверки согласованности с пресетами и каталогами
|
2026-09-27 18:38:29 +03:00 |
|
test_feature_assembly_imports.py
|
Fix logs feature facade builder import
|
2026-05-30 22:30:36 +03:00 |
|
test_feature_facades_lazy_imports.py
|
Guard feature assembly facade imports
|
2026-05-30 22:32:54 +03:00 |
|
test_flowseal_1103_winws1_presets.py
|
Добавить встроенные пресеты winws1 Flowseal 1.10.3 (22 файла) и папку «1.10.3»
|
2026-09-27 16:33:26 +03:00 |
|
test_flowseal_1103_winws2_presets.py
|
Ветки --payload одного профиля — одна составная готовая стратегия: одно имя, оценка и значок типов пакетов, выбор на странице и в blockcheck применяет её целиком, обычная стратегия поверх составной пишет один общий --payload
|
2026-09-27 19:33:52 +03:00 |
|
test_fluent_app_window_chrome.py
|
Окно не перерисовывается целиком при входе и уходе курсора
|
2026-10-03 17:47:33 +03:00 |
|
test_fluent_button_contract.py
|
Improve refresh button accessibility
|
2026-06-16 18:35:10 +03:00 |
|
test_fluent_dialog_lifecycle.py
|
Память: закрытые диалоги и всплывающие меню (включая меню трея) удаляются, а не копятся до выхода; страница журнала не держит мосты с копией текста после каждого захода; журнал прокси Telegram для «Копировать всё» хранит только последние 3000 строк; просмотр старого журнала оркестратора читает только последний 1 МБ; история SUCCESS/FAIL оркестратора пишется в базу пачкой раз в 10 с вместо полной перезаписи настроек на каждое событие; плитки Hosts и фон «РКН Тян» не копят картинки при изменении размера окна
|
2026-09-30 23:23:40 +03:00 |
|
test_fluent_item_tooltip.py
|
Skip duplicate fluent tooltip updates
|
2026-05-31 01:05:17 +03:00 |
|
test_fluent_scrollbar.py
|
Skip fluent scrollbar arrows in tab order
|
2026-06-12 20:42:57 +03:00 |
|
test_fluent_translator.py
|
Перевести встроенные строки qfluentwidgets на язык интерфейса
|
2026-08-15 01:01:17 +03:00 |
|
test_fluent_widgets_accessibility.py
|
Read premium badges for screen readers
|
2026-06-15 20:33:06 +03:00 |
|
test_folder_context_menu_architecture.py
|
Skip folder dialog clear button in tab order
|
2026-06-12 19:41:35 +03:00 |
|
test_folder_header_widget.py
|
Make folder headers keyboard accessible
|
2026-06-06 22:38:08 +03:00 |
|
test_folders_library.py
|
Добавить встроенные пресеты winws1 Flowseal 1.10.3 (22 файла) и папку «1.10.3»
|
2026-09-27 16:33:26 +03:00 |
|
test_folders_ordering_plan.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_forgejo_release_history.py
|
«Что нового» и окно обновления: в Stable показываются 3 выпуска вместо 10 (текст выпуска Stable — большая статья), в Dev по-прежнему 10; пропущенные версии видны все
|
2026-10-02 01:23:49 +03:00 |
|
test_frame_clock.py
|
Живые анимации рисуются в общем такте и не рисуются, когда экран никто не видит
|
2026-10-03 19:38:53 +03:00 |
|
test_fun_widgets.py
|
Окно обновления: шутки больше не повторяются от раза к разу — наборы фраз увеличены в несколько раз (подготовка, загрузка, установка, ошибка, перезапуск, «Что нового», русский и английский), бегущая строка показывает их в случайном порядке и не повторяет ни одной, пока не прошли все остальные, окно-продолжение получает перемешанный список и идёт по нему по кругу
|
2026-10-02 19:24:48 +03:00 |
|
test_geo_sites_warning.py
|
BlockCheck: для гео-сайтов советуется hosts или DNS, а не стратегия — если целью подбора стратегии выбран сервис, который сам ограничивает доступ из России (ChatGPT, Claude, Spotify и другие сервисы с DNS-профилем из каталога hosts), под полем цели сразу появляется предупреждение с кнопками «Открыть Редактор hosts» и «Настройка DNS», а кнопка запуска сначала спрашивает, подбирать ли всё равно; в итогах обычной проверки BlockCheck у такого сайта вместо «Подобрать стратегию» стоит совет про DNS-профиль и кнопка «Редактор hosts»; список гео-сайтов берётся из каталога hosts в фоне (hosts/geo_sites), поддомены сайта считаются тем же сервисом; у общего предупреждения SemanticNotice заработали мягкая заливка и читаемый на светлой теме цвет текста
|
2026-10-03 15:12:13 +03:00 |
|
test_global_search_index.py
|
Все ссылки собраны на «Справке» в три группы: Научиться, Спросить, Следить за новостями; дубли убраны, добавлены папка со всеми чатами и канал со всеми ссылками
|
2026-09-28 17:33:34 +03:00 |
|
test_global_smooth_scroll_policy.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_google_backend_profile.py
|
Добавить профиль «Бэкенд Google» в winws2-пресеты с YouTube, объявить tls_google везде и поднять версию набора до 2.41
|
2026-09-27 16:31:40 +03:00 |
|
test_gui_autostart_contract.py
|
Перевести автозапуск и DNS на штатные API Windows
|
2026-08-16 19:21:56 +03:00 |
|
test_gui_direct_work_contract.py
|
Hosts переписан: страница не прокручивается целиком — крутится только список сервисов; в меню «☰» открывается «Файл hosts» с раскраской строк по владельцам и кнопкой «Сохранить»
|
2026-09-29 18:16:40 +03:00 |
|
test_gui_gil_switch_interval.py
|
Проверять целостность поставки и чинить её самостоятельно
|
2026-07-28 15:07:14 +03:00 |
|
test_holiday_effects_performance.py
|
Rewrite holiday effects as a separate click-through overlay window
|
2026-09-30 14:30:48 +03:00 |
|
test_hosts_catalog_sqlite.py
|
Тесты каталога hosts: версия 2026.10.03.1, 850 доменов и 6813 ответов DNS — у Claude добавлены 32 имени, у Gemini и Copilot обновлены адреса XBOX DNS
|
2026-10-03 15:42:08 +03:00 |
|
test_hosts_file_manager.py
|
Hosts меняется только по кнопке «Применить»: щелчки копят черновик с предпросмотром строк, видно всё, что лежит в hosts; Telegram Proxy больше не пишет в hosts сам при открытии
|
2026-09-29 17:07:30 +03:00 |
|
test_hosts_ipv6_gating.py
|
Hosts меняется только по кнопке «Применить»: щелчки копят черновик с предпросмотром строк, видно всё, что лежит в hosts; Telegram Proxy больше не пишет в hosts сам при открытии
|
2026-09-29 17:07:30 +03:00 |
|
test_hosts_page_draft.py
|
Память: закрытые диалоги и всплывающие меню (включая меню трея) удаляются, а не копятся до выхода; страница журнала не держит мосты с копией текста после каждого захода; журнал прокси Telegram для «Копировать всё» хранит только последние 3000 строк; просмотр старого журнала оркестратора читает только последний 1 МБ; история SUCCESS/FAIL оркестратора пишется в базу пачкой раз в 10 с вместо полной перезаписи настроек на каждое событие; плитки Hosts и фон «РКН Тян» не копят картинки при изменении размера окна
|
2026-09-30 23:23:40 +03:00 |
|
test_hosts_tile_caption_wrap.py
|
Значки: широкие значки (геймпад, сеть, Discord) больше не срезаются по краям — уменьшаются так, чтобы уместиться в свой квадрат; плитки Hosts рисуют фирменные логотипы сервисов из общего набора Simple Icons
|
2026-10-01 21:40:57 +03:00 |
|
test_hot_action_timing.py
|
Скорость: переключение пресета, сохранение пресета, применение стратегии, включение profile, настройки profile, активация, старт и остановка DPI пишут своё время в журнал (UiMetric) — по нему видно, сколько они длятся у пользователя; определение папки profile по тексту запоминается — повторная сборка списка из ~100 profile ускорилась с ~12 до ~2 мс
|
2026-09-30 14:27:19 +03:00 |
|
test_https_dns_fallback.py
|
Добавить защищённый DNS fallback для HTTPS
|
2026-08-20 15:24:43 +03:00 |
|
test_icon_loop.py
|
Жесты значков, поблёскивание и моргание медоеда тоже замирают, пока экран никто не видит
|
2026-10-04 00:18:15 +03:00 |
|
test_idle_memory_trim.py
|
Память: окно, скрытое в трей или свёрнутое дольше 2 минут, собирает мусор, чистит кэш картинок Qt и отдаёт Windows лишние страницы (пока окно открыто — ничего не выгружается); история оркестратора ограничена 3000 целей (давние UDP-адреса вытесняются, закреплённые остаются), счётчики успехов и «последняя стратегия» тоже ограничены; анализатор журналов winws хранит начало и конец соединения (200 пакетов) и не больше 200 тыс. пакетов на журнал; подсказки удаляются вместе со своим виджетом; реестр тем забывает удалённые виджеты сразу; повторное применение той же темы не перекрашивает все виджеты; предупреждение проверки прокси Telegram заменяет прежнее, а не копится
|
2026-09-30 23:35:31 +03:00 |
|
test_import_warmup.py
|
Быстрее появление окна: фильтр перетаскивания на всё приложение не ставится на Windows, подсказка перетаскивания создаётся при первом показе, asyncio/requests/psutil греются после готовности окна; метка StartupFirstPaint в журнале
|
2026-09-27 20:17:42 +03:00 |
|
test_infobar_duration.py
|
Сделать плашки импорта заметными
|
2026-08-08 19:46:56 +03:00 |
|
test_infobar_layout.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_install_integrity.py
|
Проверять целостность поставки и чинить её самостоятельно
|
2026-07-28 15:07:14 +03:00 |
|
test_installation_self_repair.py
|
Переписать страницу обновлений на сервисы: DPI не остаётся выключенным, скачивание без склейки
|
2026-09-27 17:51:48 +03:00 |
|
test_installer_runtime_swap.py
|
Проверять целостность поставки и чинить её самостоятельно
|
2026-07-28 15:07:14 +03:00 |
|
test_internet_cleanup.py
|
fix
|
2026-06-18 18:46:40 +03:00 |
|
test_kaspersky_safe_windivert_cleanup.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_keyboard_list_accessibility_guards.py
|
Настройка DNS: страница переписана с нуля — панель «Сейчас», плитки серверов и замер скорости
|
2026-09-29 21:42:54 +03:00 |
|
test_latest_worker_lane.py
|
Настройка DNS: страница переписана с нуля — панель «Сейчас», плитки серверов и замер скорости
|
2026-09-29 21:42:54 +03:00 |
|
test_launch_conflicting_processes.py
|
Исправить изоляцию Qt-тестов и Linux-пропуски
|
2026-07-25 20:16:12 +03:00 |
|
test_launch_control.py
|
Пуск и стоп Zapret отовсюду (#78): точка в «Статусе работы» стала выключателем (значок питания, подсветка при наведении, Enter/Пробел), секция из двух кнопок убрана — «Закрыть программу» тихой кнопкой в той же карточке; в заголовке окна рядом с PREMIUM метка «● Работает / Остановлен», видна в любом разделе и тоже переключает; трей переделан: шапка с режимом, состоянием и пресетом, первым пунктом «Запустить/Остановить Zapret», «Перезапустить», подменю пресетов с отметкой активного и быстрым переключением, меню собирается заново при каждом открытии; на иконке трея цветная точка (зелёная — работает, жёлтая — запуск/остановка), в подсказке режим и пресет, уведомления о запуске и остановке, когда окно скрыто; вся логика пуска в одном пульте ui/launch_control.py
|
2026-09-30 14:07:07 +03:00 |
|
test_launch_failure_publication.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_launch_gate.py
|
Переписать проверку запуска: одна проверка перед стартом и понятное окно для любой причины, по которой Zapret не может запуститься
|
2026-09-27 16:29:31 +03:00 |
|
test_launch_title_badge.py
|
Между значками «PREMIUM» и «Работает» в заголовке окна промежуток 8 px — значки больше не слипаются
|
2026-09-30 14:35:45 +03:00 |
|
test_layered_files_ownership.py
|
обновление
|
2026-07-15 21:05:58 +03:00 |
|
test_legacy_async_workers_architecture.py
|
Remove legacy async workers
|
2026-05-31 18:16:38 +03:00 |
|
test_legacy_log_viewer_runtime.py
|
Replace legacy logging with bounded async pipeline
|
2026-07-21 02:02:52 +03:00 |
|
test_line_edit_icons_accessibility.py
|
Expose line edit clear action state to screen readers
|
2026-06-12 16:24:05 +03:00 |
|
test_line_icons.py
|
Главная: значки плиток нарисованы заново единым набором — ровные линии со скруглёнными концами и мягкой заливкой, чёткие на любом масштабе и заметные в светлой теме
|
2026-10-03 19:38:28 +03:00 |
|
test_list_accessibility_models.py
|
Починить перемещение preset-ов и профилей
|
2026-08-19 23:37:37 +03:00 |
|
test_lists_core_files.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_lists_startup_contract.py
|
Встроенный ipset-all заменён полным списком Flowseal (33 048 сетей), тесты закрепляют его состав и решения по спискам доменов
|
2026-09-27 19:49:05 +03:00 |
|
test_log_page_runtime.py
|
Память: закрытые диалоги и всплывающие меню (включая меню трея) удаляются, а не копятся до выхода; страница журнала не держит мосты с копией текста после каждого захода; журнал прокси Telegram для «Копировать всё» хранит только последние 3000 строк; просмотр старого журнала оркестратора читает только последний 1 МБ; история SUCCESS/FAIL оркестратора пишется в базу пачкой раз в 10 с вместо полной перезаписи настроек на каждое событие; плитки Hosts и фон «РКН Тян» не копят картинки при изменении размера окна
|
2026-09-30 23:23:40 +03:00 |
|
test_log_refresh_icon_contract.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_log_report_dialog.py
|
Подробный лог на вкладках «DNS подмена» и «Подбор стратегии» открывается по кнопке в отдельном большом окне с копированием, как отчёт BlockCheck; маленькая панель внизу страницы убрана
|
2026-09-29 21:02:09 +03:00 |
|
test_logs_accessibility.py
|
Перевести ZapretGUI с GitHub на Forgejo
|
2026-08-07 02:36:48 +03:00 |
|
test_logs_runtime_helpers.py
|
Avoid reading log error text for height
|
2026-06-07 16:25:48 +03:00 |
|
test_logs_tail_worker_runtime.py
|
Replace legacy logging with bounded async pipeline
|
2026-07-21 02:02:52 +03:00 |
|
test_logs_worker_architecture.py
|
Replace legacy logging with bounded async pipeline
|
2026-07-21 02:02:52 +03:00 |
|
test_main_startup_contract.py
|
Живые анимации рисуются в общем такте и не рисуются, когда экран никто не видит
|
2026-10-03 19:38:53 +03:00 |
|
test_match_filters_l7.py
|
Предупреждать о пропущенных и повторяющихся готовых стратегиях, выбирать каталог по L7-протоколу, различать HostFakeSplit и проверять имена lua, blob и bin
|
2026-09-27 16:37:05 +03:00 |
|
test_message_box_accessibility.py
|
Name message boxes for screen readers
|
2026-06-13 23:25:19 +03:00 |
|
test_native_dir_watcher.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_native_tooltip_guard.py
|
Подсказки: чёрное пустое окошко при наведении больше не появляется нигде — на значках DNS-профилей в «Редакторе hosts», на плитках DNS-провайдеров, в таблицах фейков, результатов BlockCheck и «Проверки домена», в точках шагов обучения и других местах подсказка теперь рисуется в стиле программы; общая защита на всё приложение (ui/native_tooltip_guard) перехватывает обычную подсказку Qt до показа и выводит её текст fluent-подсказкой у курсора, а случайно появившееся системное окошко сразу закрывает; подсказки строк в таблицах BlockCheck и «Проверки домена» раньше не показывались вовсе — исправлено
|
2026-10-03 14:46:42 +03:00 |
|
test_net_resolve_deadline.py
|
BlockCheck переписан: проверяет как браузер, показывает итог с советами и список сайтов; «Диагностика» влилась в него
|
2026-09-28 20:26:44 +03:00 |
|
test_notification_banner_accessibility.py
|
Read notification icon state for accessibility
|
2026-06-16 19:12:37 +03:00 |
|
test_notification_dedupe.py
|
Называть настоящую причину отказа WinDivert вместо состояния покоя
|
2026-07-28 18:07:59 +03:00 |
|
test_onboarding_tour.py
|
Обучение: кнопка паузы на схемах техник — анимацию можно остановить на любом кадре и продолжить с него же
|
2026-10-03 18:18:57 +03:00 |
|
test_one_shot_worker_runtime.py
|
Ignore stale one-shot worker finishes
|
2026-06-03 22:20:26 +03:00 |
|
test_orchestra_accessibility.py
|
Оркестратор: цвет статуса возвращается после смены темы
|
2026-10-03 17:46:07 +03:00 |
|
test_orchestra_history_flush.py
|
Меньше лишней работы процессора: выплывание карточек без перерисовки каждый кадр, один снимок процессов, без полной записи истории оркестратора на каждую строку
|
2026-10-03 16:41:39 +03:00 |
|
test_orchestra_ignored_targets_lazy.py
|
Speed up startup: ExeToPython metric, lazy imports, qtawesome warmup
|
2026-07-06 12:32:29 +03:00 |
|
test_orchestra_ipset_files.py
|
fix
|
2026-06-22 22:17:22 +03:00 |
|
test_orchestra_log_view_tail.py
|
Память: закрытые диалоги и всплывающие меню (включая меню трея) удаляются, а не копятся до выхода; страница журнала не держит мосты с копией текста после каждого захода; журнал прокси Telegram для «Копировать всё» хранит только последние 3000 строк; просмотр старого журнала оркестратора читает только последний 1 МБ; история SUCCESS/FAIL оркестратора пишется в базу пачкой раз в 10 с вместо полной перезаписи настроек на каждое событие; плитки Hosts и фон «РКН Тян» не копят картинки при изменении размера окна
|
2026-09-30 23:23:40 +03:00 |
|
test_orchestra_rows_window.py
|
Оркестратор: списки закреплённых и заблокированных стратегий строят только первые 100 подходящих под поиск строк, остальные открываются кнопкой «Показать ещё»; поиск фильтрует данные с небольшой задержкой на набор, а не прячет тысячи заранее созданных строк — при тысячах закреплённых UDP-адресов страница больше не держит в памяти виджет на каждый адрес
|
2026-09-30 23:41:06 +03:00 |
|
test_orchestra_runtime_config.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_orchestra_settings_accessibility.py
|
Expose orchestra settings tabs to screen readers
|
2026-06-10 19:47:53 +03:00 |
|
test_orchestra_settings_worker_architecture.py
|
Pass orchestra settings action to worker
|
2026-05-30 17:43:00 +03:00 |
|
test_orchestra_worker_architecture.py
|
Убрать блокировки интерфейса из DPI runtime
|
2026-07-25 20:43:11 +03:00 |
|
test_page_build_no_stray_windows.py
|
Убрать мигающее окно при запуске: подпись на странице Telegram Proxy показывается только после вставки в страницу; тест проверяет, что ни одна страница при сборке не показывает отдельных окон
|
2026-09-27 19:21:56 +03:00 |
|
test_page_factory_startup_metrics.py
|
Add page factory startup metrics
|
2026-05-29 13:55:20 +03:00 |
|
test_page_float_in_contract.py
|
Меньше лишней работы процессора: выплывание карточек без перерисовки каждый кадр, один снимок процессов, без полной записи истории оркестратора на каждую строку
|
2026-10-03 16:41:39 +03:00 |
|
test_page_host_keyboard_focus.py
|
Refocus pages after keyboard navigation
|
2026-06-16 23:08:52 +03:00 |
|
test_page_host_switch_diagnostics.py
|
Use stock page animations across navigation
|
2026-07-21 01:47:35 +03:00 |
|
test_popup_menu_lifecycle.py
|
Память: закрытые диалоги и всплывающие меню (включая меню трея) удаляются, а не копятся до выхода; страница журнала не держит мосты с копией текста после каждого захода; журнал прокси Telegram для «Копировать всё» хранит только последние 3000 строк; просмотр старого журнала оркестратора читает только последний 1 МБ; история SUCCESS/FAIL оркестратора пишется в базу пачкой раз в 10 с вместо полной перезаписи настроек на каждое событие; плитки Hosts и фон «РКН Тян» не копят картинки при изменении размера окна
|
2026-09-30 23:23:40 +03:00 |
|
test_popup_menu_style.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_portable_preset_archive.py
|
Переносить пользовательские списки вместе с пресетом
|
2026-08-14 20:38:37 +03:00 |
|
test_post_mortem_diagnosis.py
|
Диагностировать молчаливое завершение winws по фактам
|
2026-07-28 15:02:12 +03:00 |
|
test_post_startup_host_whats_new.py
|
Обновление: одно большое окно для любого пути — изменения всех пропущенных версий, «Что нового», кнопки «Обновить / Позже / Пропустить версию / Открыть в браузере / Telegram», загрузка прямо в окне: логотип бежит и покачивается по переливающейся полосе, шутки как в BlockCheck; «Скрыть» не останавливает загрузку; «Что нового» один раз после обновления и кнопкой в «О программе»; маленький вопрос при запуске и карточка с обрезанным текстом убраны
|
2026-09-30 01:51:43 +03:00 |
|
test_post_startup_remote_presets.py
|
Добавить удалённые пресеты: импорт по ссылке и автообновление
|
2026-08-14 22:01:52 +03:00 |
|
test_post_startup_update_contract.py
|
Обновление без пустого экрана: пока старая версия закрывается, ставится и открывается новая, на месте окна обновления стоит окно-продолжение (отдельный PowerShell, переживает замену Zapret.exe) — этапы с галочками, логотип бежит по переливающейся полосе, шутки; гаснет, когда новая версия открылась, при неудаче или отмене уходит сразу; своя полоска установщика скрыта (/VERYSILENT, ошибки по-прежнему видны); в «Что нового» и окне обновления заголовок стоит вровень с логотипом
|
2026-09-30 13:29:25 +03:00 |
|
test_premium_controls_accessibility.py
|
Автоматически завершать привязку Premium
|
2026-08-14 19:49:51 +03:00 |
|
test_premium_days_label_theme.py
|
Premium: надпись «Осталось дней» читается в светлой теме — цвет берётся из читаемых success_text/warning_text/error_text и задаётся сразу для обеих тем через setTextColor, поэтому при смене темы надпись перекрашивается сама и её стиль больше не затирается библиотекой; тесты на цвета в светлой и тёмной теме и на перекраску при смене темы
|
2026-10-02 19:35:59 +03:00 |
|
test_premium_direct_network.py
|
Добавить защищённый DNS fallback для HTTPS
|
2026-08-20 15:24:43 +03:00 |
|
test_premium_display.py
|
Досохранить FREE/PREMIUM-метку и единые правила Premium-статуса
|
2026-09-23 14:11:44 +03:00 |
|
test_premium_sqlite_lifecycle.py
|
Перевести настройки ZapretGUI на SQLite
|
2026-08-14 20:32:33 +03:00 |
|
test_premium_status_card_theme.py
|
Сделать карточку статуса Premium читаемой в светлой теме
|
2026-09-23 14:19:00 +03:00 |
|
test_premium_status_consistency.py
|
Показывать «Проверка...» вместо Free, пока сервер не ответил о подписке
|
2026-09-27 18:31:38 +03:00 |
|
test_premium_status_source.py
|
Автоматически завершать привязку Premium
|
2026-08-14 19:49:51 +03:00 |
|
test_premium_worker_architecture.py
|
Досохранить FREE/PREMIUM-метку и единые правила Premium-статуса
|
2026-09-23 14:11:44 +03:00 |
|
test_preset_actions_menu.py
|
Use preset hashes for builtin reset visibility
|
2026-06-22 23:35:49 +03:00 |
|
test_preset_blob_declarations.py
|
Подбор стратегии переписан с нуля: не выдаёт ложных «работает» и «не работает» и проверяет стратегию втрое быстрее
|
2026-09-28 20:50:59 +03:00 |
|
test_preset_builtin_reset_hash.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_preset_contract_architecture_checks.py
|
Пресет — точка истины: полный блок --lua-init во всех winws2-пресетах, единый договор нормализации, редактор показывает сохранённый текст, проверки сохранения и запуска
|
2026-09-27 18:11:07 +03:00 |
|
test_preset_data_safety_guards.py
|
Пресеты: автосинк не затирает правку, сделанную во время загрузки, и не возвращает отвязанную привязку или выключенное автообновление; пропавший выбранный пресет подменяется пресетом по умолчанию только для запуска — выбор не затирается и вернётся вместе с файлом; чтение выбора больше ничего не пишет в настройки; один заблокированный файл или папка *.txt не роняют список пресетов; упавшая проверка пресета не останавливает работающий DPI; действия над профилями не уходят в другой пресет после переключения; воркеры списка профилей и фильтра стратегий больше не роняют программу при пересоздании виджета
|
2026-09-30 13:49:29 +03:00 |
|
test_preset_delete_dialog_accessibility.py
|
Name preset delete dialog buttons
|
2026-06-11 18:08:09 +03:00 |
|
test_preset_drag_indicator.py
|
Починить перемещение preset-ов и профилей
|
2026-08-19 23:37:37 +03:00 |
|
test_preset_editor_invariants.py
|
Активный пресет знает свой режим: store общий для zapret1 и zapret2, поэтому вместе с именем (теперь в исходном регистре) публикуется режим; список profile сравнивает имя только со своим режимом — переключение пресета в другом режиме больше не перезагружает чужой список и не блокирует действия над profile (регрессия предыдущего коммита после смены режима)
|
2026-09-30 14:11:42 +03:00 |
|
test_preset_file_service_guards.py
|
Skip unchanged preset source saves
|
2026-05-31 15:41:38 +03:00 |
|
test_preset_file_store_guards.py
|
Skip unchanged preset file writes
|
2026-05-31 15:52:23 +03:00 |
|
test_preset_folder_actions.py
|
Добавить встроенные пресеты winws1 Flowseal 1.10.3 (22 файла) и папку «1.10.3»
|
2026-09-27 16:33:26 +03:00 |
|
test_preset_folder_rows.py
|
Use preset hashes for builtin reset visibility
|
2026-06-22 23:35:49 +03:00 |
|
test_preset_import_dialog.py
|
Меньше лишней работы процессора: выплывание карточек без перерисовки каждый кадр, один снимок процессов, без полной записи истории оркестратора на каждую строку
|
2026-10-03 16:41:39 +03:00 |
|
test_preset_import_validation.py
|
Пресеты: файл пишется безопасно (временный файл + подмена с повторами на Windows, «только чтение» не обходится), cp1251 читается без порчи и «Старт» на нём не падает, правки редактора не теряются при закрытии окна, комментарии профиля переживают правку текстом, пропавший с диска активный пресет не подменяет работающий, --debug=@logs\ тоже переносится, папки пресетов пишутся под блокировкой
|
2026-09-30 01:48:06 +03:00 |
|
test_preset_launch_args_bom.py
|
Оркестратор: предзагрузка и --debug внутри рабочего конфига, файл поставки не переписывается; снятие BOM в аргументах запуска; удалены мёртвые инжекторы аргументов
|
2026-09-27 17:46:04 +03:00 |
|
test_preset_launch_identity.py
|
Пресет — точка истины: полный блок --lua-init во всех winws2-пресетах, единый договор нормализации, редактор показывает сохранённый текст, проверки сохранения и запуска
|
2026-09-27 18:11:07 +03:00 |
|
test_preset_launch_service.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_preset_list_model_guards.py
|
Починить перемещение preset-ов и профилей
|
2026-08-19 23:37:37 +03:00 |
|
test_preset_profile_async_architecture.py
|
Талисман — медоед, а не выдра: шутки обновления, заголовки BlockCheck («Медоед готов проверить вашу сеть», «Медоед готов искать обход»), DNS, описания и состояние для экранного диктора («Талисман: насторожился») — с мужским родом; по-английски honey badger. Тест ссылок окна обновления проверяет новое подключение (dialog.link_clicked → фоновый обработчик страницы) вместо удалённой карточки
|
2026-09-30 23:42:00 +03:00 |
|
test_preset_profile_diagnostics.py
|
Use stock page animations across navigation
|
2026-07-21 01:47:35 +03:00 |
|
test_preset_reset_remote_binding.py
|
Починить перемещение preset-ов и профилей
|
2026-08-19 23:37:37 +03:00 |
|
test_preset_runtime_coordinator.py
|
Пресеты и профили — доработки после самопроверки: один битый байт больше не переводит UTF-8 файл в cp1251, запуск winws, описание в списке и привязанный файл читаются по общему правилу кодировки; комментарий над первым профилем больше не даёт ложную «ошибку сохранения»; папки пресетов и профилей пишутся под одним замком; при закрытии синхронная запись пропускается, если зависшую запись пришлось прервать; результат для ранее открытого профиля не переключает страницу обратно и обновляет строку в списке, ожидающая стратегия другого профиля не отбрасывает результат, переключатель чужого профиля идёт в очередь, записи при закрытии идут в порядке щелчков; при чужом владельце быстрые щелчки по пресетам снова склеиваются; «DPI не запущен» больше не пишется WARNING на каждый щелчок; убраны осиротевшие строки диалога имени пресета
|
2026-09-30 02:26:03 +03:00 |
|
test_preset_runtime_mode_ownership.py
|
Fix preset switch runtime ownership
|
2026-08-08 18:35:45 +03:00 |
|
test_preset_selection_defaults.py
|
Пресеты: автосинк не затирает правку, сделанную во время загрузки, и не возвращает отвязанную привязку или выключенное автообновление; пропавший выбранный пресет подменяется пресетом по умолчанию только для запуска — выбор не затирается и вернётся вместе с файлом; чтение выбора больше ничего не пишет в настройки; один заблокированный файл или папка *.txt не роняют список пресетов; упавшая проверка пресета не останавливает работающий DPI; действия над профилями не уходят в другой пресет после переключения; воркеры списка профилей и фильтра стратегий больше не роняют программу при пересоздании виджета
|
2026-09-30 13:49:29 +03:00 |
|
test_preset_sidebar_navigation.py
|
Настройка DNS: страница переписана с нуля — панель «Сейчас», плитки серверов и замер скорости
|
2026-09-29 21:42:54 +03:00 |
|
test_preset_source_of_truth_contract.py
|
Пресет — точка истины: полный блок --lua-init во всех winws2-пресетах, единый договор нормализации, редактор показывает сохранённый текст, проверки сохранения и запуска
|
2026-09-27 18:11:07 +03:00 |
|
test_preset_status_bar.py
|
Убрать блокировки интерфейса из DPI runtime
|
2026-07-25 20:43:11 +03:00 |
|
test_preset_status_bar_accessibility.py
|
Expose preset status to screen readers
|
2026-06-10 23:04:46 +03:00 |
|
test_preset_subpage_accessibility.py
|
Use preset hashes for builtin reset visibility
|
2026-06-22 23:35:49 +03:00 |
|
test_preset_subpage_ui_guards.py
|
Пресеты и профили — доработки после самопроверки: один битый байт больше не переводит UTF-8 файл в cp1251, запуск winws, описание в списке и привязанный файл читаются по общему правилу кодировки; комментарий над первым профилем больше не даёт ложную «ошибку сохранения»; папки пресетов и профилей пишутся под одним замком; при закрытии синхронная запись пропускается, если зависшую запись пришлось прервать; результат для ранее открытого профиля не переключает страницу обратно и обновляет строку в списке, ожидающая стратегия другого профиля не отбрасывает результат, переключатель чужого профиля идёт в очередь, записи при закрытии идут в порядке щелчков; при чужом владельце быстрые щелчки по пресетам снова склеиваются; «DPI не запущен» больше не пишется WARNING на каждый щелчок; убраны осиротевшие строки диалога имени пресета
|
2026-09-30 02:26:03 +03:00 |
|
test_preset_summary_refresh_runtime.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_preset_switch_pending_progress.py
|
Исправить зависание и ускорить перезапуск при смене пресета
|
2026-08-08 20:19:16 +03:00 |
|
test_preset_switch_runtime.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_preset_text_outline.py
|
Тур: стрелки работают на любом шаге, текст карточки не съезжает, пресет разбирается по частям прямо в редакторе по открытому тексту, а полоска прогресса сверху и точки шагов ожили — комета с бликом и перетекающая таблетка, по точкам можно переходить
|
2026-09-28 21:37:57 +03:00 |
|
test_preset_ui_store_guards.py
|
Активный пресет после подмены: координатор помнит пресет, на котором реально работает DPI, а запасной только показывается — щелчок по запасному теперь переводит на него работающий DPI (раньше считался «уже выбран»); вернувшийся файл доходит до страниц и runtime, даже если его имя совпадает с последним отправленным, и лишнего перезапуска не вызывает
|
2026-09-30 14:29:11 +03:00 |
|
test_preset_url_import.py
|
Добавить удалённые пресеты: импорт по ссылке и автообновление
|
2026-08-14 22:01:52 +03:00 |
|
test_preset_url_import_dedup.py
|
Помнить URL пресета после отвязки и не терять привязку
|
2026-08-15 01:42:51 +03:00 |
|
test_presets_profiles_accuracy.py
|
Пресеты: подбор свободного имени больше не зависает на имени длиннее 100 символов (основа укорачивается под « (2)»); скан с заблокированным файлом кэшируется на 2 с, а предупреждение о файле пишется один раз; сброс списка профилей забывает отпечаток папки списков; пользовательский profile с именем вроде «con» получает допустимые файлы списков
|
2026-09-30 14:18:29 +03:00 |
|
test_process_monitor_nonblocking.py
|
Stop process monitor without GUI wait
|
2026-06-07 16:44:10 +03:00 |
|
test_process_probe_ctypes_isolation.py
|
Исправить изоляцию Qt-тестов и Linux-пропуски
|
2026-07-25 20:16:12 +03:00 |
|
test_process_probe_paths.py
|
Готово, цель закрыл. Бюджет цели: 2689 секунд. Что доделал по ускорению: - profile-список теперь строит сначала папки, а карточки внутри папок создаёт лениво, когда папка раскрыта. - Страница настройки одного profile больше не создаёт сразу вкладки «Редактор» и «Когда применяется». - Файл hostlist/ipset для вкладки «Редактор» больше не читается в основном payload-е profile; он грузится отдельным worker-ом только при открытии вкладки. - Отдельные страницы редакторов списков (custom domains, custom ipset, netrogat) больше не строят большой текстовый редактор в конструкторе. - HostlistPage больше не строит даже первую вкладку до первого показа страницы. - Настройки оркестратора внутри DPI-настроек строятся только когда реально нужен режим оркестратора. - Вкладки настроек orchestra больше не создают первую внутреннюю страницу прямо в конструкторе. - Таймер логов Telegram Proxy теперь не тикает, пока вкладка логов не построена и не открыта. Проверки прошли: ``text 259 tests OK Architecture boundary check passed compileall OK git diff --check OK ` Ещё важное: в дереве есть параллельные изменения по preset-файлам и process_probe, я их не откатывал. Из-за уже переименованного Default v5.txt я обновил один тест на текущий файл Default v5 (game filter).txt`, чтобы полный набор тестов снова проходил.
|
2026-05-21 21:55:05 +03:00 |
|
test_process_start_time.py
|
Speed up startup: ExeToPython metric, lazy imports, qtawesome warmup
|
2026-07-06 12:32:29 +03:00 |
|
test_profile_compact_display_combo.py
|
Skip duplicate compact combo text updates
|
2026-05-31 01:29:36 +03:00 |
|
test_profile_context_action_queue.py
|
Update profile context queue worker fixture
|
2026-06-11 16:26:30 +03:00 |
|
test_profile_context_menu_architecture.py
|
Add screen reader text for profile menu actions
|
2026-06-12 18:11:41 +03:00 |
|
test_profile_display_items.py
|
Переименовать профиль Discord UDP во всех пресетах
|
2026-07-15 21:30:37 +03:00 |
|
test_profile_drag_indicator.py
|
Починить перемещение preset-ов и профилей
|
2026-08-19 23:37:37 +03:00 |
|
test_profile_editable_settings.py
|
fix
|
2026-06-22 21:09:22 +03:00 |
|
test_profile_enabled_save_queue.py
|
Track profile setup workers by request id
|
2026-06-10 23:46:54 +03:00 |
|
test_profile_filter_kind_switch.py
|
Перевести настройки ZapretGUI на SQLite
|
2026-08-14 20:32:33 +03:00 |
|
test_profile_folder_actions.py
|
Пресеты и профили: убран неиспользуемый код (~560 строк: модули public.py, диалог имени пресета zapret2, мёртвые функции в preset_text_ops, profile.folders, привязках к источнику, фасаде запуска и страницах), переключение пресета больше не ждёт лишние 0,5 с — быстрые щелчки склеивает один debounce в switch pipeline
|
2026-09-30 02:11:03 +03:00 |
|
test_profile_icon_bundle.py
|
Добавить фирменную иконку Vencord
|
2026-07-15 21:20:36 +03:00 |
|
test_profile_icons.py
|
Добавить профиль «Бэкенд Google» в winws2-пресеты с YouTube, объявить tls_google везде и поднять версию набора до 2.41
|
2026-09-27 16:31:40 +03:00 |
|
test_profile_identity.py
|
Пресеты и профили — доработки после самопроверки: один битый байт больше не переводит UTF-8 файл в cp1251, запуск winws, описание в списке и привязанный файл читаются по общему правилу кодировки; комментарий над первым профилем больше не даёт ложную «ошибку сохранения»; папки пресетов и профилей пишутся под одним замком; при закрытии синхронная запись пропускается, если зависшую запись пришлось прервать; результат для ранее открытого профиля не переключает страницу обратно и обновляет строку в списке, ожидающая стратегия другого профиля не отбрасывает результат, переключатель чужого профиля идёт в очередь, записи при закрытии идут в порядке щелчков; при чужом владельце быстрые щелчки по пресетам снова склеиваются; «DPI не запущен» больше не пишется WARNING на каждый щелчок; убраны осиротевшие строки диалога имени пресета
|
2026-09-30 02:26:03 +03:00 |
|
test_profile_key_architecture.py
|
Починить перемещение preset-ов и профилей
|
2026-08-19 23:37:37 +03:00 |
|
test_profile_list_accessibility.py
|
Fix keyboard navigation for accessible lists
|
2026-06-16 16:53:56 +03:00 |
|
test_profile_list_delegate_layout.py
|
Ветки --payload одного профиля — одна составная готовая стратегия: одно имя, оценка и значок типов пакетов, выбор на странице и в blockcheck применяет её целиком, обычная стратегия поверх составной пишет один общий --payload
|
2026-09-27 19:33:52 +03:00 |
|
test_profile_list_file_editor.py
|
fix(profile): allow top-level hostlist suffixes
|
2026-07-25 16:40:14 +03:00 |
|
test_profile_list_file_load_queue.py
|
Improve HostsManager & classify GitHub/Amazon
|
2026-06-23 19:34:23 +03:00 |
|
test_profile_list_interpreter.py
|
Show duplicated preset profiles
|
2026-06-09 23:10:31 +03:00 |
|
test_profile_list_model_identity_update.py
|
upstrea,
|
2026-07-16 16:06:03 +03:00 |
|
test_profile_list_payload.py
|
Пресеты и профили: убран неиспользуемый код (~560 строк: модули public.py, диалог имени пресета zapret2, мёртвые функции в preset_text_ops, profile.folders, привязках к источнику, фасаде запуска и страницах), переключение пресета больше не ждёт лишние 0,5 с — быстрые щелчки склеивает один debounce в switch pipeline
|
2026-09-30 02:11:03 +03:00 |
|
test_profile_list_view_accessibility.py
|
Make profile list space-key selectable
|
2026-06-12 17:10:15 +03:00 |
|
test_profile_list_view_state_worker.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_profile_move_queue.py
|
Починить перемещение preset-ов и профилей
|
2026-08-19 23:37:37 +03:00 |
|
test_profile_order_page.py
|
Починить перемещение preset-ов и профилей
|
2026-08-19 23:37:37 +03:00 |
|
test_profile_order_worker_architecture.py
|
Use shared finish guard for profile order loads
|
2026-06-12 15:20:05 +03:00 |
|
test_profile_ordering.py
|
Переименовать профиль Discord UDP во всех пресетах
|
2026-07-15 21:30:37 +03:00 |
|
test_profile_preset_source_of_truth.py
|
Подбор стратегии переписан с нуля: не выдаёт ложных «работает» и «не работает» и проверяет стратегию втрое быстрее
|
2026-09-28 20:50:59 +03:00 |
|
test_profile_preset_write_serialization.py
|
обновление
|
2026-07-15 21:05:58 +03:00 |
|
test_profile_raw_editor.py
|
Профили: отложенные стратегия, переключатель и настройки пишутся в профиль, открытый при щелчке (а не в тот, что открыт к моменту записи), записи разных профилей не замещают друг друга, быстрые щелчки по стратегиям не теряют последний выбор, ждущие записи сохраняются при закрытии окна; смена пресета или стратегии во время запуска DPI применяется после старта; перемещение профилей больше не дописывает «--new=TCP 443» и не сдвигает их ключи; тот же профиль, открытый заново после правки пресета, показывает файл; переименование своего профиля сохраняет его папку и оценки
|
2026-09-30 02:06:39 +03:00 |
|
test_profile_row_tooltip.py
|
Расшифровывать в тултипе профиля протокол, список и стратегию
|
2026-08-11 17:33:41 +03:00 |
|
test_profile_service_apply_strategy_guards.py
|
Ветки --payload одного профиля — одна составная готовая стратегия: одно имя, оценка и значок типов пакетов, выбор на странице и в blockcheck применяет её целиком, обычная стратегия поверх составной пишет один общий --payload
|
2026-09-27 19:33:52 +03:00 |
|
test_profile_setup_accessibility.py
|
Ветки --payload одного профиля — одна составная готовая стратегия: одно имя, оценка и значок типов пакетов, выбор на странице и в blockcheck применяет её целиком, обычная стратегия поверх составной пишет один общий --payload
|
2026-09-27 19:33:52 +03:00 |
|
test_profile_setup_change_old_key_contract.py
|
upstrea,
|
2026-07-16 16:06:03 +03:00 |
|
test_profile_setup_cleanup_source_contract.py
|
Stop profile read workers without blocking GUI
|
2026-06-07 00:34:12 +03:00 |
|
test_profile_setup_code_editor.py
|
Подключить редактор кода к профилям и взять цвета из темы
|
2026-08-15 00:06:23 +03:00 |
|
test_profile_setup_controls.py
|
Skip duplicate profile range control updates
|
2026-05-29 23:48:00 +03:00 |
|
test_profile_setup_delete_queue.py
|
Queue user profile writes while scheduled
|
2026-06-01 13:49:51 +03:00 |
|
test_profile_setup_editor_read_defer.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_profile_setup_io_worker_architecture.py
|
обновление
|
2026-07-15 21:05:58 +03:00 |
|
test_profile_setup_list_editor_paste.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_profile_setup_page_contract.py
|
Пресеты и профили — доработки после самопроверки: один битый байт больше не переводит UTF-8 файл в cp1251, запуск winws, описание в списке и привязанный файл читаются по общему правилу кодировки; комментарий над первым профилем больше не даёт ложную «ошибку сохранения»; папки пресетов и профилей пишутся под одним замком; при закрытии синхронная запись пропускается, если зависшую запись пришлось прервать; результат для ранее открытого профиля не переключает страницу обратно и обновляет строку в списке, ожидающая стратегия другого профиля не отбрасывает результат, переключатель чужого профиля идёт в очередь, записи при закрытии идут в порядке щелчков; при чужом владельце быстрые щелчки по пресетам снова склеиваются; «DPI не запущен» больше не пишется WARNING на каждый щелчок; убраны осиротевшие строки диалога имени пресета
|
2026-09-30 02:26:03 +03:00 |
|
test_profile_setup_ui_guards.py
|
Профили: отложенные стратегия, переключатель и настройки пишутся в профиль, открытый при щелчке (а не в тот, что открыт к моменту записи), записи разных профилей не замещают друг друга, быстрые щелчки по стратегиям не теряют последний выбор, ждущие записи сохраняются при закрытии окна; смена пресета или стратегии во время запуска DPI применяется после старта; перемещение профилей больше не дописывает «--new=TCP 443» и не сдвигает их ключи; тот же профиль, открытый заново после правки пресета, показывает файл; переименование своего профиля сохраняет его папку и оценки
|
2026-09-30 02:06:39 +03:00 |
|
test_profile_setup_worker_architecture.py
|
Пресеты и профили — точность: проверка запуска не считает флаги в комментариях, строки делятся только по переводу строки (как у парсера); при смене стратегии сохраняется действующий (последний) --payload; новый пользовательский profile не делит файлы списков с переименованным, битая запись не роняет шаблоны; кэш профиля учитывает имя и файлы списков; «v1.5» ищется как v1.5.txt, имя возвращается как на диске; занятое имя при создании/копии/переименовании/импорте становится «X (2)» и в файле, и в списке; импорт ZIP переписывает ссылки в строке с несколькими опциями и отвергает имена CON, a.txt:поток и т.п.; смена стратегии не сбрасывает папку и порядок профиля; результат и ошибка импорта показываются всегда, повторный импорт по ссылке не теряет источник, папка сворачивается сразу; шаги перемещения папок не схлопываются; устаревший план фильтра стратегий не затирает строки; сбои обновления меты пишутся в лог. Доработки волны 1: запасной пресет нельзя удалить, щелчок по нему закрепляет выбор, действия над профилями не принимаются, пока список показывает прежний пресет, результат сканирования с заблокированным файлом не кэшируется
|
2026-09-30 14:08:38 +03:00 |
|
test_profile_setup_worker_runtime_architecture.py
|
обновление
|
2026-07-15 21:05:58 +03:00 |
|
test_profile_setup_write_identity.py
|
Пресеты и профили — доработки после самопроверки: один битый байт больше не переводит UTF-8 файл в cp1251, запуск winws, описание в списке и привязанный файл читаются по общему правилу кодировки; комментарий над первым профилем больше не даёт ложную «ошибку сохранения»; папки пресетов и профилей пишутся под одним замком; при закрытии синхронная запись пропускается, если зависшую запись пришлось прервать; результат для ранее открытого профиля не переключает страницу обратно и обновляет строку в списке, ожидающая стратегия другого профиля не отбрасывает результат, переключатель чужого профиля идёт в очередь, записи при закрытии идут в порядке щелчков; при чужом владельце быстрые щелчки по пресетам снова склеиваются; «DPI не запущен» больше не пишется WARNING на каждый щелчок; убраны осиротевшие строки диалога имени пресета
|
2026-09-30 02:26:03 +03:00 |
|
test_profile_setup_write_serialization.py
|
Профили: отложенные стратегия, переключатель и настройки пишутся в профиль, открытый при щелчке (а не в тот, что открыт к моменту записи), записи разных профилей не замещают друг друга, быстрые щелчки по стратегиям не теряют последний выбор, ждущие записи сохраняются при закрытии окна; смена пресета или стратегии во время запуска DPI применяется после старта; перемещение профилей больше не дописывает «--new=TCP 443» и не сдвигает их ключи; тот же профиль, открытый заново после правки пресета, показывает файл; переименование своего профиля сохраняет его папку и оценки
|
2026-09-30 02:06:39 +03:00 |
|
test_profile_shell_accessibility.py
|
Перевести ZapretGUI с GitHub на Forgejo
|
2026-08-07 02:36:48 +03:00 |
|
test_profile_status_wording.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_profile_strategy_resolution.py
|
Ветки --payload одного профиля — одна составная готовая стратегия: одно имя, оценка и значок типов пакетов, выбор на странице и в blockcheck применяет её целиком, обычная стратегия поверх составной пишет один общий --payload
|
2026-09-27 19:33:52 +03:00 |
|
test_profile_strategy_signal_guard.py
|
Skip current strategy activation signal
|
2026-05-31 01:20:46 +03:00 |
|
test_profile_strategy_state_guards.py
|
Дать пресетам постоянный uid в SQL-таблицах и перевести профили на uid
|
2026-08-15 02:14:48 +03:00 |
|
test_profile_strategy_visuals.py
|
Предупреждать о пропущенных и повторяющихся готовых стратегиях, выбирать каталог по L7-протоколу, различать HostFakeSplit и проверять имена lua, blob и bin
|
2026-09-27 16:37:05 +03:00 |
|
test_profile_toolbar_contract.py
|
Fix profile request GitHub form action
|
2026-06-14 23:45:46 +03:00 |
|
test_profile_type_selector.py
|
Вернуть подсказки к фильтрам типов трафика
|
2026-08-11 17:06:27 +03:00 |
|
test_profiles_list_filter_intent_race.py
|
upstrea,
|
2026-07-16 16:06:03 +03:00 |
|
test_profiles_list_scroll_position.py
|
upstrea,
|
2026-07-16 16:06:03 +03:00 |
|
test_program_settings_fast_snapshot.py
|
Перевести настройки ZapretGUI на SQLite
|
2026-08-14 20:32:33 +03:00 |
|
test_program_settings_worker_architecture.py
|
Use stock page animations across navigation
|
2026-07-21 01:47:35 +03:00 |
|
test_pyinstaller_archive_import_lock.py
|
Быстрее появление окна: фильтр перетаскивания на всё приложение не ставится на Windows, подсказка перетаскивания создаётся при первом показе, asyncio/requests/psutil греются после готовности окна; метка StartupFirstPaint в журнале
|
2026-09-27 20:17:42 +03:00 |
|
test_python_dependency_sources.py
|
Перевести ZapretGUI с GitHub на Forgejo
|
2026-08-07 02:36:48 +03:00 |
|
test_qfluent_icon_cache.py
|
Значки qfluentwidgets не разбираются заново на каждую перерисовку
|
2026-10-03 17:56:18 +03:00 |
|
test_qfluent_signal_guards.py
|
Память: окно, скрытое в трей или свёрнутое дольше 2 минут, собирает мусор, чистит кэш картинок Qt и отдаёт Windows лишние страницы (пока окно открыто — ничего не выгружается); история оркестратора ограничена 3000 целей (давние UDP-адреса вытесняются, закреплённые остаются), счётчики успехов и «последняя стратегия» тоже ограничены; анализатор журналов winws хранит начало и конец соединения (200 пакетов) и не больше 200 тыс. пакетов на журнал; подсказки удаляются вместе со своим виджетом; реестр тем забывает удалённые виджеты сразу; повторное применение той же темы не перекрашивает все виджеты; предупреждение проверки прокси Telegram заменяет прежнее, а не копится
|
2026-09-30 23:35:31 +03:00 |
|
test_quick_actions_bar_layout.py
|
Improve presets toolbar accessibility
|
2026-06-13 01:29:11 +03:00 |
|
test_raw_preset_action_queue.py
|
Track raw preset workers by request id
|
2026-06-11 17:46:46 +03:00 |
|
test_raw_preset_activation_queue.py
|
Ignore pending raw preset activation results
|
2026-06-05 16:58:48 +03:00 |
|
test_raw_preset_editor_dependency_boundaries.py
|
Move raw preset text read to commands
|
2026-06-07 22:25:38 +03:00 |
|
test_raw_preset_editor_read_defer.py
|
Cache raw preset text before save worker
|
2026-06-08 19:58:03 +03:00 |
|
test_raw_preset_editor_shows_saved_text.py
|
Пресет — точка истины: полный блок --lua-init во всех winws2-пресетах, единый договор нормализации, редактор показывает сохранённый текст, проверки сохранения и запуска
|
2026-09-27 18:11:07 +03:00 |
|
test_raw_preset_editor_worker_architecture.py
|
обновление
|
2026-07-15 21:05:58 +03:00 |
|
test_raw_preset_text_editor.py
|
Подключить редактор кода к профилям и взять цвета из темы
|
2026-08-15 00:06:23 +03:00 |
|
test_raw_preset_write_serialization.py
|
Track raw preset workers by request id
|
2026-06-11 17:46:46 +03:00 |
|
test_remote_preset_bindings.py
|
Пресеты и профили: убран неиспользуемый код (~560 строк: модули public.py, диалог имени пресета zapret2, мёртвые функции в preset_text_ops, profile.folders, привязках к источнику, фасаде запуска и страницах), переключение пресета больше не ждёт лишние 0,5 с — быстрые щелчки склеивает один debounce в switch pipeline
|
2026-09-30 02:11:03 +03:00 |
|
test_remote_preset_sync.py
|
Пресеты: автосинк не затирает правку, сделанную во время загрузки, и не возвращает отвязанную привязку или выключенное автообновление; пропавший выбранный пресет подменяется пресетом по умолчанию только для запуска — выбор не затирается и вернётся вместе с файлом; чтение выбора больше ничего не пишет в настройки; один заблокированный файл или папка *.txt не роняют список пресетов; упавшая проверка пресета не останавливает работающий DPI; действия над профилями не уходят в другой пресет после переключения; воркеры списка профилей и фильтра стратегий больше не роняют программу при пересоздании виджета
|
2026-09-30 13:49:29 +03:00 |
|
test_restart_splash.py
|
Окно обновления: шутки больше не повторяются от раза к разу — наборы фраз увеличены в несколько раз (подготовка, загрузка, установка, ошибка, перезапуск, «Что нового», русский и английский), бегущая строка показывает их в случайном порядке и не повторяет ни одной, пока не прошли все остальные, окно-продолжение получает перемешанный список и идёт по нему по кругу
|
2026-10-02 19:24:48 +03:00 |
|
test_restart_splash_windows.py
|
Обновление без пустого экрана: пока старая версия закрывается, ставится и открывается новая, на месте окна обновления стоит окно-продолжение (отдельный PowerShell, переживает замену Zapret.exe) — этапы с галочками, логотип бежит по переливающейся полосе, шутки; гаснет, когда новая версия открылась, при неудаче или отмене уходит сразу; своя полоска установщика скрыта (/VERYSILENT, ошибки по-прежнему видны); в «Что нового» и окне обновления заголовок стоит вровень с логотипом
|
2026-09-30 13:29:25 +03:00 |
|
test_row_hover_motion.py
|
Живое наведение стало аккуратнее и появилось в «Готовых стратегиях»: значок мягко наклоняется, блик спокойный и не мельтешит
|
2026-09-28 18:49:20 +03:00 |
|
test_runtime_events_dispatcher.py
|
Исправить подключение событий запуска DPI
|
2026-07-28 18:37:16 +03:00 |
|
test_runtime_layout.py
|
Страница «Фейки» в управлении Zapret 2: таблица встроенных фейков winws2 с числом стратегий, свои .bin-фейки в user/fakes с проверкой имени, удаление своих и общий реестр фейков для явного выбора стратегии
|
2026-09-27 20:06:50 +03:00 |
|
test_runtime_process_pid.py
|
Убрать блокировки интерфейса из DPI runtime
|
2026-07-25 20:43:11 +03:00 |
|
test_runtime_startup_import_contract.py
|
Lazy load runtime startup helpers
|
2026-05-30 20:08:10 +03:00 |
|
test_scrollbar_style_skip.py
|
Не подменять QStyle ради уже постоянных скроллбаров
|
2026-07-28 17:36:29 +03:00 |
|
test_secondary_page_warmup.py
|
Готовить страницы и тяжёлые импорты до первого клика
|
2026-07-28 19:00:33 +03:00 |
|
test_server_status_worker_contract.py
|
Переписать страницу обновлений на сервисы: DPI не остаётся выключенным, скачивание без склейки
|
2026-09-27 17:51:48 +03:00 |
|
test_settings_folders.py
|
Перевести настройки ZapretGUI на SQLite
|
2026-08-14 20:32:33 +03:00 |
|
test_settings_read_cost.py
|
Перестроить BlockCheck на единый планировщик проб
|
2026-07-28 15:46:08 +03:00 |
|
test_settings_sqlite_store.py
|
Меньше лишней работы процессора: выплывание карточек без перерисовки каждый кадр, один снимок процессов, без полной записи истории оркестратора на каждую строку
|
2026-10-03 16:41:39 +03:00 |
|
test_shimmer_label.py
|
Девиз на «Справке» оживает: строки по очереди выплывают снизу вверх, потом по ним ходит лёгкий зацикленный блик
|
2026-09-28 17:19:26 +03:00 |
|
test_shipped_lists_invariant.py
|
Встроенный ipset-all заменён полным списком Flowseal (33 048 сетей), тесты закрепляют его состав и решения по спискам доменов
|
2026-09-27 19:49:05 +03:00 |
|
test_show_window_bridge.py
|
upstrea,
|
2026-07-16 16:06:03 +03:00 |
|
test_sidebar_icon_style.py
|
Починить падение «Оформления» и сделать одного хозяина Premium-правил темы
|
2026-09-27 17:42:33 +03:00 |
|
test_sidebar_intent_persistence.py
|
Архитектурно связать состояние сайдбара с действием пользователя
|
2026-07-25 20:18:14 +03:00 |
|
test_sidebar_startup_delays.py
|
Show deferred sidebar items sooner
|
2026-05-30 22:39:03 +03:00 |
|
test_sidebar_state_settings.py
|
Remember sidebar expanded state
|
2026-05-24 23:11:59 +03:00 |
|
test_sidebar_state_worker_boundary.py
|
Use latest state for sidebar save
|
2026-06-08 23:29:41 +03:00 |
|
test_single_instance.py
|
upstrea,
|
2026-07-16 16:06:03 +03:00 |
|
test_spinning_logo_and_sync_icon.py
|
Списки пресетов и стратегий: при выборе акцентная полоска переезжает к новой строке, значок подпрыгивает; логотип крутится и с клавиатуры
|
2026-09-27 23:00:26 +03:00 |
|
test_startup_address_refresh.py
|
DNS переписан на чистом WinAPI: только настоящие адаптеры, виртуалки и VPN не трогаются; добавлены AstraCat и GeoHide
|
2026-09-29 23:43:52 +03:00 |
|
test_startup_autostart.py
|
Один источник «активного пресета»: PresetSelectionService сам сообщает о каждой смене выбора — выбор пользователя, подмена пропавшего файла запасным и возврат файла; переименование выбранного пресета не считается сменой (без лишнего перезапуска DPI); о подмене пользователь видит сообщение «Пресет X не найден — используется Y», страницы показывают запасной активным, работающий DPI сам не переключается, а вернувшийся файл снова становится активным; шапка редактора пресета следует за выбором, сделанным в другом месте; убраны копии выбора (кэш выбранного манифеста, кэш метаданных в хранилище сигналов); архитектурная проверка: выбор пишет только PresetSelectionService
|
2026-09-30 14:22:17 +03:00 |
|
test_startup_autostart_order.py
|
Убрать блокировки интерфейса из DPI runtime
|
2026-07-25 20:43:11 +03:00 |
|
test_startup_bootstrap_metrics.py
|
Перевести настройки ZapretGUI на SQLite
|
2026-08-14 20:32:33 +03:00 |
|
test_startup_install_path_checks.py
|
Исправить изоляцию Qt-тестов и Linux-пропуски
|
2026-07-25 20:16:12 +03:00 |
|
test_startup_post_init_autostart.py
|
Убрать блокировки интерфейса из DPI runtime
|
2026-07-25 20:43:11 +03:00 |
|
test_startup_settings_cache.py
|
Перевести настройки ZapretGUI на SQLite
|
2026-08-14 20:32:33 +03:00 |
|
test_state_media_blocker.py
|
upstrea,
|
2026-07-16 16:06:03 +03:00 |
|
test_status_message_contract.py
|
Use shared state for window open folder queue
|
2026-06-11 14:39:16 +03:00 |
|
test_strategy_catalog_integrity.py
|
Предупреждать о пропущенных и повторяющихся готовых стратегиях, выбирать каталог по L7-протоколу, различать HostFakeSplit и проверять имена lua, blob и bin
|
2026-09-27 16:37:05 +03:00 |
|
test_strategy_catalog_runtime_names.py
|
Реестр фейков winws2: читатель готовой базы fakes_catalog.sqlite3, общие имена встроенных blob-ов и проверки согласованности с пресетами и каталогами
|
2026-09-27 18:38:29 +03:00 |
|
test_strategy_list_accessibility.py
|
Improve strategy list keyboard speech
|
2026-06-16 14:22:51 +03:00 |
|
test_strategy_scan_apply.py
|
Подбор стратегии переписан с нуля: не выдаёт ложных «работает» и «не работает» и проверяет стратегию втрое быстрее
|
2026-09-28 20:50:59 +03:00 |
|
test_strategy_scan_apply_runtime_architecture.py
|
Подбор стратегии переписан с нуля: не выдаёт ложных «работает» и «не работает» и проверяет стратегию втрое быстрее
|
2026-09-28 20:50:59 +03:00 |
|
test_strategy_scan_fatal_error_plan.py
|
Подбор стратегии переписан с нуля: не выдаёт ложных «работает» и «не работает» и проверяет стратегию втрое быстрее
|
2026-09-28 20:50:59 +03:00 |
|
test_strategy_scan_finalize_runtime_architecture.py
|
Use shared state for strategy scan queues
|
2026-06-11 00:46:44 +03:00 |
|
test_strategy_scan_googlevideo_target.py
|
Подбор стратегии: Zapret снова запускается после подбора без ошибки «StrategyScanWorker has been deleted»; блок лога и обращения скрыт до первого подбора
|
2026-09-29 21:34:56 +03:00 |
|
test_strategy_scan_page_accessibility.py
|
Подбор стратегии: Zapret снова запускается после подбора без ошибки «StrategyScanWorker has been deleted»; блок лога и обращения скрыт до первого подбора
|
2026-09-29 21:34:56 +03:00 |
|
test_strategy_scan_quick_targets_runtime_architecture.py
|
Use shared state for strategy quick targets
|
2026-06-11 00:38:33 +03:00 |
|
test_strategy_scan_resume_choice.py
|
Подбор стратегии: при повторном запуске выбор — продолжить или начать заново
|
2026-09-29 20:35:40 +03:00 |
|
test_strategy_scan_run_runtime_architecture.py
|
Let BlockCheck runtime own run workers
|
2026-06-02 00:07:24 +03:00 |
|
test_strategy_scan_support_runtime_architecture.py
|
Use latest state for strategy scan support prepare
|
2026-06-08 21:24:42 +03:00 |
|
test_strategy_scan_widgets.py
|
Подбор стратегии: при переходе с «Игр» на «Сайты» цель сбрасывается на сайт, «всё равно проверить» больше не празднует и не предлагает применить стратегии, число стратегий склоняется правильно
|
2026-09-28 21:41:55 +03:00 |
|
test_strategy_search_engine.py
|
Подбор стратегии: при повторном запуске выбор — продолжить или начать заново
|
2026-09-29 20:35:40 +03:00 |
|
test_strategy_search_rules.py
|
Подбор стратегии: при повторном запуске выбор — продолжить или начать заново
|
2026-09-29 20:35:40 +03:00 |
|
test_strategy_search_runtime.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_subscription_badge_shine.py
|
Живые анимации рисуются в общем такте и не рисуются, когда экран никто не видит
|
2026-10-03 19:38:53 +03:00 |
|
test_subscription_title_badge.py
|
Досохранить FREE/PREMIUM-метку и единые правила Premium-статуса
|
2026-09-23 14:11:44 +03:00 |
|
test_support_about_open_worker_queue.py
|
Ignore stale support open worker finishes
|
2026-06-05 01:38:19 +03:00 |
|
test_support_page_accessibility.py
|
Перевести ZapretGUI с GitHub на Forgejo
|
2026-08-07 02:36:48 +03:00 |
|
test_support_request_clipboard_boundary.py
|
Split large support log uploads
|
2026-06-13 17:21:33 +03:00 |
|
test_sync_shutdown_prelaunch.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_table_accessibility.py
|
Подбор стратегии стал понятным и живым: плитки «что починить», шаги с галочками, выдра-талисман, весёлые подписи и салют, когда стратегия найдена
|
2026-09-28 21:19:19 +03:00 |
|
test_telegram_hosts.py
|
Hosts меняется только по кнопке «Применить»: щелчки копят черновик с предпросмотром строк, видно всё, что лежит в hosts; Telegram Proxy больше не пишет в hosts сам при открытии
|
2026-09-29 17:07:30 +03:00 |
|
test_telegram_proxy_accessibility.py
|
Hosts меняется только по кнопке «Применить»: щелчки копят черновик с предпросмотром строк, видно всё, что лежит в hosts; Telegram Proxy больше не пишет в hosts сам при открытии
|
2026-09-29 17:07:30 +03:00 |
|
test_telegram_proxy_actions_architecture.py
|
Переписать сетевое ядро Telegram Proxy по образцу ZaStoGram: WSS главный путь, фронты Cloudflare и туннель, незаметная смена молчащего маршрута
|
2026-09-28 00:35:00 +03:00 |
|
test_telegram_proxy_advanced_page.py
|
Переделать страницу Telegram Proxy: всё в карточках, редкие настройки на вложенной странице с хлебными крошками, запуск ждёт сохранения настроек и читает их из хранилища, авто-настройка Telegram снова работает
|
2026-09-27 20:48:27 +03:00 |
|
test_telegram_proxy_auto_deeplink.py
|
Авто-настройка Telegram открывает ссылку только если Telegram установлен (есть обработчик tg://), иначе ждёт его установки без системного окна выбора приложения
|
2026-09-27 20:57:57 +03:00 |
|
test_telegram_proxy_cloudflare_runtime.py
|
Переписать сетевое ядро Telegram Proxy по образцу ZaStoGram: WSS главный путь, фронты Cloudflare и туннель, незаметная смена молчащего маршрута
|
2026-09-28 00:35:00 +03:00 |
|
test_telegram_proxy_diagnostics.py
|
Improve Telegram upstream media fallback
|
2026-06-11 22:44:56 +03:00 |
|
test_telegram_proxy_main_page.py
|
Переделать страницу Telegram Proxy: всё в карточках, редкие настройки на вложенной странице с хлебными крошками, запуск ждёт сохранения настроек и читает их из хранилища, авто-настройка Telegram снова работает
|
2026-09-27 20:48:27 +03:00 |
|
test_telegram_proxy_mtproxy_core.py
|
Переписать сетевое ядро Telegram Proxy по образцу ZaStoGram: WSS главный путь, фронты Cloudflare и туннель, незаметная смена молчащего маршрута
|
2026-09-28 00:35:00 +03:00 |
|
test_telegram_proxy_obfs.py
|
Переписать сетевое ядро Telegram Proxy по образцу ZaStoGram: WSS главный путь, фронты Cloudflare и туннель, незаметная смена молчащего маршрута
|
2026-09-28 00:35:00 +03:00 |
|
test_telegram_proxy_page_worker_state.py
|
Use shared latest worker state in Telegram proxy
|
2026-06-10 20:20:14 +03:00 |
|
test_telegram_proxy_proxy_logger.py
|
Не создавать пустой лог Telegram Proxy
|
2026-07-24 02:02:50 +03:00 |
|
test_telegram_proxy_relay_warning.py
|
Память: окно, скрытое в трей или свёрнутое дольше 2 минут, собирает мусор, чистит кэш картинок Qt и отдаёт Windows лишние страницы (пока окно открыто — ничего не выгружается); история оркестратора ограничена 3000 целей (давние UDP-адреса вытесняются, закреплённые остаются), счётчики успехов и «последняя стратегия» тоже ограничены; анализатор журналов winws хранит начало и конец соединения (200 пакетов) и не больше 200 тыс. пакетов на журнал; подсказки удаляются вместе со своим виджетом; реестр тем забывает удалённые виджеты сразу; повторное применение той же темы не перекрашивает все виджеты; предупреждение проверки прокси Telegram заменяет прежнее, а не копится
|
2026-09-30 23:35:31 +03:00 |
|
test_telegram_proxy_route_catalog.py
|
Переписать сетевое ядро Telegram Proxy по образцу ZaStoGram: WSS главный путь, фронты Cloudflare и туннель, незаметная смена молчащего маршрута
|
2026-09-28 00:35:00 +03:00 |
|
test_telegram_proxy_route_plan.py
|
Переписать сетевое ядро Telegram Proxy по образцу ZaStoGram: WSS главный путь, фронты Cloudflare и туннель, незаметная смена молчащего маршрута
|
2026-09-28 00:35:00 +03:00 |
|
test_telegram_proxy_session.py
|
Telegram Proxy: переключатель «Использовать внешний прокси» запоминается и в режиме MTProxy
|
2026-10-03 18:10:00 +03:00 |
|
test_telegram_proxy_settings_save_queue.py
|
Hosts меняется только по кнопке «Применить»: щелчки копят черновик с предпросмотром строк, видно всё, что лежит в hosts; Telegram Proxy больше не пишет в hosts сам при открытии
|
2026-09-29 17:07:30 +03:00 |
|
test_telegram_proxy_socks5.py
|
Add experimental Telegram SOCKS5 UDP relay
|
2026-06-14 18:55:15 +03:00 |
|
test_telegram_proxy_ui_texts.py
|
Живые кнопки во всей программе и заметная строка ZaStoGram на странице Telegram Proxy
|
2026-09-28 16:50:08 +03:00 |
|
test_telegram_proxy_upstream_catalog.py
|
Telegram Proxy: переключатель «Использовать внешний прокси» запоминается и в режиме MTProxy
|
2026-10-03 18:10:00 +03:00 |
|
test_telegram_proxy_upstream_controller.py
|
Смягчить переключение Telegram SOCKS
|
2026-07-22 22:37:28 +03:00 |
|
test_telegram_proxy_upstream_switch.py
|
Переделать страницу Telegram Proxy: всё в карточках, редкие настройки на вложенной странице с хлебными крошками, запуск ждёт сохранения настроек и читает их из хранилища, авто-настройка Telegram снова работает
|
2026-09-27 20:48:27 +03:00 |
|
test_telegram_proxy_worker_architecture.py
|
Память: закрытые диалоги и всплывающие меню (включая меню трея) удаляются, а не копятся до выхода; страница журнала не держит мосты с копией текста после каждого захода; журнал прокси Telegram для «Копировать всё» хранит только последние 3000 строк; просмотр старого журнала оркестратора читает только последний 1 МБ; история SUCCESS/FAIL оркестратора пишется в базу пачкой раз в 10 с вместо полной перезаписи настроек на каждое событие; плитки Hosts и фон «РКН Тян» не копят картинки при изменении размера окна
|
2026-09-30 23:23:40 +03:00 |
|
test_telegram_proxy_worker_queue.py
|
Hosts меняется только по кнопке «Применить»: щелчки копят черновик с предпросмотром строк, видно всё, что лежит в hosts; Telegram Proxy больше не пишет в hosts сам при открытии
|
2026-09-29 17:07:30 +03:00 |
|
test_telegram_proxy_ws.py
|
Переписать сетевое ядро Telegram Proxy по образцу ZaStoGram: WSS главный путь, фронты Cloudflare и туннель, незаметная смена молчащего маршрута
|
2026-09-28 00:35:00 +03:00 |
|
test_theme_manager_persistence.py
|
Память: окно, скрытое в трей или свёрнутое дольше 2 минут, собирает мусор, чистит кэш картинок Qt и отдаёт Windows лишние страницы (пока окно открыто — ничего не выгружается); история оркестратора ограничена 3000 целей (давние UDP-адреса вытесняются, закреплённые остаются), счётчики успехов и «последняя стратегия» тоже ограничены; анализатор журналов winws хранит начало и конец соединения (200 пакетов) и не больше 200 тыс. пакетов на журнал; подсказки удаляются вместе со своим виджетом; реестр тем забывает удалённые виджеты сразу; повторное применение той же темы не перекрашивает все виджеты; предупреждение проверки прокси Telegram заменяет прежнее, а не копится
|
2026-09-30 23:35:31 +03:00 |
|
test_theme_refresh.py
|
Flush pending theme refreshes on tray show
|
2026-06-11 16:48:00 +03:00 |
|
test_thread_dump.py
|
Свести наблюдение за зависаниями интерфейса к одному watchdog
|
2026-07-28 15:13:03 +03:00 |
|
test_tile_grid.py
|
Главная: свой нарисованный медоед — моргает, смотрит на стену и машет лапами; в узком окне сцена встаёт отдельной строкой, плитки не уходят в один столбец, а длинные подписи настроек обрезаются многоточием с подсказкой
|
2026-10-03 19:59:07 +03:00 |
|
test_tinted_appearance_settings.py
|
Fix tinted background settings
|
2026-06-12 18:12:25 +03:00 |
|
test_title_badge_paint.py
|
Значки в заголовке ровные, «Работает» заметно пульсирует: подложка со сглаженными углами, от зелёной точки расходится кольцо
|
2026-09-30 14:24:13 +03:00 |
|
test_tooltip_keyboard_accessibility.py
|
Make tooltip actions keyboard accessible
|
2026-06-16 23:33:32 +03:00 |
|
test_tooltip_lifetime.py
|
Память: окно, скрытое в трей или свёрнутое дольше 2 минут, собирает мусор, чистит кэш картинок Qt и отдаёт Windows лишние страницы (пока окно открыто — ничего не выгружается); история оркестратора ограничена 3000 целей (давние UDP-адреса вытесняются, закреплённые остаются), счётчики успехов и «последняя стратегия» тоже ограничены; анализатор журналов winws хранит начало и конец соединения (200 пакетов) и не больше 200 тыс. пакетов на журнал; подсказки удаляются вместе со своим виджетом; реестр тем забывает удалённые виджеты сразу; повторное применение той же темы не перекрашивает все виджеты; предупреждение проверки прокси Telegram заменяет прежнее, а не копится
|
2026-09-30 23:35:31 +03:00 |
|
test_tray_accessibility.py
|
Name tray confirmation buttons for screen readers
|
2026-06-11 18:55:54 +03:00 |
|
test_tray_close_mode_ui.py
|
feat: add tray close mode setting
|
2026-06-12 19:09:52 +03:00 |
|
test_tray_menu_contract.py
|
Пуск и стоп Zapret отовсюду (#78): точка в «Статусе работы» стала выключателем (значок питания, подсветка при наведении, Enter/Пробел), секция из двух кнопок убрана — «Закрыть программу» тихой кнопкой в той же карточке; в заголовке окна рядом с PREMIUM метка «● Работает / Остановлен», видна в любом разделе и тоже переключает; трей переделан: шапка с режимом, состоянием и пресетом, первым пунктом «Запустить/Остановить Zapret», «Перезапустить», подменю пресетов с отметкой активного и быстрым переключением, меню собирается заново при каждом открытии; на иконке трея цветная точка (зелёная — работает, жёлтая — запуск/остановка), в подсказке режим и пресет, уведомления о запуске и остановке, когда окно скрыто; вся логика пуска в одном пульте ui/launch_control.py
|
2026-09-30 14:07:07 +03:00 |
|
test_tray_opacity_worker.py
|
Убрать устаревшую поддержку GitHub API
|
2026-08-07 17:07:51 +03:00 |
|
test_type_checking_runtime_names.py
|
Ограничить по времени разрешение имён во всех сетевых проверках
|
2026-07-28 00:45:28 +03:00 |
|
test_ui_cleanup_nonblocking_contract.py
|
Make UI cleanup worker stops nonblocking
|
2026-06-07 02:06:04 +03:00 |
|
test_ui_freeze_watchdog.py
|
Проверять целостность поставки и чинить её самостоятельно
|
2026-07-28 15:07:14 +03:00 |
|
test_ui_freeze_watchdog_dump.py
|
Свести наблюдение за зависаниями интерфейса к одному watchdog
|
2026-07-28 15:13:03 +03:00 |
|
test_ui_jitter_watchdog_mode.py
|
Не подменять QStyle ради уже постоянных скроллбаров
|
2026-07-28 17:36:29 +03:00 |
|
test_ui_log_limits.py
|
Сделал. Ветка осталась main, чужие уже существовавшие изменения не трогал. Что изменил: - Добавил общий ограничитель строк: [src/ui/log_limits.py](/mnt/g/Privacy/zapretgui/public_zapretgui/src/ui/log_limits.py:7). - Поставил лимиты на поля логов: обычные логи, ошибки, вывод winws, диагностика, BlockCheck, Telegram Proxy, Orchestra. - Ограничил очередь логов Telegram Proxy: [proxy_logger.py](/mnt/g/Privacy/zapretgui/public_zapretgui/src/telegram_proxy/proxy_logger.py:81). - Ограничил очередь логов Orchestra до обработки интерфейсом: [page.py](/mnt/g/Privacy/zapretgui/public_zapretgui/src/orchestra/ui/page.py:414). - Добавил тесты: [test_ui_log_limits.py](/mnt/g/Privacy/zapretgui/public_zapretgui/tests/test_ui_log_limits.py:1). Проверил: - PYTHONPATH=src python -m unittest discover -s tests — 28 тестов прошли. - PYTHONPATH=src python -m app.architecture_checks — проверка архитектуры прошла. - py_compile по изменённым файлам — без ошибок. Теперь старые строки в логовых окнах будут автоматически выкидываться, а в памяти останется только последний ограниченный хвост.
|
2026-05-17 17:35:03 +03:00 |
|
test_ui_performance_metrics.py
|
Довести полный набор тестов до зелёного состояния
|
2026-07-25 20:43:59 +03:00 |
|
test_ui_root_startup_launch_method.py
|
Use warmed launch method for UI startup
|
2026-05-30 20:39:26 +03:00 |
|
test_ui_state_store_thread_marshalling.py
|
Доставлять колбэки state-store в GUI-поток
|
2026-07-28 00:45:02 +03:00 |
|
test_ui_worker_thread_contract.py
|
Не блокировать интерфейс при переключении пресета
|
2026-08-05 21:48:31 +03:00 |
|
test_update_check_coordinator.py
|
Обновление без пустого экрана: пока старая версия закрывается, ставится и открывается новая, на месте окна обновления стоит окно-продолжение (отдельный PowerShell, переживает замену Zapret.exe) — этапы с галочками, логотип бежит по переливающейся полосе, шутки; гаснет, когда новая версия открылась, при неудаче или отмене уходит сразу; своя полоска установщика скрыта (/VERYSILENT, ошибки по-прежнему видны); в «Что нового» и окне обновления заголовок стоит вровень с логотипом
|
2026-09-30 13:29:25 +03:00 |
|
test_update_dialog.py
|
Окно обновления: шутки больше не повторяются от раза к разу — наборы фраз увеличены в несколько раз (подготовка, загрузка, установка, ошибка, перезапуск, «Что нового», русский и английский), бегущая строка показывает их в случайном порядке и не повторяет ни одной, пока не прошли все остальные, окно-продолжение получает перемешанный список и идёт по нему по кругу
|
2026-10-02 19:24:48 +03:00 |
|
test_updater_changelog_link_queue.py
|
Use shared state for updater changelog links
|
2026-06-11 14:00:55 +03:00 |
|
test_updater_changelog_progress_plan.py
|
Переписать страницу обновлений на сервисы: DPI не остаётся выключенным, скачивание без склейки
|
2026-09-27 17:51:48 +03:00 |
|
test_updater_download_contract.py
|
Переписать страницу обновлений на сервисы: DPI не остаётся выключенным, скачивание без склейки
|
2026-09-27 17:51:48 +03:00 |
|
test_updater_forgejo_release.py
|
Переписать поиск обновления: свежий ответ, одна точка входа и ошибка вместо «обновлений нет»
|
2026-09-27 17:17:39 +03:00 |
|
test_updater_handoff_state.py
|
Переписать установку обновления: наблюдатель больше не зависает и не ставит старую версию
|
2026-09-27 16:49:28 +03:00 |
|
test_updater_install_runtime_architecture.py
|
Переписать страницу обновлений на сервисы: DPI не остаётся выключенным, скачивание без склейки
|
2026-09-27 17:51:48 +03:00 |
|
test_updater_interrupted_update.py
|
Переписать установку обновления: наблюдатель больше не зависает и не ставит старую версию
|
2026-09-27 16:49:28 +03:00 |
|
test_updater_language_accessibility.py
|
Обновление: одно большое окно для любого пути — изменения всех пропущенных версий, «Что нового», кнопки «Обновить / Позже / Пропустить версию / Открыть в браузере / Telegram», загрузка прямо в окне: логотип бежит и покачивается по переливающейся полосе, шутки как в BlockCheck; «Скрыть» не останавливает загрузку; «Что нового» один раз после обновления и кнопкой в «О программе»; маленький вопрос при запуске и карточка с обрезанным текстом убраны
|
2026-09-30 01:51:43 +03:00 |
|
test_updater_release_contract.py
|
Переписать страницу обновлений на сервисы: DPI не остаётся выключенным, скачивание без склейки
|
2026-09-27 17:51:48 +03:00 |
|
test_updater_release_resolver.py
|
Переписать поиск обновления: свежий ответ, одна точка входа и ошибка вместо «обновлений нет»
|
2026-09-27 17:17:39 +03:00 |
|
test_updater_servers_breadcrumb.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_updater_servers_page_assembly.py
|
Обновление без пустого экрана: пока старая версия закрывается, ставится и открывается новая, на месте окна обновления стоит окно-продолжение (отдельный PowerShell, переживает замену Zapret.exe) — этапы с галочками, логотип бежит по переливающейся полосе, шутки; гаснет, когда новая версия открылась, при неудаче или отмене уходит сразу; своя полоска установщика скрыта (/VERYSILENT, ошибки по-прежнему видны); в «Что нового» и окне обновления заголовок стоит вровень с логотипом
|
2026-09-30 13:29:25 +03:00 |
|
test_updater_settings_build.py
|
Make updater channel card keyboard clickable
|
2026-06-12 16:44:53 +03:00 |
|
test_updater_startup_update_check.py
|
Обновление: одно большое окно для любого пути — изменения всех пропущенных версий, «Что нового», кнопки «Обновить / Позже / Пропустить версию / Открыть в браузере / Telegram», загрузка прямо в окне: логотип бежит и покачивается по переливающейся полосе, шутки как в BlockCheck; «Скрыть» не останавливает загрузку; «Что нового» один раз после обновления и кнопкой в «О программе»; маленький вопрос при запуске и карточка с обрезанным текстом убраны
|
2026-09-30 01:51:43 +03:00 |
|
test_updater_state_paths.py
|
Обновление без пустого экрана: пока старая версия закрывается, ставится и открывается новая, на месте окна обновления стоит окно-продолжение (отдельный PowerShell, переживает замену Zapret.exe) — этапы с галочками, логотип бежит по переливающейся полосе, шутки; гаснет, когда новая версия открылась, при неудаче или отмене уходит сразу; своя полоска установщика скрыта (/VERYSILENT, ошибки по-прежнему видны); в «Что нового» и окне обновления заголовок стоит вровень с логотипом
|
2026-09-30 13:29:25 +03:00 |
|
test_updater_update_card_accessibility.py
|
Перевести ZapretGUI с GitHub на Forgejo
|
2026-08-07 02:36:48 +03:00 |
|
test_updater_update_services.py
|
Обновление без пустого экрана: пока старая версия закрывается, ставится и открывается новая, на месте окна обновления стоит окно-продолжение (отдельный PowerShell, переживает замену Zapret.exe) — этапы с галочками, логотип бежит по переливающейся полосе, шутки; гаснет, когда новая версия открылась, при неудаче или отмене уходит сразу; своя полоска установщика скрыта (/VERYSILENT, ошибки по-прежнему видны); в «Что нового» и окне обновления заголовок стоит вровень с логотипом
|
2026-09-30 13:29:25 +03:00 |
|
test_updater_watchdog_launch.py
|
Переписать установку обновления: наблюдатель больше не зависает и не ставит старую версию
|
2026-09-27 16:49:28 +03:00 |
|
test_updater_watchdog_windows.py
|
Переписать установку обновления: наблюдатель больше не зависает и не ставит старую версию
|
2026-09-27 16:49:28 +03:00 |
|
test_user_fakes.py
|
Страница «Фейки» в управлении Zapret 2: таблица встроенных фейков winws2 с числом стратегий, свои .bin-фейки в user/fakes с проверкой имени, удаление своих и общий реестр фейков для явного выбора стратегии
|
2026-09-27 20:06:50 +03:00 |
|
test_user_preset_activation_guard.py
|
Пресеты и профили — точность: проверка запуска не считает флаги в комментариях, строки делятся только по переводу строки (как у парсера); при смене стратегии сохраняется действующий (последний) --payload; новый пользовательский profile не делит файлы списков с переименованным, битая запись не роняет шаблоны; кэш профиля учитывает имя и файлы списков; «v1.5» ищется как v1.5.txt, имя возвращается как на диске; занятое имя при создании/копии/переименовании/импорте становится «X (2)» и в файле, и в списке; импорт ZIP переписывает ссылки в строке с несколькими опциями и отвергает имена CON, a.txt:поток и т.п.; смена стратегии не сбрасывает папку и порядок профиля; результат и ошибка импорта показываются всегда, повторный импорт по ссылке не теряет источник, папка сворачивается сразу; шаги перемещения папок не схлопываются; устаревший план фильтра стратегий не затирает строки; сбои обновления меты пишутся в лог. Доработки волны 1: запасной пресет нельзя удалить, щелчок по нему закрепляет выбор, действия над профилями не принимаются, пока список показывает прежний пресет, результат сканирования с заблокированным файлом не кэшируется
|
2026-09-30 14:08:38 +03:00 |
|
test_user_preset_bulk_action_queue.py
|
Добавить удалённые пресеты: импорт по ссылке и автообновление
|
2026-08-14 22:01:52 +03:00 |
|
test_user_preset_contract_migration.py
|
Разовый перевод пресетов winws2 пользователя в полный блок --lua-init при запуске: запись только при изменении текста, перезапуск только если изменились аргументы активного пресета, привязка к источнику сохраняется
|
2026-09-27 20:03:01 +03:00 |
|
test_user_preset_edit_action_queue.py
|
Fix user preset queue worker test freshness
|
2026-06-11 15:48:30 +03:00 |
|
test_user_preset_item_action_queue.py
|
Fix user preset queue worker test freshness
|
2026-06-11 15:48:30 +03:00 |
|
test_user_preset_pin_hit_area.py
|
Fix user preset pin hit area
|
2026-06-12 19:23:50 +03:00 |
|
test_user_preset_storage_queue.py
|
Apply preset step moves locally
|
2026-06-11 16:15:22 +03:00 |
|
test_user_preset_write_serialization.py
|
Пресеты и профили — точность: проверка запуска не считает флаги в комментариях, строки делятся только по переводу строки (как у парсера); при смене стратегии сохраняется действующий (последний) --payload; новый пользовательский profile не делит файлы списков с переименованным, битая запись не роняет шаблоны; кэш профиля учитывает имя и файлы списков; «v1.5» ищется как v1.5.txt, имя возвращается как на диске; занятое имя при создании/копии/переименовании/импорте становится «X (2)» и в файле, и в списке; импорт ZIP переписывает ссылки в строке с несколькими опциями и отвергает имена CON, a.txt:поток и т.п.; смена стратегии не сбрасывает папку и порядок профиля; результат и ошибка импорта показываются всегда, повторный импорт по ссылке не теряет источник, папка сворачивается сразу; шаги перемещения папок не схлопываются; устаревший план фильтра стратегий не затирает строки; сбои обновления меты пишутся в лог. Доработки волны 1: запасной пресет нельзя удалить, щелчок по нему закрепляет выбор, действия над профилями не принимаются, пока список показывает прежний пресет, результат сканирования с заблокированным файлом не кэшируется
|
2026-09-30 14:08:38 +03:00 |
|
test_user_presets_accessibility.py
|
Перевести ссылки документации на wiki.zapret.moe
|
2026-08-20 16:18:27 +03:00 |
|
test_user_presets_dependency_boundaries.py
|
Пресеты и профили — точность: проверка запуска не считает флаги в комментариях, строки делятся только по переводу строки (как у парсера); при смене стратегии сохраняется действующий (последний) --payload; новый пользовательский profile не делит файлы списков с переименованным, битая запись не роняет шаблоны; кэш профиля учитывает имя и файлы списков; «v1.5» ищется как v1.5.txt, имя возвращается как на диске; занятое имя при создании/копии/переименовании/импорте становится «X (2)» и в файле, и в списке; импорт ZIP переписывает ссылки в строке с несколькими опциями и отвергает имена CON, a.txt:поток и т.п.; смена стратегии не сбрасывает папку и порядок профиля; результат и ошибка импорта показываются всегда, повторный импорт по ссылке не теряет источник, папка сворачивается сразу; шаги перемещения папок не схлопываются; устаревший план фильтра стратегий не затирает строки; сбои обновления меты пишутся в лог. Доработки волны 1: запасной пресет нельзя удалить, щелчок по нему закрепляет выбор, действия над профилями не принимаются, пока список показывает прежний пресет, результат сканирования с заблокированным файлом не кэшируется
|
2026-09-30 14:08:38 +03:00 |
|
test_user_presets_lifecycle_guards.py
|
Пресеты и профили: убран неиспользуемый код (~560 строк: модули public.py, диалог имени пресета zapret2, мёртвые функции в preset_text_ops, profile.folders, привязках к источнику, фасаде запуска и страницах), переключение пресета больше не ждёт лишние 0,5 с — быстрые щелчки склеивает один debounce в switch pipeline
|
2026-09-30 02:11:03 +03:00 |
|
test_user_presets_metadata_load_queue.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_user_presets_reset_result.py
|
Skip duplicate reset result button updates
|
2026-05-30 19:07:15 +03:00 |
|
test_user_presets_rows_worker_architecture.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_user_profile_dialog_accessibility.py
|
fix
|
2026-06-17 23:47:29 +03:00 |
|
test_user_profile_operation_queue.py
|
Track preset setup workers by request id
|
2026-06-10 23:56:20 +03:00 |
|
test_user_profiles.py
|
Профили: отложенные стратегия, переключатель и настройки пишутся в профиль, открытый при щелчке (а не в тот, что открыт к моменту записи), записи разных профилей не замещают друг друга, быстрые щелчки по стратегиям не теряют последний выбор, ждущие записи сохраняются при закрытии окна; смена пресета или стратегии во время запуска DPI применяется после старта; перемещение профилей больше не дописывает «--new=TCP 443» и не сдвигает их ключи; тот же профиль, открытый заново после правки пресета, показывает файл; переименование своего профиля сохраняет его папку и оценки
|
2026-09-30 02:06:39 +03:00 |
|
test_whats_new.py
|
«Что нового»: если сохранённый перед установкой текст короткий (старые версии записывали только пропущенные выпуски), раздел «Ранее» добирается из списка выпусков Forgejo до 10; без сети показывается сохранённое как есть
|
2026-09-30 23:10:02 +03:00 |
|
test_win10_tinted_background.py
|
Починить падение «Оформления» и сделать одного хозяина Premium-правил темы
|
2026-09-27 17:42:33 +03:00 |
|
test_win11_row_fit.py
|
Главная: свой нарисованный медоед — моргает, смотрит на стену и машет лапами; в узком окне сцена встаёт отдельной строкой, плитки не уходят в один столбец, а длинные подписи настроек обрезаются многоточием с подсказкой
|
2026-10-03 19:59:07 +03:00 |
|
test_win11_spinner.py
|
Запускать кольцо после показа страницы
|
2026-08-05 21:16:47 +03:00 |
|
test_win11_toggle_row.py
|
Localize Win11 toggle state text
|
2026-06-13 23:15:23 +03:00 |
|
test_win32_shellcon_compat.py
|
Быстрее появление окна: фильтр перетаскивания на всё приложение не ставится на Windows, подсказка перетаскивания создаётся при первом показе, asyncio/requests/psutil греются после готовности окна; метка StartupFirstPaint в журнале
|
2026-09-27 20:17:42 +03:00 |
|
test_windivert_conflict_detection.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_windivert_diagnostics.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_windivert_runtime_policy.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_windivert_service_recovery.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_window_geometry_persist_hidden.py
|
upstrea,
|
2026-07-16 16:06:03 +03:00 |
|
test_window_geometry_worker.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_window_metrics.py
|
Unify startup window geometry ownership
|
2026-05-25 16:25:33 +03:00 |
|
test_window_notification_actions_contract.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_window_premium_appearance.py
|
Починить падение «Оформления» и сделать одного хозяина Premium-правил темы
|
2026-09-27 17:42:33 +03:00 |
|
test_window_preset_file_drop.py
|
Быстрее появление окна: фильтр перетаскивания на всё приложение не ставится на Windows, подсказка перетаскивания создаётся при первом показе, asyncio/requests/psutil греются после готовности окна; метка StartupFirstPaint в журнале
|
2026-09-27 20:17:42 +03:00 |
|
test_window_show_from_hidden.py
|
very update
|
2026-07-06 23:23:23 +03:00 |
|
test_window_startup_continue_delay.py
|
Continue startup immediately after interactive
|
2026-05-30 20:14:47 +03:00 |
|
test_window_state_single_owner.py
|
обновление
|
2026-07-15 21:05:58 +03:00 |
|
test_window_ui_facade_lazy_imports.py
|
Reset global search accessibility state on clear
|
2026-06-13 15:34:36 +03:00 |
|
test_windows_drag_hover_detector.py
|
Чинить плашку наведения файла: липкая сессия переноса
|
2026-08-08 20:55:48 +03:00 |
|
test_windows_file_drop.py
|
Исправить импорт перетаскиванием в повышенное окно
|
2026-08-08 19:12:02 +03:00 |
|
test_windows_system_theme.py
|
Fix Windows system theme event filter
|
2026-06-14 21:18:31 +03:00 |
|
test_winws1_launch_dry_run_retry.py
|
Fix Zapret 1 launch retry after dry-run
|
2026-05-31 14:20:19 +03:00 |
|
test_winws1_profile_boundaries.py
|
Профили: отложенные стратегия, переключатель и настройки пишутся в профиль, открытый при щелчке (а не в тот, что открыт к моменту записи), записи разных профилей не замещают друг друга, быстрые щелчки по стратегиям не теряют последний выбор, ждущие записи сохраняются при закрытии окна; смена пресета или стратегии во время запуска DPI применяется после старта; перемещение профилей больше не дописывает «--new=TCP 443» и не сдвигает их ключи; тот же профиль, открытый заново после правки пресета, показывает файл; переименование своего профиля сохраняет его папку и оценки
|
2026-09-30 02:06:39 +03:00 |
|
test_winws2_language_completion.py
|
Редактор пресета Zapret 2 подсказывает опции и Lua-функции, подчёркивает ошибки и предлагает быстрые исправления
|
2026-09-28 17:49:56 +03:00 |
|
test_winws2_language_diagnostics.py
|
Редактор пресета Zapret 2 подсказывает опции и Lua-функции, подчёркивает ошибки и предлагает быстрые исправления
|
2026-09-28 17:49:56 +03:00 |
|
test_winws2_language_lua_coverage.py
|
Редактор пресета Zapret 2 подсказывает опции и Lua-функции, подчёркивает ошибки и предлагает быстрые исправления
|
2026-09-28 17:49:56 +03:00 |
|
test_winws2_language_option_coverage.py
|
Редактор пресета Zapret 2 подсказывает опции и Lua-функции, подчёркивает ошибки и предлагает быстрые исправления
|
2026-09-28 17:49:56 +03:00 |
|
test_winws2_language_tokens.py
|
Редактор пресета Zapret 2 подсказывает опции и Lua-функции, подчёркивает ошибки и предлагает быстрые исправления
|
2026-09-28 17:49:56 +03:00 |
|
test_winws2_launch_preset_validation.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_winws2_payload_strategy_branches.py
|
Ветки --payload одного профиля — одна составная готовая стратегия: одно имя, оценка и значок типов пакетов, выбор на странице и в blockcheck применяет её целиком, обычная стратегия поверх составной пишет один общий --payload
|
2026-09-27 19:33:52 +03:00 |
|
test_winws_log_analyzer_page.py
|
upstrea,
|
2026-07-16 16:06:03 +03:00 |
|
test_winws_log_parser.py
|
Память: окно, скрытое в трей или свёрнутое дольше 2 минут, собирает мусор, чистит кэш картинок Qt и отдаёт Windows лишние страницы (пока окно открыто — ничего не выгружается); история оркестратора ограничена 3000 целей (давние UDP-адреса вытесняются, закреплённые остаются), счётчики успехов и «последняя стратегия» тоже ограничены; анализатор журналов winws хранит начало и конец соединения (200 пакетов) и не больше 200 тыс. пакетов на журнал; подсказки удаляются вместе со своим виджетом; реестр тем забывает удалённые виджеты сразу; повторное применение той же темы не перекрашивает все виджеты; предупреждение проверки прокси Telegram заменяет прежнее, а не копится
|
2026-09-30 23:35:31 +03:00 |
|
test_winws_missing_lua_function.py
|
Ошибка запуска про несуществующую Lua-функцию подсказывает, какую функцию вы имели в виду; длинный текст в строке статуса пресета больше не обрезается
|
2026-09-28 19:10:33 +03:00 |
|
test_winws_runtime_thread_runtime.py
|
Не блокировать интерфейс при переключении пресета
|
2026-08-05 21:48:31 +03:00 |
|
test_winws_runtime_ui_thread_contract.py
|
Убрать блокировки интерфейса из DPI runtime
|
2026-07-25 20:43:11 +03:00 |
|
test_winws_silent_exit.py
|
Драйвер WinDivert и запуск winws: служба Monkey больше не зависает — программа сама держала её незакрытым хэндлом (CloseServiceHandle без argtypes падал с «int too long to convert»); новый слой winws_runtime/engine на типизированном WinAPI: запуск подтверждается строкой windivert initialized из вывода winws, остановка — сигналом Windows о выходе процесса, без пауз «на глаз»; кнопка «Стоп», выход и обновление выгружают драйвер и убирают его службу, когда им никто не пользуется (кроме Kaspersky), перезапуск и смена пресета драйвер не трогают; останавливаются только winws из папки программы, чужая копия запрета не убивается; реестр службы, DeleteFlag и тип запуска больше не правятся, штатное «отключена и помечена на удаление» у работающего драйвера не считается поломкой; застрявшая служба называется пользователю с причиной; оркестратор переведён на те же подтверждения; вывод winws первой версии пишется в файл; сквозные проверки на живой Windows в tests/e2e_windows
|
2026-10-02 02:34:45 +03:00 |
|
test_winws_system_dependencies.py
|
Hide service exception profile from UI
|
2026-06-13 23:17:55 +03:00 |
|
test_worker_finished_pending_guard_contract.py
|
Use queued finish guard for profile writes
|
2026-06-11 22:51:52 +03:00 |
|
test_worker_ui_boundary.py
|
Перестроить BlockCheck на единый планировщик проб
|
2026-07-28 15:46:08 +03:00 |
|
test_zapret2_control_lazy_startup.py
|
Главная: значки плиток нарисованы заново единым набором — ровные линии со скруглёнными концами и мягкой заливкой, чёткие на любом масштабе и заметные в светлой теме
|
2026-10-03 19:38:28 +03:00 |