Вы наверняка замечали, что Telegram далеко не всегда ведет себя так, как ожидает пользователь. Иногда одни и те же действия приводят к разным результатам. Или ранее отключенная функция продолжает работать. А порой мессенджер и вовсе аварийно завершает свою работу. Почему так происходит и что из этого баг, а что фича? Рассказываем ниже.


Тысяча и один увед
Внимательные читатели наверняка обращали внимание на то, что количество уведомлений от очередного чата или паблика часто не соответствует реальному количеству новых сообщений/постов. И нет — дело не в удалении чего-то ранее опубликованного. В этом случае Телега как раз таки будет вести себя нормально и отнимет счетчик непрочитанного на соответствующее значение (с пушами отдельная тема, т. к. они выводятся не Телегой, а вашей ОС).
Почему же тогда так происходит? Ответ банален, но сокрыт от тех, кто ни разу не взаимодействовал с API Телеги. Все дело в том, что разрабы (не иначе как из-за ретроградного Меркурия — другого объяснения такому гениальному муву у автора нет) решили на уровне архитектуры мессенджера сделать каждое вложение отдельным постом. Да-да, каждая картинка, аудиозапись или документ — это отдельный, КАРЛ, пост!
О чем таком ты, автор, пишешь? Я же вижу один пост? Да, но нет. Наведите курсор на разные фрагменты этого поста и нажмите скопировать ссылку — вы заметите, что ID будут разные. Но самое странное, что каждый из этих ID будет относиться к родительскому посту. Проще говоря, если сделать пост с 3 картинками, а потом удалить первую — ее ID останется. А вот если удалить 2 или 3 — их ID пропадут. Именно из-за этого количеством уведов часто превышает видимое количество постов.
Трансмутация видео в gif
Еще одна странность Телеги возникает, когда пользователь пытается отправить видео. Он открывает меню вложений, прикрепляет видеофайл, отправляет сообщение и видит, как ролик магическим образом превращается в gif-анимацию. Раньше, к слову, было наоборот — gif-анимации превращались в видео без звука. Более того, у этого даже было обоснование — якобы это позволяет экономить до 95% вычислительной мощности. На деле же, разумеется, никакой экономии не было — ведь очевидно, что анимация, как и ее отрисовка, это легче, чем воспроизведение видеоролика.
Сегодня же можно наблюдать прямо противоположную ситуацию, когда видеоролик зачем-то превращается в анимацию. Здесь экономия производительности действительно есть — вот только юзеру, который хочет отправить ролик, от этого не легче. Баг ли это? С точки зрения пользовательского опыта — безусловно. Но разработчики давно забили на удобство юзеров, и в их понимании это фича. К счастью, здесь есть всего 2 (на самом деле 2 с половиной, но об этом позже) причины подобного явления:
Пользователь случайно отключил звук в окне редактирования ролика.
Видеоролик имеет длительность менее трех секунд.
Во всех остальных случаях ролик будет оставаться роликом. Но, как это обычно бывает, есть нюанс. Иногда на серверах Телеги что-то багует и gif-анимациями становятся ролики, которые не попадают под описанные выше критерии. Это и есть та самая «половина», упомянутая выше. К счастью, в большинстве случаев это фиксится простым перезаливом файла.
Так что да — это не баг, а фича. Пусть и мешающая жить многим людям.
Сброс редактирования
Раз уж мы заговорили об окне редактирования — нельзя не предупредить и о багах, связанных с ним. Каких? Банальных, но от этого не менее ужасных — оно «любит» просто сбрасывать внесенные правки. Причем происходит это без какой-либо системы — абсолютно рандомно.
Иногда вы можете отредачить огромную простыню текста без единой проблемы. А иногда можно просто сделать «жирным» текст в паре подзаголовков — и произойдет откат. Что это такое и как с этим бороться, мы не знаем. Можем посоветовать лишь как можно чаще сохранять изменения, если работаете с чем-то объемным или срочным.
Сантехник Васян теперь в Telegram
Многие, кто давал Телеге доступ к контакт-листу (а это практически все пользователи), сталкивались с назойливыми оповещениями о появлении кого-то там в Телеграме. Как так получилось, что эти самые кто-то там до 2025 года до сих пор не воспользовались мессенджером — оставим на откуп историкам будущего. Это не наша проблема. Но вот то, что эти уведы невозможно отключить — уже наша. Причем не помогает даже удаление контакта из телефонной книги или запрет Telegram на ее использование. Или помогает?
Многие из тех, кто с этим сталкивался, выберут первый вариант и скажут, что это не работает. И даже очистка кеша не помогает. Но на самом деле все работает — если вручную удалить целевой контакт из контакт-листа самой Телеги. Это можно сделать либо в разделе «Конфиденциальность», нажав на «Удалить импортированные контакты» — только предварительно нужно отключить их синхронизацию. Либо зайдя в раздел «Контакты» самой Телеги и найдя нужного человека.
Зачем все так усложнять? Все просто: чем сложнее юзеру будет что-то отключить, тем проще разработчикам отмазываться в вопросах хранения данных на серверах. Поэтому — это фича, а не баг. Но фича не для вас.
Разные клиенты (официальные)
А еще баги порождаются тем, что Телега — это как минимум 7 разных Телег.
Так, например, есть официальные версии клиента для:
Android;
iPhone;
iPad (да-да, и там, и там iOS, но прилы разные);
Windows;
Lite для MacOS;
Desktop для MacOS (та же фигня, что и для iOS);
Web (для браузера).
И это не портирование одного и того же функционала под разные платформы, а изначально абсолютно разные программы со схожим функционалом! Соответственно, одна и та же функция неизбежно будет работать по-разному в разных клиентах. Например, если на смартфоне доступна автозагрузка ролика при 35 Mb, то на десктопе лишь при 8 Mb — хотя казалось бы. ПК ведь априори мощнее... Но 8 Mb. А уж если вспомнить, что Android — это куча разных Android…
Разные клиенты (неофициальные)
Но это еще ладно — там речь хотя бы про официальные прилы. Но существуют десятки, если не сотни, неофициальных. Многие из них позиционируются как «взломанный Телеграм», однако в 99,9% случаев это не так. Их разработчики пользуются API самой Телеги. И уж сколько там дыр… Например, можно сделать так, чтобы «платный контент» загружался бесплатно. Или же чтобы в секретном чате можно было делать скрины и никто из его участников об этом не узнал.
И тут даже сложно сказать, баг это или фича — ведь многое из описанного выше делается через официальный API самой Телеги!
Скрины секретных чатов
Допустим, описанное выше — это просто что-то, что появилась случайно (ага — да), и переживающие о конфиденциальности пользователей разрабы (ага — да х2) обязательно это пофиксят в будущем (ага — да х3). Но что, если мы вам расскажем, что для того, чтоб заскринить секретный чат, не обязательно даже скачивать сторонний клиент Telegram? И нет, речь не про фото со второго телефона — достаточно просто переключить значение FLAG_SECURE в ядре Android. Аналогичное можно проделать и на Windows, и, скорее всего, даже на iOS (но это не точно).
И если вы думаете, что для этого нужно иметь какие-то суперспецифические знания — НЕТ! С этим может разобраться любой школьник. Не будет преувеличением заявить, что на подобное способны как минимум 5 из 10 ваших знакомых (а скорее всего, 99 из 100). Единственная защита вашей конфиденциальности — это то, что большинству пользователей это просто не нужно. Дело даже не в том, что им лень разбираться — им просто это не нужно. Но если что-то кому-то не нужно сегодня, это не значит, что оно не станет нужно завтра.
Баг ли это? Нет — это ОБМАН. Уж кто-кто, а разрабы Телеги точно в курсе, что так можно. Но они продолжают называть секретные чаты «защищенными». С таким же успехом можно было бы просто запретить распространять инфу из них в полиси.
Копирование защищенного контента
А еще «защищенный» от копирования контент можно копировать. И нет — речь не о создании его точной копии, как если бы мы, скажем, производили OCR-сканирование скриншота с текстом. Его можно буквально копировать из API. Все дело в том, что в момент передачи какого-либо «События», например, когда в канале появляется новый пост, инфа о нем передается клиентам по API. А «защищает» эту инфу лишь интерфейс самой Телеги. И тут можно либо воспользоваться ранее упомянутым сторонним мессенджером, либо вовсе ретранслировать эту инфу напрямую через API, просто передав значение в переменную.
Баг? Отнюдь — снова обман.
Бесплатное платное
Но вишенка на тортике — это так называемый платный контент. Благо, хотя бы тут через API получить инфу действительно нельзя — будет зашифрованный набор символов, не имеющий смысла. Однако можно переделать сам клиент (вспоминаем про сторонние клиенты) и отображать эту инфу так, как будто она и не была платной. И вот этот момент — самый триггерный для автора. Ведь если во всех остальных случаях страдают только пользователи, то в этом случае страдает сама Телега. Продажи ведь идут через их внутриплатформенную валюту — хоть тут можно было бы сделать нормально? Но нет — «платный» контент легко (ну ладно, не легко) делается бесплатным, а все возможные каналы со сливами множатся пачками каждый день.
Баг? Наверное, баг — ведь страдают интересы Телеги. Но больше похоже на: «и так сойдет».
Дуров не любит iPhone?
А еще чуть ли не с момента релиза самой первой версии клиента для iPhone и вплоть до сегодняшних дней адепты Apple сталкиваются с «вечной загрузкой» контента. Это когда ты заходишь в чат и вместо поста видишь его обрамление, но без текста или вложений. И здесь неискушенному во всех этих ваших айтишных темах юзеру может казаться «ну залагало — бывает». Но если копнуть глубже…
Обрамление ведь, пусть и пустое, но идеально ложится на размер текста/вложений. То есть сама прила понимает, какого размера должна быть подложка, чтобы текст или вложения корректно отображались. То есть инфа о контенте передается на гаджет пользователя. Но при этом сам контент не отображается. Баг это или фича — мы не знаем. Но факт того, что за 12 лет с этим так ничего и не сделали, заставляет думать, что Дуров просто издевается над владельцами iPhone. Ведь даже на iPad такого нет.
Подводя итоги
Пусть это и прозвучит пафосно, но все, что мы перечислили выше, лишь верхушка айсберга. Причем это выражение отлично иллюстрирует суть сабжа: ведь каждый из ранее описанных багов, подобно этой самой верхушке, видно невооруженным глазом обычного юзера. А уж что можно найти, если залезть в код — даже рассказывать страшно. Так что пусть Телега во многих вопросах и лучше аналогов — это далеко не идеал мессенджера. И, увы, даже не просто «нормальный» уровень. Помните об этом, когда будете использовать Telegram для чего-то важного.
А на этом у нас все! Пишите в комментариях, с какими странностями Телеги сталкивались вы и чем вы их сочли — багом или фичей?