Skip to content

Releases: WASH-PRO/WASH-PRO-CRM

v1.1.66 — Fast Telegram Start + multi-IP egress · Быстрый старт бота

Choose a tag to compare

@Developer-RU Developer-RU released this 21 Jul 17:01

English

Fixed

  • Slow Start/Stop — UI start no longer double-stops or waits on deleteWebhook; grace only after a live run; webhook clear is background.
  • Informational bot — username registration no longer blocks the polling loop.
  • telegram-egress — tries alternate Telegram DC IPs when the primary address times out.

Note

Bot replies still require the CRM host to reach Telegram (curl -4 -m 8 -I https://api.telegram.org/ on 192.168.1.151). Check http://192.168.1.151:3987/health/telegram.


Русский

Исправлено

  • Долгий Запуск/Стоп — без двойной остановки и ожидания deleteWebhook; очистка webhook в фоне.
  • Информационный бот — регистрация username не блокирует polling.
  • telegram-egress — запасные IP Telegram при таймауте основного.

Важно

Ответы бота возможны только если сам сервер CRM достучаться до Telegram. Проверка: http://192.168.1.151:3987/health/telegram"ok":true.

v1.1.65 — Faster Telegram bot start + egress probe · Быстрый старт бота и проверка Telegram

Choose a tag to compare

@Developer-RU Developer-RU released this 21 Jul 16:40

English

Fixed

  • Slow bot StartdeleteWebhook no longer calls Telegram directly from Docker (hung up to 15s); uses host egress with a 5s cap.
  • telegram-egress — fail-fast connect timeout + GET /health/telegram probe; fix-pyorch prints host→Telegram reachability.

Upgrade

# Settings → Software updates → CRM → v1.1.65
# Then Stop → Start the informational bot

Русский

Исправлено

  • Долгий «Запуск» ботаdeleteWebhook шёл в Telegram напрямую из Docker и висел; теперь через egress, таймаут 5с.
  • telegram-egress — быстрый connect-timeout и GET /health/telegram; в repair видна доступность Telegram с хоста.

Обновление

# Настройки → Обновления ПО → CRM → v1.1.65
# Затем Стоп → Запуск информационного бота

v1.1.64 — Telegram egress deploy + dashboard rolldown fix · Деплой egress и сборка dashboard

Choose a tag to compare

@Developer-RU Developer-RU released this 21 Jul 16:06

English

Fixed

  • v1.1.63 deploy — CRM update failed on dashboard Vite/rolldown native binding; Dockerfile installs @rolldown/binding-linux-x64-gnu. Pyorch/telegram-egress builds first so bots get egress even if dashboard rebuild is slow.
  • fix-pyorchdocker compose up --build for telegram-egress + bridge.

Upgrade

# Dashboard → Settings → Software updates → CRM → v1.1.64
# Then stop/start the informational Telegram bot

Русский

Исправлено

  • Деплой v1.1.63 — падала сборка dashboard (rolldown binding); pyorch/telegram-egress собираются первыми.
  • fix-pyorch--build для egress и bridge.

Обновление

# Настройки → Обновления ПО → CRM → v1.1.64
# Затем Стоп → Запуск информационного бота

v1.1.63 — Telegram host egress proxy · Прокси Telegram через host network

Choose a tag to compare

@Developer-RU Developer-RU released this 21 Jul 15:50

English

Fixed

  • Informational bot silent in Telegram — Docker bridge on some hosts cannot reach api.telegram.org (502 / timeout from pyorch-bridge). Added telegram-egress (network_mode: host) and route Bot API calls through it; DNS/IPv4 hardening kept as fallback.

Upgrade

# Dashboard → Settings → Software updates → CRM
# Then stop/start the informational Telegram bot

Русский

Исправлено

  • Информационный бот не отвечает — из Docker bridge нет доступа к api.telegram.org. Добавлен сервис telegram-egress на сети хоста; bridge ходит в Telegram через него.

Обновление

# Настройки → Обновления ПО → CRM
# Затем остановите и снова запустите информационного бота

v1.1.62 — Telegram API proxy via pyorch-bridge · Прокси Telegram через bridge

Choose a tag to compare

@Developer-RU Developer-RU released this 21 Jul 15:29

English

Fixed

  • Informational / operator bots not answeringpyorch-runtime sandboxes on some hosts cannot reach api.telegram.org (IPv6/egress). Bots now call Telegram through pyorch-bridge (POST /internal/telegram/call) on the internal Docker network; bridge uses IPv4 HTTPS to Telegram.

Upgrade

# Dashboard → Settings → Software updates → CRM
# Then restart Telegram bots

Русский

Исправлено

  • Боты не отвечают в Telegram — sandbox pyorch-runtime на части хостов не достучаться до api.telegram.org. Вызовы Telegram идут через pyorch-bridge (POST /internal/telegram/call) по внутренней сети; bridge ходит в Telegram по IPv4 HTTPS.

Обновление

# Настройки → Обновления ПО → CRM
# Затем перезапустите Telegram-ботов

v1.1.61 — Telegram getMe IPv4 fallback · getMe бота через IPv4

Choose a tag to compare

@Developer-RU Developer-RU released this 21 Jul 15:12

English

Fixed

  • Bot link / QRpyorch-bridge resolves @username via Telegram getMe with IPv4-first DNS and an IPv4 HTTPS fallback (Docker often breaks AAAA routes; token was saved but username never registered).

Upgrade

# Dashboard → Settings → Software updates → CRM
git fetch origin && git checkout v1.1.61
docker compose -f docker-compose.yml -f docker-compose.pyorchestrator.yml up -d --build pyorch-bridge

Русский

Исправлено

  • Ссылка / QR ботаpyorch-bridge получает @username через Telegram getMe с приоритетом IPv4 и HTTPS-fallback (в Docker часто нет маршрута для AAAA; токен сохранялся, а username — нет).

Обновление

# Настройки → Обновления ПО → CRM
git fetch origin && git checkout v1.1.61
docker compose -f docker-compose.yml -f docker-compose.pyorchestrator.yml up -d --build pyorch-bridge

v1.1.60 — Reject invalid Telegram bot tokens · Отклонение неверных токенов бота

Choose a tag to compare

@Developer-RU Developer-RU released this 21 Jul 14:59

English

Fixed

  • Bot token validation — create/update reject values that are not BotFather tokens (123456789:AA…), so error texts cannot be saved as TELEGRAM_TOKEN.
  • QR / bot link — clearer errors when the token is missing, invalid, or Telegram getMe fails.
  • has_token — true only for a token that matches BotFather format.

Upgrade

# Dashboard → Settings → Software updates → CRM
git fetch origin && git checkout v1.1.60
docker compose -f docker-compose.yml -f docker-compose.pyorchestrator.yml up -d --build dashboard pyorch-bridge

Русский

Исправлено

  • Валидация токена — create/update отклоняют значения не в формате BotFather (123456789:AA…), текст ошибки больше нельзя сохранить как TELEGRAM_TOKEN.
  • QR / ссылка на бота — понятные ошибки: нет токена / неверный токен / сбой Telegram getMe.
  • has_token — true только для токена в формате BotFather.

Обновление

# Настройки → Обновления ПО → CRM
git fetch origin && git checkout v1.1.60
docker compose -f docker-compose.yml -f docker-compose.pyorchestrator.yml up -d --build dashboard pyorch-bridge

v1.1.59 — Telegram bot token save fix · Сохранение токена Telegram-бота

Choose a tag to compare

@Developer-RU Developer-RU released this 21 Jul 14:46

English

Fixed

  • Telegram bot settings — bot token is saved to PyOrchestrator secrets before code sync (sync failures no longer skip the token), then verified.
  • Bot settings UI — shows whether a token is already configured; required when missing; toast on successful token save.
  • Bot start — clear error if TELEGRAM_TOKEN is not set.

Upgrade

# Dashboard → Settings → Software updates → CRM
# or:
git fetch origin && git checkout v1.1.59
docker compose -f docker-compose.yml -f docker-compose.pyorchestrator.yml up -d --build dashboard pyorch-bridge

Русский

Исправлено

  • Настройки Telegram-бота — токен пишется в secrets PyOrchestrator до синхронизации кода (ошибка sync больше не мешает сохранению), затем проверяется.
  • UI настроек бота — статус «токен задан / не задан»; обязателен, если отсутствует; toast при успешном сохранении.
  • Запуск бота — понятная ошибка, если TELEGRAM_TOKEN не задан.

Обновление

# Настройки → Обновления ПО → CRM
# или:
git fetch origin && git checkout v1.1.59
docker compose -f docker-compose.yml -f docker-compose.pyorchestrator.yml up -d --build dashboard pyorch-bridge

v1.1.58 — Vendored PyOrchestrator main.py import fix · Импорт create_script/storage_service в PyOrch

Choose a tag to compare

@Developer-RU Developer-RU released this 17 Jul 18:56

English

Fixed

  • PyOrchestrator backend/app/main.py — add missing create_script / storage_service imports used at startup and demo seed (was only applied via local/apply-server-patches.sh on some hosts). Fresh installs from GitHub match the working 192.168.1.151 tree without a server-side patch.

Upgrade

# Dashboard → Settings → Software updates → CRM
# or:
git fetch origin && git checkout v1.1.58
docker compose up -d --build pyorch-backend

After upgrade you can remove the old sed block from local/apply-server-patches.sh if present.


Русский

Исправлено

  • PyOrchestrator backend/app/main.py — добавлены недостающие импорты create_script / storage_service (использовались при старте и seed; раньше только через local/apply-server-patches.sh). Чистая установка с GitHub совпадает с рабочей копией без серверного патча.

Обновление

# Настройки → Обновления ПО → CRM
# или:
git fetch origin && git checkout v1.1.58
docker compose up -d --build pyorch-backend

После обновления можно убрать старый sed из local/apply-server-patches.sh, если он ещё есть.

v1.1.57 — Fix CRM offline while ETH MQTT is connected · CRM офлайн при MQTT OK на ETH

Choose a tag to compare

@Developer-RU Developer-RU released this 17 Jul 09:16

English

Fixed

  • MQTT system password drift — after reboot, mosquitto-init no longer overwrites an existing passwd from .env, which used to fight CRM Settings → MQTT (washpro seed) and leave message-processor with Not authorized while the ETH panel still showed MQTT OK.
  • Startup heal — processor upgrades empty/seed washpro in mqtt-broker settings to MQTT_PASSWORD, syncs Mosquitto passwd, then connects (so CRM online status tracks telemetry again).
  • init-seed — default mqtt-broker.systemPassword follows MQTT_PASSWORD from the environment when present.

Upgrade

# Dashboard → Settings → Software updates → CRM
# or:
git fetch origin && git checkout v1.1.57
docker compose up -d --build message-processor init-seed

If the post is still offline: ./scripts/fix-mqtt.sh then rebuild message-processor. Force system from .env only if needed: FORCE_MQTT_SYSTEM_PASS=1 ./scripts/fix-mqtt.sh.


Русский

Исправлено

  • Рассинхрон пароля MQTT system — после рестарта mosquitto-init больше не перезаписывает существующий passwd из .env, из‑за чего processor ловил Not authorized, а ETH при этом показывал MQTT OK (seed washpro в Настройках ≠ MQTT_PASSWORD).
  • Лечение при старте — processor поднимает пустой/seed washpro в mqtt-broker до MQTT_PASSWORD, синхронизирует passwd и только потом подключается (CRM снова видит телеметрию / онлайн).
  • init-seed — пароль mqtt-broker.systemPassword по умолчанию берётся из MQTT_PASSWORD, если задан.

Обновление

# Настройки → Обновления ПО → CRM
# или:
git fetch origin && git checkout v1.1.57
docker compose up -d --build message-processor init-seed

Если пост всё ещё офлайн: ./scripts/fix-mqtt.sh и пересборка message-processor. Принудительный сброс system из .env только при необходимости: FORCE_MQTT_SYSTEM_PASS=1 ./scripts/fix-mqtt.sh.