
Обновления
Изменения интерфейса
Performance issue исправление для карточек на главной странице.
Улучшение адаптивности карточек главной страницы на мобильных устройствах.
Переработаны стили для input элементов на более чистую и кросс-браузерную основу.
Поднят шрифт на примерные визуальные 1.5px вверх чтобы компенсировать его особенности.
Изменения интерфейса
Исправления для встроенного плеера.
Исправления для Kodik плеера.
Переструктуризация работы шрифтов.
Изменение фоновой анимации для улучшения производительности и стабильности сцены.
Исправление размеров иконок.
Исправление outline у BitsUI элементов.
Исправления outline у DropdownMenu Header.
Изменения клиента
Добавлен маршрут /admin
Добавлен маршрут /admin/panel
Реализована админ панель для управления сервисом из одного единого пространства.
Админ панель получила первичную реализацию поиска медиа по базе данных Kodik API.
Изменения сервера
Реализована поддержка поиска по Kodik API на стороне сервера.
По SSR защищен весь маршрут /admin правами $rule3.
Изменения интерфейса
Реализована админ панель с сайдбаром для сортировки категорий контента.
Изменения интерфейса
Полностью стандартизирована и обновлена система иконок для приведения их к одному виду.
Изменения сервера
Добавлена поддержка kodik api.
Изменена структура базы данных серий для хранения ссылки с kodik.
Изменения связанные с работой загрузки видео.
Изменения клиента
Добавлена поддержка kodik плеера.
Добавлен функционал смены плеера с обратной взаимозаменяемостью.
Добавлен функционал записии серии с kodik.
Изменен серверный механизм upload для видео, чтобы избежать двойное проксирование и позволить потоковую загрузку.
Устранен клиентский лимит размера тела запросов, для загрузки файлов.
Добавлено модальное окно отображающее прогресс загрузки видео на сервер, так же блокирующее взаимодействие со страницей и позволяющее отменить процесс.
Изменения интерфейса.
Изменена панель редактирования серии. Расширено превью серии.
Добавлено отображение title выбранной серии.
Изменен дизайн активного состояния страниц, перечисленных на header в центральном nav.
Безопасность
Улучшена безопасность маршрутов сервера ответственных за работу с выдачей видео.
Реализованы промежуточные слои для хранения изоображений и видео, для атомарной записи на сервер.
Изменения сервера
Изменение жизненного цикла серверных операций, одновременно затрагивающих базу данных и медиа-хранилище. Маршруты создания, обновления и удаления переведены на модель выполнения с контролируемым откатом.
Добавлен механизм восстановления незавершённых операций после непредвиденной остановки сервера. Система самостоятельно определяет актуальное состояние данных и завершает необходимую очистку либо возвращает рабочую версию ресурсов.
Пересобрана логика работы с файлами серий и релизов. Пустые сущности больше не требуют преждевременного создания структуры на диске, необходимые каталоги формируются по факту появления контента.
+1000~ строк кода.
Изменения медиа-хранилища
Загрузка баннеров, аватаров, превью и видео переведена на предварительную подготовку ресурса вне активной версии. Замена выполняется только после успешной записи и проверки нового содержимого, благодаря чему ошибка загрузки больше не уничтожает предыдущий рабочий файл.
Для составного видеоконтента реализована замена целого набора файлов как единого ресурса. Добавлена фоновая уборка временных, резервных и устаревших вариантов после штатного или аварийного завершения операции.
Чтение аватаров и превью стало устойчивым к остаточным версиям файлов, а накопление неиспользуемых копий предотвращается процедурой восстановления при запуске.
Безопасность и валидация
Вместо единого разрешения на крупные запросы введены отдельные ограничения для разных классов загрузок. Неподходящий объём запроса отклоняется до начала обработки multipart-формы.
Усилена проверка архивного видеоконтента: контролируются структура, количество элементов, объём после извлечения, аномалии сжатия и доступность ресурсов хранилища. Дополнительный контроль действует непосредственно во время записи данных.
Тип загружаемых изображений теперь определяется по фактической сигнатуре файла, а не только по данным клиента. Исправлена отдача MIME-типа стандартного аватара.
Удалена неиспользуемая зависимость, содержавшая известную уязвимость, а также связанный с предыдущими итерациями мёртвый код.
Оптимизация
Устранено линейное увеличение количества обращений к базе данных при получении каталога. Связанные данные теперь загружаются пакетно и группируются на стороне сервера без изменения формата ответа.
Изменения клиента
Перезалиты все медиа под новый стандарт загрузки совместно с тестированием этого процесса.
Изменения интерфейса
Добавлено отображение названия серии.
Корректировка дизайна и разметки отображения серий, а так же меню их редактирования.
Изменения сервера
Профилировние всего серверного кода. Исправлено 6 уязвимостей.
Глобальные изменения
Клиент приближается к релизу и выходит в Beta версию. Это означает что основной функционал приближается к начальному покрытию, а тестирование переводится на клиенскую часть.
Изменения интерфейса
Справа на окно страницы добавлена абсолютная плашка "BETA Version".
Добавлено поле для Email при регистрации аккаунта.
Изменения клиента
Теперь кнопка "Вход" на странице авторизации слушает инпут "Enter".
Регистрация теперь ожидает наличие почтового инпута.
Изменения сервера
База данных получила обязательную колонку email в таблице аккаунтов.
Переписан маршрут регистрации, теперь ожидается введение уникального email адреса с проверками на exists.
Усилена безопасность маршрута дополнительными проверками.
Изменения сервера
Добавлен маршрут отдачи карточек роута /actors
Добавлен маршрут создания карточки роута /actors
Добавлен маршрут удаления карточки роута /actors
Добавлен маршрут создания бейджика карточки роута /actors
Добавлен маршрут удаления бейджика карточки роута /actors
Добавлен маршрут редактирования бейджика карточки роута /actors
Для отдачи карточки, соответствующее изоображение берется по записи из базы данных с ограничением на кеширование для клиента.
Изменения клиента
Добавлено проксирование по маршруту запроса карточек роута /actors
Добавлено проксирование по маршруту создания карточки роута /actors
Добавлено проксирование по маршруту удаления карточки роута /actors
Добавлено проксирование по маршруту создания бейджика карточки роута /actors
Добавлено проксирование по маршруту удаления бейджика карточки роута /actors
Добавлено проксирование по маршруту редактирования бейджика карточки роута /actors
Добавлена инвалидация списка карточек для перерасчёта в кеше.
Изменения интерфейса
Для соответствующих ролей добавлена кнопка создания карточки по роуту /actors. Принимает login пользователя, проверяет его наличие в базе данных и в таблице [actors] для успешного создания объекта.
Реализована первоначальная версия сетки в пять колонок с адаптивностью под устройства с шириной экрана <= 1096px[4] и со ступеньями градаций по <= 860px[3], <= 620px[2], <= 380px[1].
Реализован первоначальный дизайн карточек с двумя секциями - аватаром и текстовой информацией. Аватар кликабельно реализует ссылку на роут /profile/[login].
Для соответствующих ролей на карточке добавлены контролы для удаления самой карточки и добавления бейджиков.
Для соответствующих ролей реализованы удобные инпуты для создания текстовой составляющей бейджика с серверным и клиентским ограничением в 14 символов, а так же доступные варианты цвета карточки.
Для соответствующих ролей уже существующие бейджики допустимы к редактированию, для перехода в режим редактирования достаточно нажать на соответствующий бейджик.
Реализованы ограничения видимости для всех возможных контролов связанных с изменением карточек и всего что к ним относится.
Небольшие корректировки дизайна на странице профиля пользователя.
Фикс некорректного отображения рамки карточек медиа на главной странице, рамки переведены в плоский стандартный формат.
Фикс некорректного отображения бейджиков карточек медиа на главной странице, связанного со значениями leading.
Тестирование
Проведена диагностика выделения и освобождения памяти сервером по всем маршрутам относящимся к /actors. Проблем не выявлено.
Изменения интерфейса
Корректировка фильтра поиска на главной странице под адаптивность на ширине < [400px].
Оптимизирован сборщик под production для уменьшения веса.
Изменения сборки
Замена сборщика на production билде для уменьшения веса бандла
Изменения интерфейса
Добавлена текущая страница обновлений по разработке, важна для сохранения логов.
Добавление Breadcrumbs для страниц.
Корректировки дизайна бейджиков на карточках главной страницы.
Корректировки цветов текста.
Фикс отрисовки рамки при border-radius у баннеров на странице медиа.
Корректировка рамки input названия на странице медиа для авторов.
Реализована адаптивность для страницы профиля для мобильных устройств (360DPI).
Системные изменения
Фикс проблемы входа и выхода из аккаунта, когда в памяти клиента сохранялись значения отображающие админские контролы при выходе и не отображении их сразу при входе, ранее это лечилось повторным запросом данных у сервера через перезагрузку страницы, теперь это не требует никаких действий со стороны клиента.
Приветствие
Начало ведения логов разработки.