Pull to refresh

Comments 23

Разбор примеров - отличный. Правда я пропустил длинное вступление. А вот с примерами багов и их объяснением - было интересно.

Благодарю за ваш комментарий! Приятно видеть что не зря столько работы было сделано) А вступление о том что надо чаще код проверять) просто многие спрашивают зачем)

Telegram Desktop под Windows — это шедевр во всех смыслах. Обновляешь драйвер видеокарты, у тебя клиент либо падает, либо отваливается до перезапуска клиента целиком возможность просмотра медиа на весь экран. А если клиент таки падает, то ты не успеваешь вытащить крашрепорт, потому что окно о ненормальном завершении работы исчезает сразу же.

На Windows 10/11 из-за отсутствующей (физически) рамки окон, если не использовать системную рамку, можно при прокрутке списка чатов или сообщений устроить землетрясение с артефактами по краю окна в том месте, где как раз должна была быть рамка.

Это прям отличное дополнение к статье, благодарю!) Как раз, когда будем передавать инфу разработчикам, они надеюсь прочитают ваш комменатрий!)))

UFO landed and left these words here

У меня на 11 Винде в таск бар его нельзя свернуть..

Ну все-таки телеграмм не просто банальный мессенджер с текстовыми сообщениями. Там есть поддержка аппаратного ускорения декодирования видео. Причем в нескольких вариантах.

Ребята старались.

Не декодирования видео, а отрисовки интерфейса. Но это фича больше от qt им досталась

Я конечно исходники не смотрел, но русским по белому написано

Hardware accelerating video decoding


на Linux ПКМ по чату может просто иксы уронить, так что под винду ещё нормально)

У вас проблема точно не в иксах? А то у меня после обновления redos одна специфичная программа на яве воспроизводимо роняла иксы. Пришлось откатывать обновившийся пакет с иксами.

Последнее замечание, кстати, не факт что актуальное. Возможно, флаг этот вводится для реализации как-то побочного эффекта (индикатора и т.п.)
Надо смотреть его тип и если он atomic или volatile и значение используется где-то ещё, то это явно не ошибка

Благодарю, я проверю ещё раз данный фрагмент)

Баг на Андройде в поиске по словам уже давно - когда начинаешь листать, перескакивает на поиск людей.

Насколько правдив корпоративный миф о гениальности Николая Дурова как разработчика? В последнее время постоянно встречаю это утверждение на разных ресурсах. Я на C++ не пишу, поэтому мне сложно оценить код на best practice, сложность и т.п.

Ну и в чём причина минусов? В статье про код телеграма я спросил про качество и уровень кода.

Вероятно в симпатиях к Дурову )

Довольно много ошибок имхо из-за используемого стиля. Вроде const auto foo =, где теряется что foo это указатель, и дальше его пытаются использовать как объект, что такое объявление "помогает" не заметить. Я обычно оставляю const auto* foo =.

Из подобных статей (по анализу C++/C# кода), на удивление, очень приятный читабельный код, без имён длиной на 40 символов, без венгерской именования, использование auto.
Отсутствие legacy творит чудеса.

Легаси - понятие очень и очень относительное. Когда любое легаси писалось, оно практически наверняка не было легаси.

Незнаю насколько это важно или интересно вам дорогие читатели, поэтому просто оставлю эту информацию здесь. Мне было очень приятно работать с проектом Telegram и писать эту статью. Однако, ещё приятнее стало в тот самый момент, когда проблемы были исправлены. Как и всегда, информация по найденным ошибкам передается разработчикам проекта, и довольно часто найденные ошибки быстро исправляются по той простой причине, что становятся очевидными. А вот и тот самый коммит с исправлениями =) Конечно это капля в море коммитов проекта, но всё равно приятно)

Получается все оперативно исправили?

Да, не всё, конечно, возможно там ещё много чего исправлено, это коммит закрывающий issue=)

Sign up to leave a comment.