NU1903: транзитивная Microsoft.OpenApi 2.0.0 (GHSA-v5pm-xwqc-g5wc, high)
запиннена на 2.7.5 — первая исправленная версия; работает через уже
включённый CentralPackageTransitivePinningEnabled, как и Newtonsoft.Json.
NU1510: убран PackageReference Microsoft.Extensions.Http из Infrastructure —
пакет приходит из общего фреймворка по FrameworkReference
Microsoft.AspNetCore.App, AddHttpClient продолжает работать.
ASPDEPR005: KnownNetworks -> KnownIPNetworks.
CS8604 (x5): Warning имеет тип string?, и Shouldly не сужает его после
ShouldNotBeNull — значение сохраняется в локальную переменную.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
no-new-null: подавление стояло перед сигнатурой effectiveSlaHours, а
предупреждения падали на строки параметра и типа возврата — комментарии
перенесены к самим строкам; в isRowOverdue подавление добавлено.
explicit-function-return-type: у хелпера row в тесте activatedAt указан
тип возврата (ActivationRow — те же поля, что читает activatedAt).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Снимаем max-width канвы для контейнера workbench (#workbenchPageContent)
и зоны канвы на живой странице (.CanvasComponent.LCS .CanvasZone) —
иначе supportsFullBleed из манифеста растягивает web part только
в полноширинной секции, а в обычной одноколоночной ширина остаётся
ограниченной.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ComparisonOperator дополнен NotEqual, Contains, NotContains.
NotEqual — строгое отрицание Equal (текст без учёта регистра + сравнение
как чисел), Contains/NotContains — поиск подстроки без учёта регистра.
В форме шага набор операторов зависит от типа колонки: для числовой —
всё, кроме «содержит»/«не содержит», для текстовой — всё, кроме
«больше»/«меньше», для служебного IsManager — только «равно»/«не равно».
Недопустимый после смены поля оператор сбрасывается на «равно».
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>