Описание проблемы
Unwrap в request.js: если object пустой {} и data пустой массив/отсутствует — возвращается весь connector envelope {success, message, …}. Callers вроде OrdersGrid ждут .results → ветка «Invalid response», пустой грид без error toast (не catch).
Усиливает #370 для processor-style ответов и любые mgr endpoints с пустым object при success: true.
Шаги воспроизведения
- Получить успешный ответ connector с
object: {} и без полезного data (или пустой list edge).
- Caller:
if (response.results) fails → empty UI, console.error Invalid response.
Ожидаемое поведение
Единый контракт: либо всегда нормализовать в payload (object / data / root), либо явная ошибка «empty payload» с toast на уровне request helper.
Фактическое поведение
vueManager/src/request.js ~129–141: fallback return responseData (envelope).
Дополнительный контекст
Связано: #370 (import start). При фиксе — не сломать callers, которые уже делают response.object || response. Предпочтительно один unwrap + типы/JSDoc контракта.
Описание проблемы
Unwrap в
request.js: еслиobjectпустой{}иdataпустой массив/отсутствует — возвращается весь connector envelope{success, message, …}. Callers вроде OrdersGrid ждут.results→ ветка «Invalid response», пустой грид без error toast (не catch).Усиливает #370 для processor-style ответов и любые mgr endpoints с пустым
objectприsuccess: true.Шаги воспроизведения
object: {}и без полезногоdata(или пустой list edge).if (response.results)fails → empty UI,console.error Invalid response.Ожидаемое поведение
Единый контракт: либо всегда нормализовать в payload (
object/data/ root), либо явная ошибка «empty payload» с toast на уровне request helper.Фактическое поведение
vueManager/src/request.js~129–141: fallbackreturn responseData(envelope).Дополнительный контекст
Связано: #370 (import start). При фиксе — не сломать callers, которые уже делают
response.object || response. Предпочтительно один unwrap + типы/JSDoc контракта.