fix(ui): reflect update availability and config changes; expand mobile player metadata
ci / api / api (push) Successful in 50s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m0s
ci / db / db (push) Successful in 58s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m27s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m39s
ci / ts / ts (packages + web) (push) Successful in 2m40s

This commit is contained in:
mrleo1nid committed 2026-10-23 00:20:59 +03:00
1 parent bc55528afd
commit a6c9fd8a00
30 files changed
+833 -395

No files matched your search

+14
View File
@@ -76,6 +76,14 @@ cd /opt/pipu-music/deploy && sudo bash ./install-management.sh
* **Выбрать версию** — конкретный релизный тег, включая release candidate.
* **main** — текущий commit ветки main.
Кнопка установки появляется только если выбранный commit отличается от работающего
и переход не является откатом. Для `main` сравнивается SHA, для релиза — SHA тега.
Одинаковая версия, более новая установленная сборка, ошибка проверки и неопределённый
commit не предлагают установку. «Проверить обновления» обходит кэш refs.
Работающий API передаёт свою встроенную revision; для прежних сборок агент разрешает
hash из git-describe или локальный релизный тег. HEAD checkout и PIPU_VERSION в .env
не считаются доказательством установленного commit, поскольку сборка могла не удаться.
Обновления устанавливаются только по нажатию кнопки и после подтверждения.
Перед запуском агент повторно читает refs и фиксирует SHA; update.sh проверяет,
что полученный commit совпадает. Выбранный источник не перезаписывает origin
@@ -125,6 +133,12 @@ API, общие параметры сервисов, рекомендатель
и изменение служебных параметров отклоняются. Сохраняемые значения трактуются
буквально: подстановки shell не выполняются.
Панель сохранения появляется только при отличиях от исходных локальных значений.
После возврата прежних значений она исчезает. Сохранённые изменения, влияющие на
итоговую конфигурацию, показывают отдельное действие применения. Пустой config.local,
комментарии, явное значение по умолчанию или значение, перекрытое .env, сами по себе
не требуют перезапуска.
Кнопка **Применить и перезапустить** отдельно подтверждает пересоздание контейнеров.
Агент запускает `apply-config.sh`, ждёт `/readyz` и сохраняет результат. Если сервисы
не стали готовы, состояние — ошибка; исправьте config.local или восстановите его
+5
View File
@@ -113,3 +113,8 @@ apps/web/src/
элементы); прогресс-бары подписаны через `aria-labelledby`;
- выезжающие панели (очередь) забирают фокус при открытии, закрываются по Escape и возвращают фокус на кнопку;
- `:focus-visible` — обводка акцентом; `prefers-reduced-motion` — анимации и Ambient выключены, волна замедлена.
На экранах уже 768 px веб-плеер использует два ряда: обложка, название и исполнители
занимают верхний ряд целиком, управление и дополнительные действия — нижний.
Высота строки плеера в каркасе адаптируется к содержимому для вариантов bar и island.