Версия 1.16.1
v1.16.1 История версий стала подробной и читается без переходов
Страница «История версий» перестроена: у каждого изменения теперь есть заголовок, описание и отдельный блок «Результат», а сами версии сгруппированы по смыслу — «Что сделано», «Что исправлено», «Под капотом». Всё видно прямо в ленте при прокрутке, переходить на отдельную страницу версии не нужно, хотя такая страница по-прежнему есть и ссылается на неё кнопка внизу блока. Заодно исправлен кружок аккаунта на странице входа: вместо русской буквы имени в нём рисовался повреждённый знак.
Что сделано
Новые возможности платформы
-
Функционал
У каждого изменения видно, чем оно полезно
Запись в списке разбита на три части: заголовок — что поменяли, описание — как именно, и отдельный блок «Результат» — что это дало пользователю. Раньше польза от правки была зашита в один абзац и терялась, когда читали длинный список.
Результат видно не только факт изменения, но и его смысл — не приходится догадываться, зачем оно было
-
Функционал
Полный текст виден сразу, без открытия версии
Все версии в ленте приходят раскрытыми: можно прокручивать страницу и читать все описания подряд. Заголовок версии при этом сворачивает её одним нажатием, а кнопка над лентой сворачивает или разворачивает всё сразу.
Результат чтобы понять, что менялось, не нужно переходить на отдельную страницу и возвращаться обратно
-
Функционал
Изменения сгруппированы по смыслу
Внутри версии пункты разложены по разделам: «Что сделано» — новые возможности, «Что исправлено» — ошибки, «Под капотом» — работа с данными и инфраструктурой, «Этапы работы» — контрольные точки. Пустые разделы не показываются, порядок разделов одинаковый во всех версиях.
Результат в длинном списке легко ориентироваться: сразу понятно, где смотреть результат, а где — детали
-
Функционал
У версий появились человеческие заголовки и сводки
Раньше заголовок версии повторял текст первого пункта, и по ленте было не видно, о чём релиз. Теперь у версии есть своя короткая формулировка и сводка в одно-два предложения, а в шапке видны номер, дата, тип релиза и число изменений.
Результат лента читается как список релизов, а не как простыня правок
-
Функционал
Аккордеон работает с клавиатуры и на телефоне
Заголовок версии — это кнопка: она доступна с клавиатуры, объявляет своё состояние и сворачивает блок по нажатию Enter или Пробела. На узких экранах блоки перестраиваются в одну колонку, страница не выходит за границу экрана.
Результат страницей удобно пользоваться и без мыши, и с телефона
Что исправлено
Ошибки и неточности, которые больше не мешают
-
Исправление
В кружке аккаунта на странице входа вместо буквы имени появлялся вопросительный знак
Имя выводилось через обрезку строки по одному байту, а русская буква занимает два байта: оставалась половина символа, и браузер рисовал на месте буквы повреждённый знак. Теперь первую букву берёт функция, которая понимает русский текст целиком: «Владимир Ярошук» → «В», «Дмитрий Коваленко» → «Д».
Результат в кружке стоит буква имени, как и задумано, а не «?»
-
Исправление
Если имени нет, в кружке теперь значок человека, а не вопрос
Пустое имя или испорченные данные больше не превращаются в знак вопроса: если буквы нет, вместо неё рисуется значок человека из общего набора значков платформы.
Результат кружок аккаунта выглядит одинаково аккуратно в любом случае
Под капотом
Технические изменения, из-за которых это работает
-
Инфраструктура
Одна запись изменения вместо одного поля целиком
В таблице изменений вместо одного поля `text`, в которое весь пункт записывался строкой, появились отдельные `title`, `body` и `result`. Старое поле осталось заполненным собранным обратно текстом — на него завязаны сторонние выгрузки.
Результат структуру можно читать и разбирать программно, а не вытаскивать заголовок регулярными выражениями
-
Инфраструктура
Заполнение базы переведено на новую структуру и проверено на чистой базе
Скрипт `seed_changelog.php` раскладывает старые записи на заголовок, описание и результат, проверяет кодировку перед записью и не ломается, если запустить его повторно. Отдельно проверено, что скрипт работает на пустой базе — то есть установка с нуля проходит так же, как обновление существующей.
Результат на новом сервере история версий развернётся целиком, без ручной доводки
-
Инфраструктура
Правило многоязычного текста зафиксировано в методологии
В шаблонах запрещено обрезать русские строки по байту — только функциями с учётом кодировки; в кружке аватарки всегда буква или значок. Заодно проверены имена в базе: они целые, «Владимир Ярошук» и «Алексей Гапеев», — значит править данные не требовалось, испорченный вид возникал только при выводе на страницу.
Результат такая ошибка не повторится в следующих версиях
