Zapret | Дорожная карта
2.32K subscribers
28 photos
24 files
2.94K links
Дорожная карта обновлений.

Узнайте что я буду редактировать в Запрет для обхода блокировок Дискорда и Ютуба в первую очередь

И ужаснуться моим техническим непонятным запискам без контекста.
Download Telegram
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Настройка DNS: вместо короткой дуги — комета, которая всегда замыкает круг

👤 Автор: loop-uh
📅 Дата: 30.09.2026 13:39:50 MSK
🔗 SHA: feb1a36

📊 Статистика:
➕ Добавлено: 226 строк
➖ Удалено: 91 строк
📝 Всего изменений: 317

📁 Изменено файлов: 4

✏️ src/dns/ui/now_panel.py
✏️ src/dns/ui/provider_grid.py
✏️ tests/test_dns_page.py
✏️ tests/test_dns_provider_grid.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Тест каталога hosts: версия 2026.09.30.1, ни у одного сервиса нет запасного глобуса

👤 Автор: loop-uh
📅 Дата: 30.09.2026 13:40:48 MSK
🔗 SHA: b8a1ca5

📊 Статистика:
➕ Добавлено: 6 строк
➖ Удалено: 1 строк
📝 Всего изменений: 7

📁 Изменено файлов: 1

✏️ tests/test_hosts_catalog_sqlite.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 О программе: высота вкладок — по открытой вкладке, под «Zapret KVN» больше нет пустоты высотой со «Справку»

👤 Автор: loop-uh
📅 Дата: 30.09.2026 13:46:38 MSK
🔗 SHA: 704e68e

📊 Статистика:
➕ Добавлено: 53 строк
➖ Удалено: 4 строк
📝 Всего изменений: 57

📁 Изменено файлов: 3

✏️ src/ui/pages/about_page_kvn_build.py
✏️ src/ui/pages/about_page_tabs_build.py
🆕 tests/test_about_tabs_height.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Пресеты: автосинк не затирает правку, сделанную во время загрузки, и не возвращает отвязанную привязку или выключенное автообновление; пропавший выбранный пресет подменяется пресетом по умолчанию только для запуска — выбор не затирается и вернётся вместе с файлом; чтение выбора больше ничего не пишет в настройки; один заблокированный файл или папка *.txt не роняют список пресетов; упавшая проверка пресета не останавливает работающий DPI; действия над профилями не уходят в другой пресет после переключения; воркеры списка профилей и фильтра стратегий больше не роняют программу при пересоздании виджета

👤 Автор: loop-uh
📅 Дата: 30.09.2026 13:49:29 MSK
🔗 SHA: ae70251

📊 Статистика:
➕ Добавлено: 365 строк
➖ Удалено: 28 строк
📝 Всего изменений: 393

📁 Изменено файлов: 12

🆕 tests/test_preset_data_safety_guards.py
✏️ src/presets/file_store.py
✏️ src/presets/remote_sync.py
✏️ src/presets/remote_sync_workers.py
✏️ src/presets/selection_service.py
✏️ src/profile/ui/preset_setup_page.py
✏️ src/profile/ui/preset_write_queue.py
✏️ src/profile/ui/profile_strategy_list_widget.py
✏️ src/profile/ui/profiles_list.py
✏️ src/winws_runtime/runtime/preset_launch_service.py
✏️ tests/test_preset_selection_defaults.py
✏️ tests/test_remote_preset_sync.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Пуск и стоп Zapret отовсюду (#78): точка в «Статусе работы» стала выключателем (значок питания, подсветка при наведении, Enter/Пробел), секция из двух кнопок убрана — «Закрыть программу» тихой кнопкой в той же карточке; в заголовке окна рядом с PREMIUM метка «● Работает / Остановлен», видна в любом разделе и тоже переключает; трей переделан: шапка с режимом, состоянием и пресетом, первым пунктом «Запустить/Остановить Zapret», «Перезапустить», подменю пресетов с отметкой активного и быстрым переключением, меню собирается заново при каждом открытии; на иконке трея цветная точка (зелёная — работает, жёлтая — запуск/остановка), в подсказке режим и пресет, уведомления о запуске и остановке, когда окно скрыто; вся логика пуска в одном пульте ui/launch_control.py

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:07:07 MSK
🔗 SHA: de730e5

📊 Статистика:
➕ Добавлено: 2988 строк
➖ Удалено: 1238 строк
📝 Всего изменений: 4226

📁 Изменено файлов: 36

🆕 src/ui/launch_control.py
🆕 src/ui/launch_title_badge.py
🆕 src/ui/widgets/tray_status_header.py
🆕 tests/test_launch_control.py
🆕 tests/test_launch_title_badge.py
✏️ src/app/feature_assembly.py
✏️ src/app/feature_facades/tray.py
✏️ src/app/ui_texts.py
✏️ src/main/tray_window_port.py
✏️ src/main/window_page_deps_setup.py
✏️ src/presets/ui/control/control_page_runtime_shared.py
✏️ src/presets/ui/control/control_page_shared.py
✏️ src/presets/ui/control/control_runtime.py
✏️ src/presets/ui/control/shared_builders.py
✏️ src/presets/ui/control/zapret1/build.py
✏️ src/presets/ui/control/zapret1/page.py
✏️ src/presets/ui/control/zapret1/runtime_helpers.py
✏️ src/presets/ui/control/zapret2/build.py
✏️ src/presets/ui/control/zapret2/page.py
✏️ src/presets/ui/control/zapret2/page_runtime.py
... и ещё 16 файлов

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Пресеты и профили — точность: проверка запуска не считает флаги в комментариях, строки делятся только по переводу строки (как у парсера); при смене стратегии сохраняется действующий (последний) --payload; новый пользовательский profile не делит файлы списков с переименованным, битая запись не роняет шаблоны; кэш профиля учитывает имя и файлы списков; «v1.5» ищется как v1.5.txt, имя возвращается как на диске; занятое имя при создании/копии/переименовании/импорте становится «X (2)» и в файле, и в списке; импорт ZIP переписывает ссылки в строке с несколькими опциями и отвергает имена CON, a.txt:поток и т.п.; смена стратегии не сбрасывает папку и порядок профиля; результат и ошибка импорта показываются всегда, повторный импорт по ссылке не теряет источник, папка сворачивается сразу; шаги перемещения папок не схлопываются; устаревший план фильтра стратегий не затирает строки; сбои обновления меты пишутся в лог. Доработки волны 1: запасной пресет нельзя удалить, щелчок по нему закрепляет выбор, действия над профилями не принимаются, пока список показывает прежний пресет, результат сканирования с заблокированным файлом не кэшируется

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:08:38 MSK
🔗 SHA: 2982ebd

📊 Статистика:
➕ Добавлено: 862 строк
➖ Удалено: 150 строк
📝 Всего изменений: 1012

📁 Изменено файлов: 25

🆕 tests/test_presets_profiles_accuracy.py
✏️ src/app/feature_facades/presets.py
✏️ src/lists/core/layered_files.py
✏️ src/presets/file_service.py
✏️ src/presets/file_store.py
✏️ src/presets/portable_archive.py
✏️ src/presets/preset_file_ops.py
✏️ src/presets/preset_text_ops.py
✏️ src/presets/selection_service.py
✏️ src/presets/ui/common/user_presets_page.py
✏️ src/profile/derived_cache.py
✏️ src/profile/launch_validation.py
✏️ src/profile/serializer.py
✏️ src/profile/service.py
✏️ src/profile/ui/preset_write_queue.py
✏️ src/profile/ui/profile_folder_controller.py
✏️ src/profile/ui/profile_list_view.py
✏️ src/profile/ui/profile_strategy_list_widget.py
✏️ src/profile/user_profiles/service.py
✏️ src/ui/presets_menu/view.py
... и ещё 5 файлов

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Активный пресет знает свой режим: store общий для zapret1 и zapret2, поэтому вместе с именем (теперь в исходном регистре) публикуется режим; список profile сравнивает имя только со своим режимом — переключение пресета в другом режиме больше не перезагружает чужой список и не блокирует действия над profile (регрессия предыдущего коммита после смены режима)

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:11:42 MSK
🔗 SHA: 59e8b8a

📊 Статистика:
➕ Добавлено: 66 строк
➖ Удалено: 9 строк
📝 Всего изменений: 75

📁 Изменено файлов: 6

✏️ src/app/state_store.py
✏️ src/core/runtime/preset_runtime_coordinator.py
✏️ src/profile/ui/preset_setup_page.py
✏️ src/profile/ui/preset_write_queue.py
✏️ tests/test_preset_editor_invariants.py
✏️ tests/test_presets_profiles_accuracy.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Пресеты: подбор свободного имени больше не зависает на имени длиннее 100 символов (основа укорачивается под « (2)»); скан с заблокированным файлом кэшируется на 2 с, а предупреждение о файле пишется один раз; сброс списка профилей забывает отпечаток папки списков; пользовательский profile с именем вроде «con» получает допустимые файлы списков

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:18:29 MSK
🔗 SHA: 48f3997

📊 Статистика:
➕ Добавлено: 102 строк
➖ Удалено: 7 строк
📝 Всего изменений: 109

📁 Изменено файлов: 5

✏️ src/presets/file_store.py
✏️ src/profile/derived_cache.py
✏️ src/profile/service.py
✏️ src/profile/user_profiles/service.py
✏️ tests/test_presets_profiles_accuracy.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Один источник «активного пресета»: PresetSelectionService сам сообщает о каждой смене выбора — выбор пользователя, подмена пропавшего файла запасным и возврат файла; переименование выбранного пресета не считается сменой (без лишнего перезапуска DPI); о подмене пользователь видит сообщение «Пресет X не найден — используется Y», страницы показывают запасной активным, работающий DPI сам не переключается, а вернувшийся файл снова становится активным; шапка редактора пресета следует за выбором, сделанным в другом месте; убраны копии выбора (кэш выбранного манифеста, кэш метаданных в хранилище сигналов); архитектурная проверка: выбор пишет только PresetSelectionService

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:22:17 MSK
🔗 SHA: 15d4870

📊 Статистика:
➕ Добавлено: 353 строк
➖ Удалено: 291 строк
📝 Всего изменений: 644

📁 Изменено файлов: 13

🆕 tests/test_active_preset_single_source.py
✏️ src/app/architecture_checks.py
✏️ src/core/runtime/preset_runtime_coordinator.py
✏️ src/presets/commands.py
✏️ src/presets/mode_coordinator.py
✏️ src/presets/preset_file_ops.py
✏️ src/presets/selection_service.py
✏️ src/presets/services_bundle.py
✏️ src/presets/ui/common/preset_subpage_base.py
✏️ src/presets/ui_bindings.py
✏️ src/presets/ui_store.py
✏️ tests/test_preset_ui_store_guards.py
✏️ tests/test_startup_autostart.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Значки в заголовке ровные, «Работает» заметно пульсирует: подложка со сглаженными углами, от зелёной точки расходится кольцо

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:24:13 MSK
🔗 SHA: bab8581

📊 Статистика:
➕ Добавлено: 246 строк
➖ Удалено: 35 строк
📝 Всего изменений: 281

📁 Изменено файлов: 4

🆕 src/ui/title_badge_paint.py
🆕 tests/test_title_badge_paint.py
✏️ src/ui/launch_title_badge.py
✏️ src/ui/subscription_title_badge.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Скорость: переключение пресета, сохранение пресета, применение стратегии, включение profile, настройки profile, активация, старт и остановка DPI пишут своё время в журнал (UiMetric) — по нему видно, сколько они длятся у пользователя; определение папки profile по тексту запоминается — повторная сборка списка из ~100 profile ускорилась с ~12 до ~2 мс

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:27:19 MSK
🔗 SHA: 2e0cfa5

📊 Статистика:
➕ Добавлено: 318 строк
➖ Удалено: 193 строк
📝 Всего изменений: 511

📁 Изменено файлов: 7

🆕 tests/test_hot_action_timing.py
✏️ src/folders/defaults.py
✏️ src/presets/raw_preset_loader.py
✏️ src/presets/user_presets_action_workers.py
✏️ src/profile/profile_setup_loader.py
✏️ src/winws_runtime/runtime/control_workers.py
✏️ src/winws_runtime/runtime/start_workers.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Окно-продолжение обновления больше не прячется за Zapret: программа разрешает ему выйти на передний план, пока старая версия на экране оно стоит поверх всех, потом — обычным окном (сообщения установщика видны); в журнал окна пишутся место и выход на передний план. Шапка «Что нового» и окна обновления: значок 44 px, заголовок с подписью центрируются по самому значку и не свисают. «Версий в списке: 2» → «Изменения за 2 версии»

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:27:30 MSK
🔗 SHA: f8194d1

📊 Статистика:
➕ Добавлено: 138 строк
➖ Удалено: 16 строк
📝 Всего изменений: 154

📁 Изменено файлов: 7

✏️ src/app/ui_texts.py
✏️ src/updater/install/splash.py
✏️ src/updater/install/splash_script.py
✏️ src/updater/ui/plans.py
✏️ src/updater/ui/update_dialog.py
✏️ tests/test_restart_splash.py
✏️ tests/test_update_dialog.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Активный пресет после подмены: координатор помнит пресет, на котором реально работает DPI, а запасной только показывается — щелчок по запасному теперь переводит на него работающий DPI (раньше считался «уже выбран»); вернувшийся файл доходит до страниц и runtime, даже если его имя совпадает с последним отправленным, и лишнего перезапуска не вызывает

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:29:11 MSK
🔗 SHA: 86b4b27

📊 Статистика:
➕ Добавлено: 82 строк
➖ Удалено: 10 строк
📝 Всего изменений: 92

📁 Изменено файлов: 5

✏️ src/core/runtime/preset_runtime_coordinator.py
✏️ src/presets/selection_service.py
✏️ src/presets/ui_store.py
✏️ tests/test_active_preset_single_source.py
✏️ tests/test_preset_ui_store_guards.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Rewrite holiday effects as a separate click-through overlay window

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:30:48 MSK
🔗 SHA: 7c8a05b

📊 Статистика:
➕ Добавлено: 1134 строк
➖ Удалено: 628 строк
📝 Всего изменений: 1762

📁 Изменено файлов: 2

✏️ src/ui/holiday_effects.py
✏️ tests/test_holiday_effects_performance.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Вернувшийся выбранный файл всегда применяется к работающему DPI: пока файла не было, DPI мог перезапуститься на запасном пресете, и сравнение с последним переключением ошибочно считало возврат «тем же пресетом»

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:33:28 MSK
🔗 SHA: c0b62d1

📊 Статистика:
➕ Добавлено: 59 строк
➖ Удалено: 1 строк
📝 Всего изменений: 60

📁 Изменено файлов: 5

✏️ src/core/runtime/preset_runtime_coordinator.py
✏️ src/presets/commands.py
✏️ src/presets/ui_bindings.py
✏️ src/presets/ui_store.py
✏️ tests/test_active_preset_single_source.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Между значками «PREMIUM» и «Работает» в заголовке окна промежуток 8 px — значки больше не слипаются

👤 Автор: loop-uh
📅 Дата: 30.09.2026 14:35:45 MSK
🔗 SHA: 8fcf2b3

📊 Статистика:
➕ Добавлено: 28 строк
➖ Удалено: 2 строк
📝 Всего изменений: 30

📁 Изменено файлов: 2

✏️ src/ui/window_state_binder.py
✏️ tests/test_launch_title_badge.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 Окно-продолжение обновления наконец видно: оно было полностью прозрачным — [Math]::Min(1, 0.16) в PowerShell целочисленный и равен 0, поэтому появление вечно стояло на нуле (проверки без рабочего стола это прятали); все Min/Max с дробными литералами, след за логотипом тоже виден; если появление застрянет, окно показывается сразу. Проверено на настоящем рабочем столе win10: окно видно всё время установки и гаснет, когда открылась новая версия

👤 Автор: loop-uh
📅 Дата: 30.09.2026 15:00:13 MSK
🔗 SHA: 510edc8

📊 Статистика:
➕ Добавлено: 22 строк
➖ Удалено: 6 строк
📝 Всего изменений: 28

📁 Изменено файлов: 2

✏️ src/updater/install/splash_script.py
✏️ tests/test_restart_splash.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/zapret

📝 «Что нового» и окно обновления показывают историю: последние 10 выпусков — сверху новые для вас с пометкой «новое», ниже «Ранее» приглушённо; пропущенные версии видны все, даже если их больше 10; подпись считает только новые; без сохранённого текста история берётся одним запросом списка выпусков Forgejo

👤 Автор: loop-uh
📅 Дата: 30.09.2026 19:25:36 MSK
🔗 SHA: 202df55

📊 Статистика:
➕ Добавлено: 251 строк
➖ Удалено: 55 строк
📝 Всего изменений: 306

📁 Изменено файлов: 10

✏️ src/app/ui_texts.py
✏️ src/settings/normalize.py
✏️ src/updater/release/forgejo.py
✏️ src/updater/release/history.py
✏️ src/updater/ui/plans.py
✏️ src/updater/ui/update_dialog.py
✏️ src/updater/whats_new.py
✏️ tests/test_forgejo_release_history.py
✏️ tests/test_update_dialog.py
✏️ tests/test_whats_new.py

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/todo

📝 День интернета 2026: итоги года блокировок и «Антифрод 3.0»

👤 Автор: loop-uh
📅 Дата: 30.09.2026 20:04:18 MSK
🔗 SHA: 9992ab8

📊 Статистика:
➕ Добавлено: 242 строк
➖ Удалено: 0 строк
📝 Всего изменений: 242

📁 Изменено файлов: 7

🆕 DPI/attachments/internet-day-2026-rkn-year-header.png
🆕 DPI/attachments/rkn-year-2026-antifraud-bill-art5-part10-1.png
🆕 DPI/attachments/rkn-year-2026-antifraud-bill-art5-part10.png
🆕 DPI/internet-day-2026-rkn-year.md
✏️ DPI/DPI.md
✏️ DPI/rkn-vpn-2030-roadmap.md
✏️ banks-malware-scan-2027.md

🔗 Открыть в Forgejo
💥 ВСЕ НАШИ ССЫЛКИ: https://t.me/runetvpnyoutubediscord

🔔 Новый коммит в zapretdiscordyoutube/todo

📝 День интернета 2026: авторская обложка статьи

👤 Автор: loop-uh
📅 Дата: 30.09.2026 20:11:43 MSK
🔗 SHA: 939c006

📊 Статистика:
➕ Добавлено: 2 строк
➖ Удалено: 2 строк
📝 Всего изменений: 4

📁 Изменено файлов: 3

🆕 DPI/attachments/internet-day-2026-rkn-year-header.jpg
🗑️ DPI/attachments/internet-day-2026-rkn-year-header.png
✏️ DPI/internet-day-2026-rkn-year.md

🔗 Открыть в Forgejo