Fix: sync iOS rid
and Android id
in the waypoint
payload
#1681
Labels
Milestone
rid
and Android id
in the waypoint
payload
#1681
Currently, even having an int/long ID, the Android app uses
tst
as a unique key. Meanwhile, iOS added the propertyrid
. This difference causes issues when sending updates (viasetWaypoints
cmd) between both OS, Android can detect just fine duplicates (as they have the sametst
), but the iOS is having a hard time detecting the duplicated object and may add an extra record to the list of regions/waypoints.When a message without
rid
arrives to the iOS app, the app creates arid
from the hash oftst+name
, but this means the name can not be changed at all. Also, new waypoints are created by the iOS app using random IDs, but this information is lost on the Android app, so updates submitted by the Android for a waypoint created by iOS might not have the samerid
(because as therid
is missing, iOS will generate one from the hash, which might not match the random one).My suggested implementation is to keep the
tst
as the "main" unique key in the Android app, but adds therid
property as a secondary unique key (maybe a hash from thetst
). This way the app can save therid
generated by the iOS app (and send it back for updates) but also Waypoints as a whole will have an ID that is common and stable between OS's.The text was updated successfully, but these errors were encountered: