You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently meshIM users can only send messages when both parties are online, and if either party disconnects unexpectedly messages can be in a weird state where they are considered sent but never received.
Once "message received" events are in RightMesh, we need to save whether or not a message has been received, and attempt to resend once both parties are online.
The text was updated successfully, but these errors were encountered:
I'm envisioning an extra boolean "sent" column in the Messages table, and some query like SELECT * FROM Messages WHERE Sent = 0 AND MeshID = :meshId that can be run when on the PeerDiscoveredEvent.
I'm not sure if we should store a separate timestamp for when a user pressed "send" on the message and when the message actually sent, if there's a value to that or not.
A subsequent "version" of this would be when @sriks1 has the merge request in the library ready for delivery confirmation. Then it would also be possible to resend data if the user goes offline before you get a received event. Perhaps this is something better handled by the library in the long run though - when you call a sendReliable, the library internally stores the data stream in a db until the received event is confirmed, it retries when a meshid goes offline. then from the app dev perspective, just hitting send always gets it there every time, despite online / offline drops.
Currently meshIM users can only send messages when both parties are online, and if either party disconnects unexpectedly messages can be in a weird state where they are considered sent but never received.
Once "message received" events are in RightMesh, we need to save whether or not a message has been received, and attempt to resend once both parties are online.
The text was updated successfully, but these errors were encountered: