oxen-io / session-android

A private messenger for Android.
https://getsession.org
GNU General Public License v3.0
1.73k stars 165 forks source link

SES1567 - Community message delivery status fix #1442

Closed AL-Session closed 3 months ago

AL-Session commented 3 months ago

Contributor checklist


Description

The delivery status of messages sent to a community (only) were not getting marked as "Sent" and instead remained in a permanent "Sending" state. This was due to community servers modifying the message timestamps, which resulted in us being unable to find the local copy of the message by timestamp to tick the delivery status over to "Sent".

This PR provides an additional two methods to the Storage class: markAsSentToCommunity and markUnidentifiedInCommunity - which identify the message sent to the community without using timestamps for the lookup, which then allows us to finally set the "Sent" status on messages when they have been successfully delivered.