Обновленное приложение Telegram оказалось нерабочим для некоторых пользователей iOS 12 Статьи редакции

Не спешите обновляться на Telegram 5.0.8.

Пользователи iPhone пожаловались на проблемы в работе новой версии мессенджера Telegram, которая появилась 28 сентября. На устройствах с актуальной iOS 12 приложение с версией 5.0.8 показывает белый экран и сразу закрывается.

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

@agenttbag007 Ah. This is sad, that was a different issue. The one cezjusay was having didn't involve a crash — just a perpertual white screen with high battery drain.

Telegram предполагает, что проблема могла возникнуть при миграции данных со старого приложения на новое, которое написано на языке Swift. Компания пока просит пользователей, которые столкнулись со сбоями, установить тестовую версию приложения, в которой проблема будет постепенно исправляться.

@agenttbag007 @cezjusay No, that's the whole point of this particular switch. Testflight warns you because you would've if we didn't provide for this. But we did. That's the reason things are not working well for you: something wrong in the migration from Obj-c app to Swift app. But the data will remain

@cezjusay OK, got it. Please wait — another version will become available in Test Flight soon that should fix this. Will ping you when it's out. Sorry about all of this!

Компания временно приостановила автоматическое обновление iOS-версии приложения. Пока установить обновление можно только вручную через страницу приложения в App Store, но лучше этого не делать.

@telegram @durov Oh mate! Print it out and stick it to PO/PM rooms 😁

Надпись на картинке: «Выкатывай в пятницу, говорили они. Всё будет в порядке, говорили они»

@Salehp @durov Not sure if this is relevant. Had this been a Tuesday, a lot more people would've been hit by the bug (btw, automatic distribution is currently stopped — only the people who manually go app's page on the store get the new version) (1/2)

Если бы мы [выкатывали новую версию приложения] во вторник, намного больше людей столкнулись бы с проблемой. Кстати, автоматическое обновление пока приостановлено.

@Salehp @durov So basically, it's the people who read about it in the media (as we didn't advertise via our own channels). And the media coverage would've been much more significant on a different day. So Friday is actually very helpful in this situation. (2/2)

Мы не анонсировали обновление по своим каналам, так что сбой возник только у тех, кто прочитал об обновлении в новостях. А в другие дни недели новостей обычно больше, так что выпуск приложения в пятницу на самом деле помог в этой ситуации.
0
59 комментариев
Написать комментарий...
Семен Смирнов

Тестеры у Пашки не проверяют обновление старой версии на новую и работу в разных версиях ОС

Подумаешь, аудитория в 200 миллионов человек

Ответить
Развернуть ветку
Shoo

Ну да, ведь что б небыло багов в проде достаточно просто тестить (на самом деле нет).

Ответить
Развернуть ветку
Алексей Оленев

А что еще надо?

Ответить
Развернуть ветку
Зеленый и громкий

Поднять и настроить облако для CI где билд будет на каждом симуляторе для последней версии системы прогоняться. Этого достаточно.

Ответить
Развернуть ветку
Shoo

Nope, но попытка хорошая.

Ответить
Развернуть ветку
Зеленый и громкий

Ok мой ответ был про то, что приложуха крашится, а не про баги.

Ответить
Развернуть ветку
Shoo

Приложуха крашится, но не у всех (это видно даже по комментам).
Если причина крэша в косой миграции данных с ObjC в Свифт -> это вопрос исключительно того, на каких конкретно данных оно валится.
Плюс, это кейс обновления, т.е. последняя версия оси + версия приложения X -> последняя версия приложения.
(А они не всегда обновляются инкрементально, может быть гэп на N версий, и только на миграции с одной конкретной версии всё будет лететь к чертям).
В общем, всё немного сложнее. :)

Ответить
Развернуть ветку
Зеленый и громкий

Про какую такую миграцию objc->swift идет речь, не совсем понял? Насчет баз данных. Миграция баз данных тестируется от одной версии модели к другой. Если прилетает апдейт с моделью версии 10, а у пользователя 7, то не происходит миграции 7-10, а происходит 7-8-9-10. И каждый переход должен быть протестирован.

Ответить
Развернуть ветку
Shoo

Про ту, которая "официальная версия":

something wrong in the migration from Obj-c app to Swift app.

Данные - это не только БД, где миграшки накатываются инкрементом.

Ответить
Развернуть ветку
Зеленый и громкий

То есть ты намекаешь на то, что objc рантайм оставил свой след на девайсах юзеров и отравил собой новую версию на swift? Какая-то антинаучная хуйня, извини конечно. Я уверен, что все намного прозаичнее ;)

Ответить
Развернуть ветку
Shoo

Я намекаю на то, что обработка данных базки и локал(или персистент)сторыджа в рантайме obj-c и свифта - сильно разные, причем далеко не всегда напрямую кастуемые между собой.
Как, например, и работа с памятью и потоками.

Ответить
Развернуть ветку
Зеленый и громкий

Начнем с того, что swift как язык программирования, не имеет никакого отношения к тредам и очередям, предоставляемыми Dispatch фреймворком от Apple. Это для затравки, так сказать, чтобы задать нужный тон.

Можно мне пример разного рантайма для CoreData для objc и swift?

Ну и для потоков, например.

Ответить
Развернуть ветку
Shoo

Можно почитать про разницу работы ARC в Свифте и Обджектив С, в частности с тем как эффективно работать с strong references, которые, например, прокидываются по дефолту в кордате.

Ответить
Развернуть ветку
Зеленый и громкий

Понятно) вопросов больше нет. Это не ты случайно писал ios приложение для vc? Как-то прям звезды сходятся.

Ответить
Развернуть ветку
Shoo

Случайно не я, но пару раз приходилось бедажить убитые арком указатели.

Ответить
Развернуть ветку
56 комментариев
Раскрывать всегда