Описание проблемы
Recalculate ставит recalculatingCost и блокируется при saving, но Save не проверяет recalculatingCost. Параллельный PUT уносит snapshot старых cost/cart_cost/delivery_cost поверх свежего recalculate.
Шаги воспроизведения
- Открыть заказ в Vue OrderView.
- Запустить Recalculate cost.
- Пока запрос в полёте — нажать Save (если UI позволяет).
- Итог: суммы в БД = pre-recalculate snapshot.
Ожидаемое поведение
Disable Save при recalculatingCost; общий in-flight lock; либо merge по etag/updatedon.
Фактическое поведение
OrderView.vue: recalculateOrderCost / saveOrder независимы по флагам.
Дополнительный контекст
#366 — унификация PHP cost, не UI race. #359 — Promise.all field values.
Описание проблемы
Recalculate ставит
recalculatingCostи блокируется приsaving, но Save не проверяетrecalculatingCost. Параллельный PUT уносит snapshot старыхcost/cart_cost/delivery_costповерх свежего recalculate.Шаги воспроизведения
Ожидаемое поведение
Disable Save при
recalculatingCost; общий in-flight lock; либо merge по etag/updatedon.Фактическое поведение
OrderView.vue:recalculateOrderCost/saveOrderнезависимы по флагам.Дополнительный контекст
#366 — унификация PHP cost, не UI race. #359 — Promise.all field values.