How do you manage data loss/fudging? BLE arduino to app communication

I've been trying for the past couple days to get a decent response time on app controlling an arduino.
All data i am sending is one string at a time in the format "Letter,Number,Number,Number".

The send timer runs about every 250millis
E.g

  • BacklogCommands ["M100,"S010","R255","G010","B120"] ///Backlogs waiting for new timer cycle
  • WaitingCommands ["M100,"S010"] ///Commands inside cycle waiting for string removal
  • SendingCommandString "S10" ///Command being sent.

Each of these lists/strings update a label so i can see what the data is and it reads fine. No lost data or mis organised.
When receiving data on the arduino every 5 to 10 commands coming in either skips a space or misses data.

Edit : XON/XOFF Flow Control