
Обновления
Изменения клиента
Исправлены ошибки куков.
Исправлена ошибка авторизации, теперь каждая страница проверяет состояние входа.
При открытии несуществующего профиля выдаётся корректное сообщение.
Статика размеров баннера и плеера при первой загрузке страницы просмотра.
Изменения сервера
Баннера теперь не хранят оригинальные файлы а только оптимизированные.
Аватарки теперь ожидают минимальный размер.
Изменения интерфейса
Небольшие корректировки дизайна и фиксы.
Изменения клиента
Профиль теперь отображает состояния наличия премиума слева от username.
Исправления интерфейса.
Изменения клиента
Полностью перенесен функционал добавления участников состава во админ-панель.
Работа по миграции core-функционала управления сервисом во админ-панель завершена. На шаг ближе к релизу.
Полностью вырезан функционал управления участниками со страницы /actors. Теперь страница самостоятельна и только read-only.
Полностью вырезан функционал управления страницами с главной.
Полностью вырезан функционал управления сериями и видео со страницы просмотра.
Дублирования полностью сняты, функционал теперь располагается исключительно в админ-панели.
Изменения интерфейса
Корректировка дизайна карточек на /actors.
Изменения клиента
Изменёны и скорректированы параметры фильтров на главной странице.
Изменения сервера
Теперь изоображения на главной странице получают кеширование.
Скорректирован формат хранения ключей.
Изменения клиента
Оптимизирован глобальный тип юзера для клиента.
Изменения клиента
Обновлен глобальный favicon.
Favicon добавлен на админ-панель при свёрнутом состоянии.
Изменены оглавления вкладок на некоторых страницах.
Страница профиля теперь отображает дату создания аккаунта на главной вкладке.
Три вкладки на странице профиля были убраны, остались только Главная, Страницы, Настройки.
Страница просмотра теперь отдаёт баннер не в исходном качестве а с легким сжатием 75% WebP.
Изменения интерфейса
Небольшие фиксы.
Изменения сервера
Изменен маршрут отдачи профиля, добавлены сведения о статусе премиума и дате создания аккаунта.
Изменения интерфейса
Много визуальных корректировок.
Упрощение дизайна админ-панели.
Изменения клиента
Перенесён функционал управления сериями во админ-панель.
Изменения интерфейса
Небольшие корректировки дизайна и шрифтов.
Изменения клиента
unit2 теперь могут работать с /actors, разрешено добавлять/удалять только себя и редактировать только свои бейджики. unit3 по прежнему могут добавлять/удалять карточку для любого участника и редактировать бейджики для любого из существующих.
Оптимизация обращений к серверу на некоторых страницах.
Изменения сервера
Серверные изменения в сторону изоляции прав у /actors раздела.
Реализованы рейт-лимиты для Регистрации и Входа.
Реализованы рейт-лимиты для загрузки большого медиа, теперь они выполняются только в одном процессе за один момент времени.
Реализованы рейт-лимиты для загрузки маленького медиа.
Реализованы рейт-лимиты для обновления юзер-данных, включая бейджи на /actors и т.д.
Изменения клиента
Теперь вкладка Сраницы во админ-панели имеет функционал добавления/редактирования/удаления страниц.
Создание/Редактирование/Удаление медиа-страниц теперь требует $unit3 роль, $unit2 и ниже остаются в режиме только для чтения.
Изменения клиента
Фикс кнопки очистки на вкладке Юзеры во админ-панели.
Вкладка Страницы во админ-панели теперь отображает список существующих медиа-страниц в виде таблицы с названиями на русском и базовыми бейджиками как и на главной.
Изменения клиента
Клиент получил полноценную пагинацию элементов главной страницы со соответствующими контролами снизу.
Изменения интерфейса
Прочие UI фиксы.
Изменения сервера
Сервер теперь отдаёт limit и offset переменные для работы пагинации.
Бета
Всё ближе к приемлемому релизу. Начался перенос/дублирование редаческого функционала во админ панель для облегчения горячих страниц и реализации единого центра управления сервисом. Страницы так же начали получать естественные оптимизации сокращения памяти, скорости загрузки и выдачи. Я устал...
Изменения клиента
Изменено представление /actors в табличный вид. Контейнер с бейджиками имеет горизонтальный скролл. Кнопка удаления появляется только для соответствующих ролей и теперь показывает предупреждение перед нажатием.
Изменения клиента
Значительные оптимизации иконок и изоображений для оптимизации загрузки.
Оптимизация загрузки карточек главной страницы при первом показе, механизм загрузки полностью переведён на SSR.
Стабилизация CLS на выдаче карточек главной страницы.
Оптимизация страницы /actors на выдачу при первом показе
Изменения сервера
Добавлены соответствующие маршруты для /production страницы.
База данных сохраняет все состояния и страницы.
Изменения клиента
Добавлены страницы /production и /production/[slug]
Устранения ряда визуальных багов и проблем.
Изменения интерфейса
Расширена глубина контрастности всего дизайна к запланированному изначально виду.
Переработка многих элементов дизайна.
Изменения клиента
Добавлены Breadcrumbs на страницу /devlog, /rules и /privacy-policy
Обновлены Breadcrumbs на некоторых страницах.
Добавлены страничные оглавления для вкладок браузера.
Изменения сервера
Теперь загрузка/обновление баннеров принимает еще больше форматов для загрузки, но сервер в любом случае в итоговом формате будет отдавать webp формат.
Аватары теперь тоже имеют миниатюрные версии, и еще больше чем баннеры.
Изменения клиента
Версия сервиса теперь дополнительно отображается на глобальной плашке справа.
Изменения сервера
Теперь всякая заливка баннера на сервер будет создавать дополнительный уменьшенный экземпляр изоображения исключительно для отображения на главной странице во общем списке карточек с целью снизить нагрузку на графический процессор и сеть, в особенном случае полезнным для мобильных устройств. На самой странице медиа, изоображение баннера будет отдано в оригинальном качестве.
Изменения сервера
Сервер более не пропустит количество бейджиков более пяти для каждого юнита в actors.
Реализован серверный маршрут отдачи пользователей для админ панели.
Реализован серверный маршрут для изменения прав пользователей, доступный только для роли $unit4.
Архитектурная оптимизация для переназначения требуемых ролей для различных серверных эндпоинтов.
Изменения интерфейса
Иконка разворачивания сайдбара теперь корректно меняется в зависимости от состояния.
Реализована панель поиска пользователей с поиском по логину или имени, а так же фильтры для сортировки по ролям.
Вкладки во профиле переведены на сеточную разметку.
Исправлена проблема показа аватарок с разными размерами.
Исправлена изоляция показа страниц в профиле для пользователей с недостаточными правами.
Теперь редактирование никнейма соответствует тому же принципу что применяется и для описания.
Исправлена проблема отображения состояния Входа/Выхода в профиле для просмотра чужих аккаунтов.
Введен subgrid для actors.
Добавление или редактирование бейджиков в actors вынесено в модальное окно.
Добавлен Tooltip(?) на поле ввода пароля при регистрации.
Изменения интерфейса
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).
Системные изменения
Фикс проблемы входа и выхода из аккаунта, когда в памяти клиента сохранялись значения отображающие админские контролы при выходе и не отображении их сразу при входе, ранее это лечилось повторным запросом данных у сервера через перезагрузку страницы, теперь это не требует никаких действий со стороны клиента.
Приветствие
Начало ведения логов разработки.