Жалобы любительской техподдержки

Жалобы любительской техподдержки

S.

Раздражение написалось легче, чем #пидор_стори - я ещё должен, но нет идей, про что писать, так как жизнь размеренная. Может потом про работу сопровождающим почтальоном расскажу, так хоть как-то не-рутинно.

А у меня телега продолжает глотать (молчать, гусары) переписку. Так что я ночные мессаги традиционно не могу прочесть.

Да он меня бесит, так как так не бывает. Да и это тот случай, когда юзер не сотрудничает с помощью. Если ты видишь какой-то сверхъестественный случай, то ты как-то реагируешь. Особенно если ты его видишь постоянно.

Возможно таким людям проще, так как они не в курсе, что это невозможно.

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

И так страшно, что вполне возможно, что есть ещё такие люди, которые думают, что "пропадание сообщений" - это просто неизбежная


Для начала, почему сообщения не могут в принципе пропадать? 

Потому что это не грёбаный вайбер, это не смс. Конкретно в супергруппе сообщения находятся не у тебя. Они не могут "пропасть", так как по факту каждая супергруппа и каждый канал - есть большой забор длиной в миллион сто тысяч отображаемых сообщений. И вы можете на этом заборе писать. Если Кот удаляет сообщения, то он не вырывает доски из забора, а просто поверх сообщения пишет "тут ничего нет". Если вы удаляете свои сообщения, то вы поверх них пишете "тут ничего нет". А админы ещё 48 часов могут со своей стороны рассмотреть всё, пока краска не застыла. Можно со своей стороны нажать "очистить историю чата" - ты себе сам ставишь ограничение "всё, что раньше этого пункта мне не показывать", и конкретно ты никогда не увидишь всей истории чата, пока не сделаешь новый аккаунт.


И на этом заборе у каждого сообщения есть порядковый номер. Если бы у нас был бы юзернейм (публичная группа), я бы это наглядно продемонстрировал, а так могу показать на примере публичного канала.

https://t.me/nya_ch/4965 - на канале 4965 сообщений было опубликовано на момент написания этого сообщения(включая системное первое о создании канала).

А вот сообщение номер https://t.me/nya_ch/1744 - даже если все сообщения до него "удалить", порядковый номер у него не меняется. Потому что так работает телега - есть сообщение, у него есть номер чата / канала и номер по порядку. Ты можешь закрасить сколько хочешь досок, но сообщение подписано по порядку.

Номер 1744 оказался фоткой в альбоме. Альбом - это просто сообщения друг за другом, которые так отображаются. Так что предыдущая фотка - 1743, следующая - 1745


А теперь к вопросу, почему сообщение не может пропасть.

Ты был в группе, и допустим видел сообщение номер 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 - в любой момент можно увидеть, что сообщения есть там, где они есть.


Но это не должно понадобиться, из-за описанных выше вариантов, при которых не-двухлетняя телега не может "скрывать" сообщения.



А вот кто-то просто так живёт и ничего не делает. Несмотря на то, что ситуация пиздецоподобная - она невозможно при нормальной работе. 

Это ты утром шкаф отрываешь, чтобы носки новые взять, а там прямой портал в ад пеклом дышит тебе в лицо. И ты такой: "задолбало, снова пойду без носков". Закрываешь шкаф, ставишь рядом с ним новый шкаф, куда складываешь вещи, так как в старом разрыв пространства и измерений. А на следующее утро в новом шкафу портал. И ты заводишь коробку для вещей рядом со шкафом, но только до следующего утра.


Report Page