rwadurian/backend/mpc-system/services
hailin aab88834f9 fix(coordinator): prevent lost updates in concurrent participant status changes
Fix critical concurrency bug where simultaneous ReportCompletion calls from
multiple parties could cause lost database updates. Changed from UPSERT-all
to UPDATE-individual pattern to ensure each participant status update is
atomic and won't be overwritten by concurrent transactions.

Before: All participants were UPSERTed in single transaction, causing
last-commit-wins behavior that lost earlier status updates.

After: Each participant is UPDATEd individually using UPDATE...WHERE, then
INSERT only if row doesn't exist. This prevents concurrent updates to
different participants from conflicting.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 01:35:38 -08:00
..
account feat(mpc-system): add event sourcing for session tracking 2025-12-05 23:31:04 -08:00
message-router fix(proto): add party_index to JoinSessionResponse for correct index assignment 2025-12-06 00:08:47 -08:00
server-party fix(server-party): include self in participants list for keygen 2025-12-06 00:01:14 -08:00
server-party-api feat(mpc-system): add signing parties configuration and delegate signing support 2025-12-05 22:47:55 -08:00
session-coordinator fix(coordinator): prevent lost updates in concurrent participant status changes 2025-12-06 01:35:38 -08:00