Дневник разработки: Январь Материал редакции

Небольшой отчет о багфиксах и улучшениях, чтобы вы не думали, что мы тут пинаем баги.

В закладки

Мы решили периодически готовить посты для «Сломалось», в которых расскажем о работе по багам и о незначительных улучшениях, появившихся на DTF. Этот пост — тестовый выпуск, где я попробую рассказать чем мы занимались в середине и конце января.

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

А вот и небольшой список того, что было поправлено на сайте и в приложениях за последние несколько недель. Добавил в него еще и щепотку новых фич.

Исправленные баги:

  • Пофиксили загрузку картинок в редакторе и в комментариях. Теперь везде грузятся с первого раза.
  • Нашли пустое место под некоторыми страницами в мобильной версии из-за одного блока и поправили его.
  • Хвостик у колокольчика в мобильной версии теперь на своем месте (да, были жалобы!).
  • Исправили еще несколько мест где поехала верстка из-за длинного ника того-кого-нельзя-называть.
  • Окошко со списком проголосовавших больше не прячется под другие элементы в ленте (хотя нет 100% вероятности, что этот баг не вылезет где-то еще).
  • У новых пользователей не работал мессенджер. Нашли проблему, починили и заодно активировали его всем новеньким еще раз.
  • В рейтинге теперь не считаются посты, опубликованные изначально не в блог пользователю.
  • Аудиоверсии статей снова работают.
  • Меню «Это не интересно» снова на своем месте в ленте (до этого оно съехало к левому краю).
  • Текст в редакторе вставляется в нужное место, а не на новую строчку.
  • Починили баг с невозможностью нормально написать длинный комментарий из-за переносов строк ведущих.
  • В AMP версии сайта теперь снова можно нажать на огненную кнопку «Комментарии» и перейти к материалу (до этого работало не всегда).

Приятные мелочи, которые не помещаются в отдельный пост:

  • В редакторе можно переносить блоки из материала в материал с сохранением форматирования.
  • Сделали новую кнопку «Наверх» (можно посмотреть наведя мышкой в левый край экрана).
  • Добавили удобное мини-окно для мессенджера, которое открывается по нажатию на диалог.
  • Пункт о скрытии профиля со страницы спонсоров DTF в настройках платных функций теперь называется «Скрыть мой Plus от других пользователей». Помимо аватарки на странице спонсоров он скрывает и бейдж Plus от других пользователе.
  • Появилось скрытие никнейма в комментариях и в авторстве материалов для пользователей, которые поставили в настройках платных функций галочку «Скрыть профиль от поисковиков и анонимных пользователей».
Как выглядят комментарии для анонимного пользователя
  • Новая версия рейтинга. Добавлен топ комментаторов, рейтинг за все время, убрали тренд и сделали стрелочки, которые показывают изменения позиции пользователя. Протестировать можно тут.

iOS

  • Добавили мессенджер.
  • Редактирование аттачей в комментариях теперь снова работает.
  • Исправили мерцание комментариев.
  • Дополнительно к оценкам свайпами вывели кнопки голосования для комментариев.
  • Добавлена информация о банах в редакторе и в поле комментария.
  • Авторизация и регистрация по почте.
  • Починили пуши в приложении. P.S. по этой же причине начались баги с очередями (медленно работает бот Дикого запада или колокольчик, например), мы оперативно чиним.

Android

  • Добавили мессенджер.
  • Редактирование аттачей в комментариях теперь снова работает.
  • Cтатусы онлайн у пользователей в комментариях.
  • Изменен цвет скроллбара в темной теме.
  • Клавиатура теперь показывается при открытии экрана поиска ЧС.
  • Клик по лайкам в твиттере открывает список лайкнувших твит.
  • Исправлено отображение имени в блоке инстаграма.
  • Добавлена информация о банах в редакторе и в поле комментария.
  • Исправлена загрузка комментариев на версиях 4.4-6.0.
  • Звук теперь не выключается при повторе видео.
  • Авторизация и регистрация по почте.
  • Нашли проблему с энергопотреблением. Готов предполагаемый фикс, ждем релиза.
{ "author_name": "Александр Хнычков", "author_type": "editor", "tags": ["\u0434\u043d\u0435\u0432\u043d\u0438\u043a\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438"], "comments": 41, "likes": 22, "favorites": 10, "is_advertisement": false, "subsite_label": "bugs", "id": 101174, "is_wide": false, "is_ugc": false, "date": "Fri, 07 Feb 2020 19:26:37 +0300", "is_special": false }
0
{ "id": 101174, "author_id": 60253, "diff_limit": 1000, "urls": {"diff":"\/comments\/101174\/get","add":"\/comments\/101174\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/101174"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64969, "last_count_and_date": null }
41 комментарий
Популярные
По порядку
Написать комментарий...
16

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

Ответить
1

а мне нравится опциональность заголовков(:

Ответить
4

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

Ответить
1

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

Ответить
1

Тогда такой вопрос. Если Денис назвал это «опциональностью», то зачем фичу с отсутствием заголовков делать принудительной в приложении?
Одно с другим не вяжется.

Ответить
0

Ну заголовки все же можно добавлять, их никто не убирал полностью. Это опциональность. 
В приложении редактор еще хуже, чем в мобильной версии (там просто неудобно), так что это просто еще одна урезанная фича мобильного редактора, ничего принципиально нового. 

Ответить
0

Ну я понимаю, что редактор в принципе порезанный.
Но нафига его еще сильнее при этом урезать и «опциональностью» это называть.
Эй, @Orzemes Mirzov ?

Ответить
8

Пост без галочки, поэтому сначала подумал какой-то нонейм прикалывается и до последнего ждал в тексте пасхалки вроде "Добавили темную тему", или "Забанили Елистратова".

А вообще инициативу с дневниками поддерживаю.

Ответить
14

Я пришел сюда чтобы добавить темную тему и забанить Елистратова. Как видишь, Вадим пока ничего не написал за сегодня

Ответить
0

٩(ఠ益ఠ)۶

Ответить
0

У меня вопрос. С каких пор "опционально" = "ещё раз обрезали и так обрезанное приложение"? Вы просто взяли и вырезали эту фичу и даже не написали об этом в пачноуте и сообщили только СЕЙЧАС.
Почему вы убрали возможность удобно комментить в приложении?
Зачем в статье ДВЕ кнопки добавить в закладки?
Зачем убрали возможность менять подсайт при редактировании?

Ответить
–2

И так 24/7 как белка в колесе

Ответить
2

Наконец-то заработали пуши на ответы в комментах!!! Ура!!!

Но только они не пропадают если я на компе уведомления открыл и прочитал

Ответить
1

Это все еще сломано. 

Ответить
2

Тем временем @Denis Shiryaev ...

Ответить
1

Превью на мобилках у видео топ.

Ответить
1

Используйте мобильную версию для iPad

Ответить
1

 Мы решили периодически готовить посты для «Сломалось»

Да неужели, наконец-то конструктивный фидбек. Через годик, глядишь, баунти появится.

Пользуясь случаем, задам вопрос - нет ли у вас такого же "подсайта", как apitest, только для обычных тестов (скажем, интерфейса или каких-то функций)?

Ответить
2

Баунти за секьюрити вещи есть всю историю сайта, пиши на ds@cmtt.ru если найдешь дыры (не баги)

Ответить
0

А я так и не получил свой баунти за найденную дыру (((

Ответить
0

Напиши про нее на почту пожалуйста

Ответить
0

Да это ровно год назад было, не вижу смысла засорять почту такими древностями. Там про ответ запроса subsite было, я в телегу писал.
Мне это сейчас больше повод поехидничать :^)

Ответить
1

Пользуясь случаем попрошу дать возможность скрывать левую колонку со статьями на iPad хотя бы в портретной ориентации, плиз 🥺

Ответить
0

Лучше бы кнопку «назад» добавили

Ответить
0

Теперь можно зарегистрироваться и авторизоваться на TJ через почту с паролем.

Спасибо, блять. Именно этого на ДТФ мне и не хватало.

Ответить
1

Упс ¯\_(ツ)_/¯ Поправил, спасибо

Ответить
0

Напишу сюда, в комментах можно добавлять файлы формата .mp4 и .webm, но в личке нельзя.

Ответить
1

Мы пока не поддерживаем загрузку видео в мессенджере. 

Ответить
0

 Пофиксили загрузку картинок в редакторе и в комментариях. Теперь везде грузятся с первого раза.

Как давно это починили? Буквально вчера не мог загрузить фотки.

Ответить
0

Около недели назад. А расскажи подробнее где именно была проблема и что происходило, пожалуйста

Ответить
0

 Сделали новую кнопку «Наверх» (можно посмотреть наведя мышкой в левый край экрана).

Которую я случайно заметил, когда лез к панели управления, которая у меня на экран слева

Ответить
0

Александр, у меня технический вопрос по браузер-версии, давно хотел спросить.
Как у вас реализуются перехваты кликов, например в выпадающем меню при нажатии стрелки рядом с аватаркой?
Вот например в этом меню на скрине, там список, в котором элементы списка с классом "dropdown_list__item". Я полагаю у вас через JS клики по элементам списка должны выполнять переход на другие странички.
Дело в том, что у меня эти клики не работают в PaleMoon браузере. Пример выше - просто пример, на самом деле таких мест где не работают предполагаемые ссылки довольно много, но все они не сильно критичны и не особо мешают. К тому же понимаю, что у браузера доля минимальна и поэтому никто не будет это чинить.
Мне просто, как разработчику, интересно почему так может происходить.
Где-то еще помимо ваших сайтов за все долгие годы пользования этим браузером я таких проблем ни разу не встречал.

Ответить
0

В консоль (F12) что-нибудь пишет при этом?

Ответить
0

Не, я бы указал в посте, не пишет вообще ничего нигде.

Ответить
0

Нашли проблему с энергопотреблением. Готов предполагаемый фикс, ждем релиза.

Это гуд, а что насчет, прости господи, оптимизации? мой андроид стал просто умирать после обновы. Постоянные краши, зависания, единственное что еще не дымит

Ответить
0

Ты уверен, что ты не в бете? 

Ответить
0

абсолютно, держался до последнего без темной темы

Ответить
0

┐( ̄~ ̄)┌

Ответить
0

Я слишком часто вижу статьи типа "Сyle & Lynch" в андроид-версии, минор, понимаю, но драконит
там была сущность типа  & amp ;

Ответить
0

Знаем о баге. Пофиксим. 

Ответить

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovz", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "chvjx", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "chfbl", "p2": "gnwc" } } } ] { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwcm9qZWN0SWQiOiI1ZTRmZjUyNjYyOGE2Yzc4NDQxNWY0ZGMiLCJpYXQiOjE1ODI1MzY0Nzd9.BFsYFBgalfu_3oH9Fj-oBhiEgVx976VQfprRahAELFQ", "release": "44bde710" }
{ "jsPath": "/static/build/dtf.ru/specials/DeliveryCheats/js/all.min.js?v=05.02.2020", "cssPath": "/static/build/dtf.ru/specials/DeliveryCheats/styles/all.min.css?v=05.02.2020", "fontsPath": "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,700i&subset=cyrillic" }