Перейти до основного вмісту

Releases

Оновлення Entergram за тиждень 25 червня 2026: стабільність, інструменти проксі та понад 25 виправлень

Denis, CEO Entergram
Denis 25 черв. 2026 р. 6 хв читання
Щотижневе оновлення Entergram від 25 червня 2026: покращення стабільності, інструменти проксі та понад 25 виправлень помилок
Releases

Цей тиждень в Entergram був присвячений глибокій інженерній роботі. Ми випустили дві нові інфраструктурні функції, суттєво покращили стабільність для робочих просторів із великим навантаженням і закрили понад 25 помилок у повідомленнях, керуванні підключеннями, онбордингу, оплаті та CRM-таблиці. Ось усе, що вийшло.


Нове: інструменти проксі для адміністраторів

Використання проксі за маршрутами та пул статичних проксі

Адміністратори тепер можуть прив'язувати проксі-трафік до конкретних маршрутів і підключених акаунтів. Так ви бачите, які підключення споживають найбільше проксі-трафіку. Крім того, тепер можна призначати окремим маршрутам виділені статичні проксі. Це корисно, коли конкретним акаунтам Telegram потрібна передбачувана й стабільна IP-адреса, а не ротація з пулу.

Монітор стану проксі в панелі адміністратора

Фоновий процес тепер періодично перевіряє кожен проксі й оновлює його статус. Отже, панель адміністратора показує реальний стан з'єднання: ви можете помітити проблемні проксі до того, як вони непомітно зачеплять ваших користувачів, а не дізнаватися про збої зі звернень у підтримку.


Продуктивність: швидше та стабільніше для великих робочих просторів

Стабілізація ws-v2 для робочих просторів із великим навантаженням

Великі робочі простори, тобто ті, де сотні чатів у багатьох підключених акаунтах, страждали від серйозного блокування головного потоку та підвисань браузера. Цього тижня ми переробили рушій підключень ws-v2: він тепер обмежує сплески account.bind і рівномірно розподіляє виклики folder.chats.fetch. Результат: сесія QA, яка раніше давала 692 довгі завдання та близько 166 секунд блокування головного потоку, тепер завантажується без проблем.

Значки "Reconnect Required" більше не спрацьовують хибно

Акаунти в завантажених робочих просторах показували значки "Reconnect Required / Disconnected" навіть тоді, коли сесія MTProto на бекенді була активною й обслуговувала трафік. Оператори, які натискали Reconnect, запускали непотрібні повторні входи, а іноді впиралися в ліміти Telegram FLOOD_WAIT для номера телефону. Тепер значок з'являється лише тоді, коли з підключенням справді є проблема.


Виправлення: повідомлення та чати

Аудіоповідомлення знову відтворюються. Вхідні голосові повідомлення непомітно не працювали: кнопка відтворення нічого не робила. Виправлено для всіх типів чатів. (DEV-133)

Помилки "Socket closed" усунено. Кілька робочих просторів стикалися з жорсткими розривами з'єднання та помилкою контексту chat.subscribe. Логіка перепідключення сокета тепер стабільна. (DEV-120)

Історія супергруп і каналів завантажується правильно. Навігація в супергрупах викликала помилки "Invalid realtime command payload" на шляху history.around, коли фронтенд надсилав підказки peer (entity_class_name), яких шлюз не розпізнавав. Виправлено на рівні шлюзу. (DEV-168, PRODUCT-121)

Сторінка більше не зависає під час листування чи пересилання. Усунено цілий клас проблем, коли сторінка зависала й перезавантажувалася посеред розмови оператора. (DEV-143)

Онлайн-статус узгоджений. Індикатор присутності в таблиці чатів і в заголовку чату брали дані з різних джерел. Тепер вони використовують один спільний стан присутності. (DEV-186)

Правильні імена відправників у групових чатах. Бульбашки повідомлень у групових гілках іноді показували над текстом не те ім'я користувача Telegram. Виправлено і для шляху chat_list.window.snapshot, і для live_chat_list.delta. (DEV-192)

Лічильники непрочитаних залишаються точними. У кількох сценаріях значок непрочитаних показував завищене число: наприклад, ви надсилали 2 повідомлення, а бачили 5 непрочитаних. Тепер лічильник правильно звіряється після перепідключень. (DEV-135)

Дублікати повідомлень виправлено. Коли два або більше підключених акаунтів мали спільний чат, те саме повідомлення могло двічі з'являтися у відкритій гілці. Це була помилка дедуплікації під час рендерингу на фронтенді, а не проблема об'єднання даних між акаунтами. Виправлено. (DEV-183)

Резервний відправник і автори реакцій відображаються правильно. Історія чату іноді показувала other як відправника вхідних повідомлень, а спливаючі вікна реакцій зависали на "Loading reactions". Обидві проблеми виправлено. (DEV-156)

Чати залишаються в папці після вашої відповіді. Папки з прапорцем "Exclude read chats" прибирали чат одразу після того, як оператор надсилав відповідь, і розмова зникала посеред роботи. Тепер папки зберігають чати з відповіддю, доки ви не перейдете в інше місце. (DEV-178)

MCP надсилає повідомлення новим контактам. Інтеграція MCP видавала помилку, коли ви намагалися написати контакту Telegram, з яким раніше ніколи не листувалися. Тепер перші повідомлення надсилаються правильно. (DEV-141)


Виправлення: підключення та керування сесіями

Неактивні сесії відновлюються автоматично. Помилка в логіці пропускної здатності маршрутів session-agent (observeRoutes) призводила до того, що деякі сесії переставали перезапускатися після падіння. Уражені акаунти показували nats: no responders на кожен запит історії чи папки, і перезапуск агента не допомагав. Проблему "голодування" усунено, тож неактивні сесії тепер відновлюються самі. (DEV-139)

Діалог підключення ws-v2 більше не засипає помилками 400. Через проблему з таймінгом цикл опитування під час підключення акаунта продовжував запитувати неіснуючий ID сесії авторизації. За одну сесію з'являлися сотні сповіщень API request failed: 400. Виправлено в життєвому циклі опитування. (DEV-181)

Статус проксі-з'єднання правильно відображається в Settings. Індикатор проксі зависав у стані "loading" щоразу, коли ви відкривали сторінку Settings, навіть для справних з'єднань. Тепер він показує реальний поточний стан. (DEV-154)


Виправлення: робочий простір і онбординг

Користувачі надійно приєднуються до робочих просторів. Збій React через перевищення максимальної глибини оновлень (#185) виникав щоразу, коли новий користувач після приєднання потрапляв у таблицю чатів CRM. Причиною було посилання на масив-константу, яке створювалося заново всередині визначення CHAT_PAGE_SIZE_OPTIONS. Тепер його винесено за межі циклу рендерингу. (DEV-165, DEV-167)

Прийняття запрошень під час онбордингу виправлено. Користувачі, які вставляли посилання-запрошення до робочого простору під час онбордингу, могли завершити процес, так і не приєднавшись до потрібного простору. Вони опинялися в порожньому особистому робочому просторі, а потім отримували збій під час переходу Settings → Chat Table. Логіку прийняття запрошення та перенаправлення виправлено. (DEV-170)

Видалені користувачі більше не з'являються знову. Учасників робочого простору, яких видалили або які вийшли самі, повертало назад після кожного оновлення сторінки через застарілу сесію посилання-запрошення з онбордингу. Ендпоінт /api/onboarding тепер перевіряє статус членства, перш ніж повторно додати користувача. (DEV-175)


Виправлення: налаштування акаунта

Запит на зміну email можна скасувати. Кнопка скасування для запиту на зміну email не була прив'язана до жодної дії, тож натискання нічого не робило. Тепер вона правильно скасовує запит, що очікує. (DEV-137)

Вибір чатів помітний у світлій темі. У білій (світлій) темі виділення рядків чатів було невидимим або ледь помітним через відсутній токен контрасту. Виправлено. (DEV-157)


Виправлення: оплата та підписки

Власники на пробному періоді можуть купувати місця без глухої помилки. Виклик purchaseSeat() до того, як власник має активну платну підписку, повертає 400 OWNER_SUBSCRIPTION_REQUIRED. Тепер власники на пробному періоді бачать зрозуміле прохання спочатку оформити підписку та пряме посилання на сторінку підписки. (DEV-174)

Покупка підписки працює надійно. Усунено цілий клас конфліктів авторизації 401/403 під час оформлення замовлення, які виникали через анулювання сесії під час перенаправлення на Stripe. (DEV-172)


Виправлення: CRM-таблиця

Медіа та відео відтворюються без помилок ліміту запитів. Ендпоінт /api/realtime/media підпадав під загальний обмежувач у 20 запитів на хвилину. Під час потокового відтворення відео браузер надсилає кілька запитів діапазонів байтів до того самого файлу, і обмежувач спрацьовував менш ніж за секунду. Тепер медіазапити обходять загальний обмежувач. (DEV-152)

Пошук повний і послідовний. Деякі пошукові запити повертали неповні результати або з першої спроби видавали помилку "Telegram Search is unavailable". Наступні пошуки за тим самим запитом працювали. Виправлено: тепер результати правильно повертаються з першого запиту. (DEV-136)

"Time since first incoming message" рахується від Telegram, а не від відкриття застосунку. Цей спеціальний стовпець починав відлік з моменту, коли ви відкрили Entergram, а не з моменту, коли Telegram уперше отримав повідомлення. Тепер джерело часової позначки правильне. (DEV-162)


Журнал змін

Повний журнал змін для v0.16.0 і всіх попередніх релізів доступний на сторінці "Що нового" в Entergram.

Denis, CEO Entergram
Denis

Співзасновник і CEO Entergram

Денис є співзасновником і CEO Entergram. Він давно користується Telegram, керує продуктовою стратегією і пише про операційні та продуктові рішення, що стоять за Telegram CRM, автоматизацією та роботою з кількома акаунтами.

25 черв. 2026 р. · 6 хв читання

Інші статті автора: Denis

Готові покращити роботу в Telegram?

Не втрачайте більше жодного ліда. Не губіть жодного повідомлення.

Почати з Entergram