The save was losing edits
The original save was fire-and-forget: it dispatched, assumed success, and silently discarded user edits when a field failed. It was replaced with a batched, parallelised update built on Promise.allSettled, reporting failure per field rather than for the request as a whole. The distinction matters because partial failure is the common case, and the old design treated it as if it were success.