Releases: WASH-PRO/WASH-PRO-CRM
Release list
v1.1.66 — Fast Telegram Start + multi-IP egress · Быстрый старт бота
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
English
Fixed
- Slow bot Start —
deleteWebhookno 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/telegramprobe;fix-pyorchprints 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
English
Fixed
- v1.1.63 deploy — CRM update failed on dashboard Vite/rolldown native binding; Dockerfile installs
@rolldown/binding-linux-x64-gnu. Pyorch/telegram-egressbuilds first so bots get egress even if dashboard rebuild is slow. - fix-pyorch —
docker compose up --buildfortelegram-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
English
Fixed
- Informational bot silent in Telegram — Docker bridge on some hosts cannot reach
api.telegram.org(502 / timeout frompyorch-bridge). Addedtelegram-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
English
Fixed
- Informational / operator bots not answering —
pyorch-runtimesandboxes on some hosts cannot reachapi.telegram.org(IPv6/egress). Bots now call Telegram throughpyorch-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
English
Fixed
- Bot link / QR —
pyorch-bridgeresolves@usernamevia TelegramgetMewith 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через TelegramgetMeс приоритетом 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-bridgev1.1.60 — Reject invalid Telegram bot tokens · Отклонение неверных токенов бота
English
Fixed
- Bot token validation — create/update reject values that are not BotFather tokens (
123456789:AA…), so error texts cannot be saved asTELEGRAM_TOKEN. - QR / bot link — clearer errors when the token is missing, invalid, or Telegram
getMefails. 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-bridgev1.1.59 — Telegram bot token save fix · Сохранение токена Telegram-бота
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_TOKENis 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-bridgev1.1.58 — Vendored PyOrchestrator main.py import fix · Импорт create_script/storage_service в PyOrch
English
Fixed
- PyOrchestrator
backend/app/main.py— add missingcreate_script/storage_serviceimports used at startup and demo seed (was only applied vialocal/apply-server-patches.shon some hosts). Fresh installs from GitHub match the working192.168.1.151tree 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-backendAfter 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
English
Fixed
- MQTT
systempassword drift — after reboot,mosquitto-initno longer overwrites an existing passwd from.env, which used to fight CRM Settings → MQTT (washproseed) and leavemessage-processorwithNot authorizedwhile the ETH panel still showed MQTT OK. - Startup heal — processor upgrades empty/seed
washproinmqtt-brokersettings toMQTT_PASSWORD, syncs Mosquitto passwd, then connects (so CRM online status tracks telemetry again). - init-seed — default
mqtt-broker.systemPasswordfollowsMQTT_PASSWORDfrom 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-seedIf 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 (seedwashproв Настройках ≠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.