message_send: Update do_send_messages codepath to send event on commit.

Earlier, we were using 'send_event' & 'queue_json_publish' in
'do_send_messages' which can lead to a situation where we enqueue
events but the transaction fails at a later stage.

Events should not be sent until we know we're not rolling back.
This commit is contained in:
Prakhar Pratyush
2024-05-15 22:54:37 +05:30
committed by Tim Abbott
parent 27c4e46b30
commit c798d192dc
15 changed files with 473 additions and 270 deletions

View File

@@ -1769,6 +1769,7 @@ class StreamMessagesTest(ZulipTestCase):
user,
stream_name,
content=content,
skip_capture_on_commit_callbacks=True,
)
users = events[0]["users"]
user_ids = {u["id"] for u in users}