From d548e31c1d7cfa5bf9a79aede2acd9fd86397f85 Mon Sep 17 00:00:00 2001 From: evgeny Date: Wed, 4 Nov 2026 00:57:02 +0100 Subject: [PATCH] Publish staged results only when the database commit succeeds --- src/chat/merkle_sync.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chat/merkle_sync.c b/src/chat/merkle_sync.c index 9b0572cbd..08269d025 100644 --- a/src/chat/merkle_sync.c +++ b/src/chat/merkle_sync.c @@ -149,7 +149,7 @@ static void ms_abort_pull(struct ms_session* s) { /* Commit не вызывает внешний код; публикация откладывается до безопасного выхода из receive. */ static int ms_commit_pull(struct ms_session* s) { int rc = s->dataset->ops->commit_pull(s->dataset->data_ctx, s->pull); - if (s->dataset->ops->publish_pull) { s->finished_pull = s->pull; s->pull = NULL; } + if (rc >= 0 && s->dataset->ops->publish_pull) { s->finished_pull = s->pull; s->pull = NULL; } else ms_abort_pull(s); return rc; }