Жалобы любительской техподдержки
S.Раздражение написалось легче, чем #пидор_стори - я ещё должен, но нет идей, про что писать, так как жизнь размеренная. Может потом про работу сопровождающим почтальоном расскажу, так хоть как-то не-рутинно.
А у меня телега продолжает глотать (молчать, гусары) переписку. Так что я ночные мессаги традиционно не могу прочесть.
Да он меня бесит, так как так не бывает. Да и это тот случай, когда юзер не сотрудничает с помощью. Если ты видишь какой-то сверхъестественный случай, то ты как-то реагируешь. Особенно если ты его видишь постоянно.
Возможно таким людям проще, так как они не в курсе, что это невозможно.
А больше всего меня бесит это: "вот у меня очень серьёзная проблема, но я просто буду с ней жить, ничего не делая - ведь это так прикольно". А у меня из-за незакрытых проблем проблема в голове остаётся.
И так страшно, что вполне возможно, что есть ещё такие люди, которые думают, что "пропадание сообщений" - это просто неизбежная
Для начала, почему сообщения не могут в принципе пропадать?
Потому что это не грёбаный вайбер, это не смс. Конкретно в супергруппе сообщения находятся не у тебя. Они не могут "пропасть", так как по факту каждая супергруппа и каждый канал - есть большой забор длиной в миллион сто тысяч отображаемых сообщений. И вы можете на этом заборе писать. Если Кот удаляет сообщения, то он не вырывает доски из забора, а просто поверх сообщения пишет "тут ничего нет". Если вы удаляете свои сообщения, то вы поверх них пишете "тут ничего нет". А админы ещё 48 часов могут со своей стороны рассмотреть всё, пока краска не застыла. Можно со своей стороны нажать "очистить историю чата" - ты себе сам ставишь ограничение "всё, что раньше этого пункта мне не показывать", и конкретно ты никогда не увидишь всей истории чата, пока не сделаешь новый аккаунт.
И на этом заборе у каждого сообщения есть порядковый номер. Если бы у нас был бы юзернейм (публичная группа), я бы это наглядно продемонстрировал, а так могу показать на примере публичного канала.
https://t.me/nya_ch/4965 - на канале 4965 сообщений было опубликовано на момент написания этого сообщения(включая системное первое о создании канала).
А вот сообщение номер https://t.me/nya_ch/1744 - даже если все сообщения до него "удалить", порядковый номер у него не меняется. Потому что так работает телега - есть сообщение, у него есть номер чата / канала и номер по порядку. Ты можешь закрасить сколько хочешь досок, но сообщение подписано по порядку.
А теперь к вопросу, почему сообщение не может пропасть.
Ты был в группе, и допустим видел сообщение номер 28561 последним. Потом отключил интернет и ушёл спать на 100 лет.
Когда ты включишь интернет, есть два варианта.
1. Если ты оставался на том же месте, телега говорит серверам "скачайте мне ближайшие Х сообщений от того места, где я нахожусь, + инфу об общем количестве, чтобы отобразить всего непрочитанных".
И уже в этом месте телега качает то, что находится впереди тебя, впереди сообщения номер 28561. Уже в этом месте не могут сообщения пропасть - ты их ещё только запрашиваешь, они ещё не находятся у тебя - они написаны на заборе, а ты просишь тебе показать забор с того, с которого я остановился. Вот сейчас меня пинганули, и "впереди меня" почти четыре тысячи непрочитанных.
2. Допустим ты зашел с другого клиента, с компа, через веб-браузер, с любого стороннего, с Х версии - дохрена вариантов. Это не вайбер, ёпт, не смс - сообщения написаны на заборе, а ты можешь залогиниться где угодно, чтобы их посмотреть.
Ты заходишь, и телега отправляет тебе "последнее прочитанное было номер 28561, а последнеее написаннное было номер 31000". Ты видишь разницу этих чисел как непрочитанное. Телега снова качает Х последних сообщений, и если ты зайдёшь в чат с непрочитанными, то ты говоришь "я видел сообщение номер 28561, покажите мне сообщение 28562 и ещё сто следующих." А когда будешь продвигаться дальше, скачаются следующие. И так далее. Снова видно, что эти сообщения не могут "пропасть" - их у тебя нет, они написаны на заборе, к которому ты подходишь с недочитанного места.
3. Что будет, если у тебя 4000 непрочитанных, как у меня, а ты нажал кнопку "в самый низ", как я, чтобы ответить?
Телега не будет качать каждое сообщение сразу, так как вдруг их там миллион. Она скачает Х сообщений после прочитанного в тот момент, когда ты зашёл в чат, + Х последних сообщений, когда ты переместился вниз. Как только ты захочешь посмотреть более ранние сообщения, это выражается в "подгрузите мне ещё Х сообщений, пока я к ним не дополз".
Сообщения не качаются "куда-то там", на андроиде они записываются в базу данных в папке data/data/org.telegram.(...)/files/cache4.db
Если сообщений много непрочитанных и незагруженных, так как ты всё промотал одной кнопкой, у них всё равно остаётся порядковый номер. И в базе данных видно, что у тебя на телефон скачан текст сообщений до 28561, а потом с 30000 и выше. Так как сообщений на телефоне нет, то при попытке к ним приблизиться, телефон их скачает. Попробуйте начать очень быстро отматывать чатик назад - увидите, как телега будет подтягивать сообщения, которых на телефоне нет. Но она будет подтягивать их по порядковым номерам, телега не может вам их "не показать".
4. И вот тут остаётся один вариант. Допустим все сообщения в базу данных скачались. Допустим у тебя мега-калечный телефон, у которого реально проблемы с внутренней памятью. И по невообразимой причине у него **каждый раз** повреждается база данных в `data/data/org.telegram.(...)/files/cache4.db`. И каждый раз повреждается только колонка с текстом сообщений, так что остаётся лишь запись "я качал все сообщения, вот они - пустое место". Вот это, ёпта, избирательное повреждени! Это "мой кот каждую ночь съедает страницы с домашкой, но только на этот день". Это невообразимое стечение обстоятельств, которое не может повторяться каждый день.
Может у человека телега на телефоне двухлетней давности, когда они базу данных в другом формате писали. На всякий случай последняя версия на андроиде - не меньше 4.8.5. За последние полгода нет репортов о проблемах с загрузкой сообщений.
И вот исключительно для последнего варианта, когда что-то происходит с базой данных, нужны пару проверок.
1. Если зайти в настройки телеги - данные и хранилище - storage usage (куда-то, короче, где у вас настройки кэша, который можно очистить - может на айфоне чуть иначе выглядит, но суть понятна). И там есть две кнопки "очистить кэш" - это удалить картиночки, видео и пр и пр, которые скачивались; в следующий раз, если вы отмотаете к этим картинкам, они скачаются заново. И есть вторая кнопка "очистить базу данных".
Эта кнопка - на случай "какая-то хрень повредила базу данных, и я ничего вообще не вижу" - очень проблематично повредить что-то частично. Она в базе данных удаляет всё и будет видно "были скачаны только последние сообщения, а остальное надо будет подгружать". И снова пункты один и два - ты отмотал к езагруженным сообщениям, они скачались. До тех пор, пока в базе данных не будет записи о всех номерах, которые ты захотел глянуть, ты не увидишь других. То есть нельзя сделать сообщение 28561 а потом сразу за ним идёт сообщение 30000 - будет кольцо загрузки крутиться, будут надписи "обновление...", проблемы с интернетом - надписи "подключение", нажав на которые напрямую попадёшь в настройки прокси, если чё. Но единственное, чего не будет - не будет "шло сообщение 1, а потом 101".
Даже если кот удалил абсолютно все сообщения (закрасил на заборе), то телега должна скачать надпись "сообщение 2 - пустое, сообщение 3 - пусто", и пока все не скачаются, дальше не пустит.
Если из телеги разлогиниться в настройках, то база данных стирается полностью, и после логина начнёт скачиваться всё по тому же принципу - ты захотел увидеть сообщения, они скачались по порядку.
2. Может прога какая-то странная и портит базу данных. Ну ок, чисто для проверки можно скачать уже официальный клиент Telegram X. Так можно гарантировать, что база данных не повреждается другим клиентом, и не повреждается самим телефоном - она чуть иначе записывается, но принцип тот же. Только что очистить базу нельзя, но ей повреждения такого рода не грозят, и на прям самый катастрофичный случай можно перелогиниться (или прогу переустановить, что равнозначно удалит базу, чтобы она качалась по новой).
Чтобы успокоить свою тревогу (а вдруг там сообщений действительно нет), можно в браузере закладку сделать на web.telegram.org - в любой момент можно увидеть, что сообщения есть там, где они есть.
Но это не должно понадобиться, из-за описанных выше вариантов, при которых не-двухлетняя телега не может "скрывать" сообщения.
А вот кто-то просто так живёт и ничего не делает. Несмотря на то, что ситуация пиздецоподобная - она невозможно при нормальной работе.
Это ты утром шкаф отрываешь, чтобы носки новые взять, а там прямой портал в ад пеклом дышит тебе в лицо. И ты такой: "задолбало, снова пойду без носков". Закрываешь шкаф, ставишь рядом с ним новый шкаф, куда складываешь вещи, так как в старом разрыв пространства и измерений. А на следующее утро в новом шкафу портал. И ты заводишь коробку для вещей рядом со шкафом, но только до следующего утра.