Gudu PHP backend hotfix, 2026-09-30 night: customer's first chat message says "Not sent. Tap to retry" WHAT WAS HAPPENING (confirmed from the live database export of 30 Sep, 11:14 PM) Salome (user 70) and her driver Nwora Emmanuel (user 69), deliveries 34, 35 and 38: - she pays, opens the chat, sends a message - the server CREATES the chat for that delivery (conversations row exists from that moment) - then fails before it records who is in the chat or saves her message -> "Not sent" - the driver's reply finds the chat already there, skips that step, and saves fine Every chat between them shows this: created seconds or minutes before the first message that actually saved. The customer is almost always first to write after paying, which is why it looked like "the customer can't send but the driver can". Cause: helpers/messages_shared.php re-ran the same database statement to read back the chat it had just created. On the live server that leaves the connection half-read, and the next database step fails ("2014 Cannot execute queries while other unbuffered queries are active", which is also in the server's logs/app.log). It was NOT the old one-chat-per-pair index: that is already gone from the live database (checked with SHOW INDEX), so db/conversations_drop_pair_index.sql has nothing left to do. It is included only so the self-check stays in one place. WHAT TO UPLOAD (replace the existing files) helpers/messages_shared.php the fix for the chat problem above helpers/delivery_code_service.php same pattern when creating pickup/delivery codes helpers/refund_service.php same pattern when creating a wallet during a refund No database changes. No app update needed. HOW TO CHECK IT WORKED On the next paid delivery, the customer's first message should send on the first try.