Урезанная версия #1404: оставил только то, что могу обосновать, остальное выкинул.
Пул CF worker при остановке и рестарте прокси закрывает свои сокеты и задачи пополнения, так же как это уже делает _WsPool. Раньше reset() только чистил словари: сокеты потом закрывал сборщик мусора, задачи никто не дожидался. Добавил тест.
OPTI в RESERVED_STARTS: он есть в списке запрещённых начал в документации MTProto и в mtproxy.
В сборку из customtkinter кладётся только assets. Сейчас туда второй раз попадают исходники с __pycache__, хотя с диска CTk читает только темы, шрифты и иконки (пути строятся от папки пакета через dirname).
Доки: --log-backups по умолчанию 1, добавлен --force-test-dc, пример конфига трея приведён к default_config.py.
Тесты проходят.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/Flowseal/tg-ws-proxy/pull/1411
**Author:** [@holdingq0](https://github.com/holdingq0)
**Created:** 10/7/2026
**Status:** ✅ Merged
**Merged:** 10/10/2026
**Merged by:** [@Flowseal](https://github.com/Flowseal)
**Base:** `main` ← **Head:** `perf-v2`
---
### 📝 Commits (5)
- [`5c75a43`](https://github.com/Flowseal/tg-ws-proxy/commit/5c75a439c730e0c35175564fd2e15ddd3976a2b4) Сборка: из customtkinter кладём только assets
- [`b3fed55`](https://github.com/Flowseal/tg-ws-proxy/commit/b3fed55897d0266f3d074a12064a90999de94b4f) relay_init: не начинать с OPTI
- [`8f30ed0`](https://github.com/Flowseal/tg-ws-proxy/commit/8f30ed09f5cbd26a548260841242b43f50beacac) CF worker pool: закрывать сокеты и задачи при остановке
- [`e8801e6`](https://github.com/Flowseal/tg-ws-proxy/commit/e8801e6f04db829cbe06e83b578bdfc9046c6899) Доки: флаги CLI и пример конфига трея по коду
- [`95088f6`](https://github.com/Flowseal/tg-ws-proxy/commit/95088f66840d5b70559920ef82d76958bb704334) Merge branch 'main' into perf-v2
### 📊 Changes
**11 files changed** (+78 additions, -20 deletions)
<details>
<summary>View changed files</summary>
📝 `docs/EN/BuildFromSource.md` (+2 -1)
📝 `docs/EN/TrayConfig.md` (+9 -4)
📝 `docs/RU/BuildFromSource.md` (+2 -1)
📝 `docs/RU/TrayConfig.md` (+9 -4)
📝 `packaging/linux.spec` (+1 -1)
📝 `packaging/macos.spec` (+1 -1)
📝 `packaging/windows.spec` (+1 -1)
📝 `proxy/pool.py` (+23 -5)
📝 `proxy/tg_ws_proxy.py` (+1 -0)
📝 `proxy/utils.py` (+2 -1)
📝 `tests/test_pool.py` (+27 -1)
</details>
### 📄 Description
Урезанная версия #1404: оставил только то, что могу обосновать, остальное выкинул.
- Пул CF worker при остановке и рестарте прокси закрывает свои сокеты и задачи пополнения, так же как это уже делает `_WsPool`. Раньше `reset()` только чистил словари: сокеты потом закрывал сборщик мусора, задачи никто не дожидался. Добавил тест.
- `OPTI` в `RESERVED_STARTS`: он есть в списке запрещённых начал в документации MTProto и в mtproxy.
- В сборку из customtkinter кладётся только `assets`. Сейчас туда второй раз попадают исходники с `__pycache__`, хотя с диска CTk читает только темы, шрифты и иконки (пути строятся от папки пакета через `dirname`).
- Доки: `--log-backups` по умолчанию 1, добавлен `--force-test-dc`, пример конфига трея приведён к `default_config.py`.
Тесты проходят.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/Flowseal/tg-ws-proxy/pull/1411
Author: @holdingq0
Created: 10/7/2026
Status: ✅ Merged
Merged: 10/10/2026
Merged by: @Flowseal
Base:
main← Head:perf-v2📝 Commits (5)
5c75a43Сборка: из customtkinter кладём только assetsb3fed55relay_init: не начинать с OPTI8f30ed0CF worker pool: закрывать сокеты и задачи при остановкеe8801e6Доки: флаги CLI и пример конфига трея по коду95088f6Merge branch 'main' into perf-v2📊 Changes
11 files changed (+78 additions, -20 deletions)
View changed files
📝
docs/EN/BuildFromSource.md(+2 -1)📝
docs/EN/TrayConfig.md(+9 -4)📝
docs/RU/BuildFromSource.md(+2 -1)📝
docs/RU/TrayConfig.md(+9 -4)📝
packaging/linux.spec(+1 -1)📝
packaging/macos.spec(+1 -1)📝
packaging/windows.spec(+1 -1)📝
proxy/pool.py(+23 -5)📝
proxy/tg_ws_proxy.py(+1 -0)📝
proxy/utils.py(+2 -1)📝
tests/test_pool.py(+27 -1)📄 Description
Урезанная версия #1404: оставил только то, что могу обосновать, остальное выкинул.
_WsPool. Раньшеreset()только чистил словари: сокеты потом закрывал сборщик мусора, задачи никто не дожидался. Добавил тест.OPTIвRESERVED_STARTS: он есть в списке запрещённых начал в документации MTProto и в mtproxy.assets. Сейчас туда второй раз попадают исходники с__pycache__, хотя с диска CTk читает только темы, шрифты и иконки (пути строятся от папки пакета черезdirname).--log-backupsпо умолчанию 1, добавлен--force-test-dc, пример конфига трея приведён кdefault_config.py.Тесты проходят.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
[PR #1411] Пул CF worker: закрытие при остановке, OPTI, сборка, докиto [PR #1411] [MERGED] Пул CF worker: закрытие при остановке, OPTI, сборка, доки