1.2.4

Changed (#383)

  • Устранено дублирование retention-настроек между страницами /settings/advanced и /settings/log-settings (#383): единственное место редактирования сроков хранения логов — «Настройки логов». Backend: AdvancedHandler.Get больше не отдаёт параметры группы retention (зеркально фильтру RetentionHandler.Get), AdvancedHandler.Update отклоняет retention-ключи с 400 retention parameter: <key>: managed via /api/v1/admin/retention — эндпоинты /api/v1/admin/advanced и /api/v1/admin/retention стали строго непересекающимися; имя группы вынесено в константу groupRetention, общую для обоих хендлеров. Frontend: из /settings/advanced удалена секция «Прочее» — fallback для групп, не описанных во фронтовом groups-конфиге; из-за отсутствия retention в этом конфиге она рендерила те же 13 параметров хранения логов, что и вся страница /settings/log-settings (причём через другой PUT-эндпоинт). Контракт задокументирован в комментарии у groups: новые группы ParamRegistry регистрируются во фронте явно, незарегистрированные не отображаются. ParamRegistry, RetentionHandler и фоновые потребители ключей (FactCleanupService, janitor tool-outputs) не изменились. Тесты: TestAdvanced_Get_ReturnsRegistryWithValues переведён на подсчёт параметров без retention, новые TestAdvanced_Get_ExcludesRetentionGroup (в ответе нет group=retention) и TestAdvanced_Update_RejectsRetentionKey (400, ключ не записан в стор). ocr review — 3 находки: 2 закрыты (константа вместо magic string в двух проверках advanced.go), 1 (low) отклонена: баннер о «параметрах в другой секции» вместо молчаливого скрытия незарегистрированных групп — осознанное упрощение, контракт зафиксирован комментарием в коде.