Skip to main content

Releases

Обновление Entergram - неделя 25 июня 2026: стабильность, инструменты для прокси и более 25 исправлений

Денис, CEO Entergram
Denis Jun 25, 2026 8 мин чтения
Обновление Entergram 25 июня 2026: стабильность, инструменты для прокси и более 25 исправлений

Это была неделя глубокой инженерной работы. Мы выпустили две инфраструктурные функции, заметно подняли стабильность для рабочих пространств с большим объёмом чатов и закрыли более 25 багов в сообщениях, управлении подключениями, онбординге, биллинге и таблице CRM. Ниже всё, что доехало до продакшена.

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

Расход прокси по маршрутам и пул статических прокси

Администраторы теперь видят, какой трафик прокси относится к конкретным маршрутам и подключённым аккаунтам, то есть понимают, какие соединения съедают больше всего полосы. Вдобавок отдельному маршруту можно назначить выделенный статический прокси. Это полезно, когда для конкретных аккаунтов Telegram нужен предсказуемый стабильный IP, а не ротация внутри пула.

Монитор здоровья прокси в админ-панели

Фоновый воркер периодически опрашивает каждый прокси и обновляет его статус. Админ-панель теперь отражает реальное состояние связности, поэтому деградировавший прокси видно заранее, а не через тикеты поддержки.

Почему прокси вообще важны

Entergram работает на настоящих личных аккаунтах Telegram, и каждый такой аккаунт ходит через свой уникальный прокси. Для команды это не техническая мелочь. Когда аккаунт внезапно меняет сетевой маршрут, Telegram воспринимает это как подозрительную активность, и растёт риск ограничений на номер. Именно поэтому предсказуемый статический IP для важных аккаунтов и своевременная замена деградировавшего прокси напрямую влияют на доставляемость рассылок и на то, доживёт ли аккаунт до конца квартала без сюрпризов.

Производительность: быстрее и стабильнее на больших пространствах

Стабилизация ws-v2 для пространств с большим объёмом

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

Значки «Требуется переподключение» больше не срабатывают ложно

В нагруженных пространствах аккаунты показывали значок «Требуется переподключение / Отключено», хотя серверная MTProto-сессия была жива и обслуживала трафик. Операторы нажимали «Переподключить», запускали лишний вход и иногда упирались в ограничение FLOOD_WAIT на номере телефона. Теперь значок появляется только при настоящей проблеме со связью.

Исправления: сообщения и чаты

Голосовые сообщения снова воспроизводятся. Входящие аудио падали молча, кнопка воспроизведения ничего не делала. Исправлено во всех типах чатов. (DEV-133)

Ошибки «Socket closed» устранены. Несколько пространств получали жёсткие обрывы связи с ошибкой контекста chat.subscribe. Логика переподключения сокета стала стабильной. (DEV-120)

История супергрупп и каналов загружается корректно. Навигация в супергруппах вызывала ошибки «Invalid realtime command payload» на пути history.around, когда фронтенд отправлял подсказки о собеседнике (entity_class_name), которые шлюз не распознавал. Исправлено на уровне шлюза. (DEV-168, PRODUCT-121)

Страница больше не зависает во время переписки и пересылки. Целый класс зависаний с последующей перезагрузкой у операторов прямо посреди разговора устранён. (DEV-143)

Статус «в сети» стал согласованным. Индикатор присутствия в таблице чатов и в шапке чата читали данные из разных источников. Теперь у них одно общее вычисленное состояние. (DEV-186)

Правильные имена отправителей в групповых чатах. Над сообщениями в группах иногда показывался чужой username Telegram. Исправлено на путях chat_list.window.snapshot и live_chat_list.delta. (DEV-192)

Счётчики непрочитанного стали точными. В нескольких сценариях бейдж завышал число: например, вы отправили 2 сообщения, а видели 5 непрочитанных. Теперь счётчик корректно сходится после переподключений. (DEV-135)

Дубли сообщений исправлены. Когда два и более подключённых аккаунта состояли в одном чате, одно сообщение могло отображаться дважды. Это был баг дедупликации на фронтенде, а не проблема слияния данных между аккаунтами. Исправлено. (DEV-183)

Запасной отправитель и авторы реакций определяются верно. В истории иногда показывалась подпись other у входящих сообщений, а всплывающее окно реакций зависало на «Loading reactions». Обе проблемы устранены. (DEV-156)

Чаты остаются в папке после вашего ответа. Папки с флагом «Исключать прочитанные чаты» выбрасывали чат сразу после ответа оператора, и разговор исчезал прямо во время работы. Теперь папка удерживает отвеченные чаты, пока вы не перейдёте в другое место. (DEV-178)

MCP пишет новым контактам. Интеграция MCP отдавала ошибку при попытке отправить сообщение контакту Telegram, с которым вы раньше не переписывались. Первая отправка теперь работает корректно. (DEV-141)

Исправления: подключения и сессии

Мёртвые сессии восстанавливаются сами. Баг в логике учёта ёмкости маршрутов у session-agent (observeRoutes) приводил к тому, что часть сессий переставала перезапускаться после падения. Затронутые аккаунты отвечали nats: no responders на любой запрос истории или папок, и перезапуск агента не помогал. Голодание устранено, мёртвые сессии оживают сами. (DEV-139)

Диалог подключения ws-v2 больше не заваливает вас ошибками 400. Из-за проблемы с таймингами цикл опроса при подключении аккаунта продолжал запрашивать несуществующий идентификатор сессии авторизации и выдавал сотни уведомлений API request failed: 400 за одну сессию. Исправлено в жизненном цикле опроса. (DEV-181)

Статус прокси корректно отображается в настройках. Индикатор прокси застревал в состоянии загрузки при каждом открытии страницы настроек, даже для здоровых подключений. Теперь он показывает реальное состояние. (DEV-154)

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

Присоединиться к пространству теперь можно надёжно. Падение React с ошибкой максимальной глубины обновления (#185) срабатывало, когда новый пользователь попадал в таблицу чатов CRM сразу после присоединения. Причиной была ссылка на массив, которая пересоздавалась внутри определения CHAT_PAGE_SIZE_OPTIONS; теперь она вынесена за цикл рендера. (DEV-165, DEV-167)

Принятие приглашения при онбординге исправлено. Пользователи, которые вставляли ссылку-приглашение во время онбординга, могли пройти его до конца, так и не попав в нужное пространство: они оказывались в пустом личном пространстве, а затем получали падение при переходе в Настройки и таблицу чатов. Логика принятия приглашения и редиректа теперь корректна. (DEV-170)

Удалённые пользователи больше не возвращаются. Участники, которых удалили или которые вышли сами, снова оказывались в пространстве после каждого обновления страницы из-за устаревшей сессии по ссылке-приглашению. Эндпоинт /api/onboarding теперь проверяет статус членства перед повторным присоединением. (DEV-175)

Исправления: настройки аккаунта

Запрос на смену 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)

«Время с первого входящего сообщения» считается от Telegram, а не от открытия приложения. Специальная колонка запускала отсчёт с момента, когда вы открыли Entergram, а не с момента получения сообщения в Telegram. Источник отметки времени исправлен. (DEV-162)

Что проверить у себя после обновления

Неделя получилась настолько насыщенной исправлениями, что имеет смысл потратить десять минут и убедиться, что всё встало как надо.

  1. Откройте таблицу чатов на самом большом пространстве и просто прокрутите её. Если раньше вкладка подтормаживала на первых секундах загрузки, разница будет заметна без всяких измерений.
  2. Пройдите по подключённым аккаунтам и посмотрите на значки состояния. Всё, что теперь показывает «Требуется переподключение», действительно требует внимания, так что ложных срабатываний быть не должно.
  3. Не жмите «Переподключить» по привычке. Лишний вход по номеру повышает шанс поймать FLOOD_WAIT, и после этой недели такой привычке больше нет оправдания.
  4. Проверьте папку с включённым исключением прочитанных чатов: ответьте в одном из чатов и убедитесь, что он остался на месте.
  5. Если вы пользуетесь колонкой со временем с первого входящего сообщения для контроля скорости реакции, пересмотрите её значения. Цифры теперь считаются от Telegram и могут отличаться от того, к чему вы привыкли.
  6. Владельцам на пробном периоде: если вы упирались в ошибку при покупке мест, повторите попытку. Сначала оформляется подписка владельца, затем докупаются места.

Немного контекста для команд, которые растут

Большая часть этой недели ушла не на новые экраны, а на то, чтобы продукт спокойно держал десятки подключённых аккаунтов в одном интерфейсе. Это и есть основной сценарий Entergram: единые входящие поверх множества настоящих личных аккаунтов Telegram, без переключения между ними и с фильтрацией по аккаунту, когда нужно сузить обзор.

Чем больше аккаунтов в пространстве, тем дороже обходится каждая мелкая неточность. Один лишний всплеск запросов при загрузке папок превращается в секунды заблокированного интерфейса. Один ложный значок отключения превращается в лишний вход и риск ограничений на номере. Один сбитый счётчик непрочитанного заставляет команду перепроверять руками то, что должно быть видно с первого взгляда. Поэтому мы считаем эту неделю продуктовой, а не только технической.

Если вы ведёте продажи или поддержку в Telegram и присматриваетесь к тому, как всё это выглядит целиком, начните с Telegram CRM и раздела про работу с несколькими аккаунтами.

Полный список изменений

Полный changelog версии v0.16.0 и всех предыдущих релизов доступен на странице «Что нового» Entergram.

Денис, CEO Entergram
Denis

Сооснователь и CEO Entergram

Денис является сооснователем и CEO Entergram. Он давно пользуется Telegram, руководит продуктовой стратегией и пишет об операционных и продуктовых решениях для Telegram CRM, автоматизации и работы с несколькими аккаунтами.

Jun 25, 2026 · 8 мин чтения

Читать далее

Готовы улучшить рабочий процесс в Telegram?

Не упустите еще одного лида. Не потеряйте еще одно сообщение.

Начать работу с Entergram