Skip to content

v0.1.0-beta.3 — Связи системных полей и навигация

Pre-release
Pre-release

Choose a tag to compare

@Yniphe Yniphe released this 07 Oct 10:42
· 4 commits to main since this release

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

Что изменилось

  • Боковое меню на /settings учитывает скрытые коллекции, иерархию и права доступа так же, как остальные страницы админки.
  • Суперпользователь может добавить M2O-поле в разрешённую системную коллекцию через стандартную правую панель. Встроенные поля остаются защищёнными.
  • Дополнительные поля пользователя доступны прямо в карточке профиля в /admin/settings/users, с отдельной кнопкой сохранения. Для связей используется селектор записей с поиском.
  • Для связи создаются внешний ключ и индекс. Удаление связанной записи очищает поле, сохраняя системную запись; удаление целевой коллекции блокируется, пока существует связь.
  • Обновлены публичные контракты API, документация и переводы интерфейса.

Установка и обновление

Образы для linux/amd64:

ghcr.io/asmblyr/collaborative-core:0.1.0-beta.3
ghcr.io/asmblyr/collaborative-ui:0.1.0-beta.3

Helm-чарт: oci://ghcr.io/asmblyr/charts/collaborative, версия 0.1.0-beta.3.

helm upgrade --install collaborative oci://ghcr.io/asmblyr/charts/collaborative \
  --version 0.1.0-beta.3 --namespace collaborative \
  --values /private/collaborative-values.yaml \
  --set image.tag=0.1.0-beta.3 --wait --timeout 10m

Обновляйте Core и UI вместе. Новых миграций относительно beta.2 нет: дополнительные колонки и связи создаются при настройке поля. PostgreSQL, S3 и секреты подключаются отдельно, как и в beta.2. npm-пакеты этим релизом не перепубликуются.

Если в values-файле заданы images.core.digest и images.ui.digest, обновите оба digest на значения из этого релиза: они имеют приоритет над image.tag.

Проверки

В релизном CI прошли 479 тестов Core и 142 теста UI, проверки SDK/CLI, типов, линтера, форматирования, документации, production-сборки и архивов пакетов в чистом проекте. Три специальных сценария Core пропущены: интеграция с реальным LavinMQ, нагрузочный тест и подготовка визуального стенда. Локально дополнительно проверено создание связи с департаментом, сохранение и повторное открытие профиля пользователя, а также скрытие коллекций в меню /settings.

Границы поддержки

Связи системных полей доступны суперпользователю и направлены на обычные пользовательские коллекции. Поддержаны ключи serial, bigserial, uuid и text. Поле остаётся необязательным и nullable. Системные и плагинные таблицы, singleton и materialized view не могут быть целью связи; обратные O2M/M2M-поля и значения по умолчанию для связи не поддерживаются.

Коммит: 461d6b7.

Полный diff с beta.2 · Инструкция по развёртыванию · Системные поля и связи

Артефакты выпуска

Релизный CI завершился успешно, включая запуск пары контейнеров с временной PostgreSQL и проверку Helm-чарта и маршрутизации. Публичный доступ к манифестам и конфигурациям всех трёх артефактов проверен без авторизации; версии и привязка к коммиту подтверждены. Helm-чарт дополнительно скачан и прочитан через Helm. Развёртывание в production этим релизом не выполнялось.

Артефакт Digest
Core sha256:af1106d454a8df1e2d0a2517e4595268c4c70a2c71361ccd9414befebc05e1bd
UI sha256:74c2cdd095636ac1a70a486e5cede3e43429eb08d5e2afd36d42a481d616cfce
Helm-чарт sha256:447e0051d72465f2f0b50910430cbc438a618213671d22fa72cf72ab8690a787