[PR #829] [CLOSED] Живой статус в трее: кружок состояния, уведомления о падении и пинг до DC #63

Closed
opened 2026-07-19 11:34:30 +03:00 by mirror-bot · 0 comments

📋 Pull Request Information

Original PR: https://github.com/Flowseal/tg-ws-proxy/pull/829
Author: @f4rceful
Created: 5/8/2026
Status: ❌ Closed

Base: main ← Head: feat/tray-improvements


📝 Commits (5)

  • 13216e6 feat: add status dot infrastructure to tray icon
  • 29ee39b feat: add status dot on tray icon and crash notification
  • 8c32132 feat: add live tooltip with speed and DC ping
  • 85b55f8 refactor: simplify balloon notification
  • 757661b feat: improve crash notification and fix speed counter on restart

📊 Changes

5 files changed (+269 additions, -16 deletions)

View changed files

➕ assets/dot_error.png (+0 -0)
➕ assets/dot_idle.png (+0 -0)
➕ assets/dot_ok.png (+0 -0)
📝 utils/tray_common.py (+126 -1)
📝 windows.py (+143 -15)

📄 Description

Что добавлено

  • Статусный кружок на иконке трея — зелёный (есть соединения), жёлтый (прокси работает, нет соединений), красный (прокси упал). Обновляется с дебаунсом 2с чтобы не мигал при кратких разрывах.
    image

  • Уведомление при падении прокси - balloon-уведомление через Shell_NotifyIconW.
    image
    image
    image

  • Живой tooltip - при наведении на иконку показывает количество активных соединений, текущую скорость (↑/↓ KB/s) и пинг до датацентров Telegram (DC2: 45ms).
    image

  • Кастомные иконки кружков - можно положить dot_ok.png, dot_idle.png, dot_error.png в папку assets/ и они заменят нарисованные кружки.

Технические детали

  • StatusManager в utils/tray_common.py — переиспользуемый, подключается одной строкой, работает на всех платформах
  • DC ping через TCP connect к порту 443, обновляется каждые 30 секунд
  • Рендеринг иконки при 256×256 для чёткости на HiDPI экранах

🔄 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/829 **Author:** [@f4rceful](https://github.com/f4rceful) **Created:** 5/8/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat/tray-improvements` --- ### 📝 Commits (5) - [`13216e6`](https://github.com/Flowseal/tg-ws-proxy/commit/13216e6f74ecdaa7ddca6d8ee61def224125bebc) feat: add status dot infrastructure to tray icon - [`29ee39b`](https://github.com/Flowseal/tg-ws-proxy/commit/29ee39b85530c326021d989ff7ce5ff27b35cfc6) feat: add status dot on tray icon and crash notification - [`8c32132`](https://github.com/Flowseal/tg-ws-proxy/commit/8c32132b834267d6abf29194af2aeef02753f5e5) feat: add live tooltip with speed and DC ping - [`85b55f8`](https://github.com/Flowseal/tg-ws-proxy/commit/85b55f8d5cfc02890d3e7f9bfef0018202820fdd) refactor: simplify balloon notification - [`757661b`](https://github.com/Flowseal/tg-ws-proxy/commit/757661be81967446daa1f19ae59f2293886cbb09) feat: improve crash notification and fix speed counter on restart ### 📊 Changes **5 files changed** (+269 additions, -16 deletions) <details> <summary>View changed files</summary> ➕ `assets/dot_error.png` (+0 -0) ➕ `assets/dot_idle.png` (+0 -0) ➕ `assets/dot_ok.png` (+0 -0) 📝 `utils/tray_common.py` (+126 -1) 📝 `windows.py` (+143 -15) </details> ### 📄 Description ## Что добавлено - **Статусный кружок на иконке трея** — зелёный (есть соединения), жёлтый (прокси работает, нет соединений), красный (прокси упал). Обновляется с дебаунсом 2с чтобы не мигал при кратких разрывах. <img width="100" height="42" alt="image" src="https://github.com/user-attachments/assets/4ca01f6d-a859-485a-8960-994cf1e436d7" /> - **Уведомление при падении прокси** - balloon-уведомление через Shell_NotifyIconW. <img width="393" height="134" alt="image" src="https://github.com/user-attachments/assets/6f13ea9c-0f36-4072-a904-39eed49643d0" /> <img width="393" height="145" alt="image" src="https://github.com/user-attachments/assets/7d52fe08-afe9-4209-9543-6cada0302d0b" /> <img width="400" height="138" alt="image" src="https://github.com/user-attachments/assets/b113af8f-f10a-4c16-b12c-114d8391aa92" /> - **Живой tooltip** - при наведении на иконку показывает количество активных соединений, текущую скорость (↑/↓ KB/s) и пинг до датацентров Telegram (DC2: 45ms). <img width="183" height="151" alt="image" src="https://github.com/user-attachments/assets/2419185b-4a04-4847-80c9-e24478bafe60" /> - **Кастомные иконки кружков** - можно положить `dot_ok.png`, `dot_idle.png`, `dot_error.png` в папку `assets/` и они заменят нарисованные кружки. ## Технические детали - `StatusManager` в `utils/tray_common.py` — переиспользуемый, подключается одной строкой, работает на всех платформах - DC ping через TCP connect к порту 443, обновляется каждые 30 секунд - Рендеринг иконки при 256×256 для чёткости на HiDPI экранах --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror-bot added the pull-request label 2026-07-19 11:34:30 +03:00
mirror-bot changed title from [PR #829] [CLOSED] Живой статус в трее: кружок состояния, уведомления о падении и пинг до DC to [PR #829] Живой статус в трее: кружок состояния, уведомления о падении и пинг до DC 2026-07-20 04:10:41 +03:00
mirror-bot changed title from [PR #829] Живой статус в трее: кружок состояния, уведомления о падении и пинг до DC to [PR #829] [CLOSED] Живой статус в трее: кружок состояния, уведомления о падении и пинг до DC 2026-07-20 23:14:48 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Utilities/tg-ws-proxy#63