1.2.4
Changed (#383)
- Устранено дублирование retention-настроек между страницами
/settings/advancedи/settings/log-settings(#383): единственное место редактирования сроков хранения логов — «Настройки логов». Backend:AdvancedHandler.Getбольше не отдаёт параметры группыretention(зеркально фильтруRetentionHandler.Get),AdvancedHandler.Updateотклоняет retention-ключи с 400retention 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) отклонена: баннер о «параметрах в другой секции» вместо молчаливого скрытия незарегистрированных групп — осознанное упрощение, контракт зафиксирован комментарием в коде.