@maiyannah Regarding unique Message IDs and global messages' identification/matching/reduplication.
It came to me that the root of messages duplication problem that we are periodically discussing, lies in the message ID generation at a server side. This is why messages, which were not posted yet from a client to a server, cannot be easily identified: they have to be matched both by a Sender and by their body. This causes, in particular, duplicated messages.
I think that as we are discussing new client-server API, we should improve this also: Globally unique message ID should be generated at its actual creation point: in a client application (whether it is a Web client or a mobile device client...)
This means that Message UID should include not GNU Social instance UID, but a User account UID AND User device ID - the latter has not to beglobally unique:
User's Device - unique for this Account.
My account UID at loadaverage could be "acct:andstatus@loadaverage.org:5263" (see my previous post)
Thus, messages, posted from my "andstatus" account using mobile device "d1" will be automatically assigned (by that "d1" device) such IDs:
msg:17625@d1@andstatus@loadaverage.org:5263
The first number "176625" is local ID of the Client, which created this message
next device ID goes: "d1"
and the full User UID is appended (without "acct:")
As you can see, in this my message UID proposal "local ID of this GNU Social instance" is not included in the message UID. This allows both a Client and a server identify duplicated posts easily AND interpret repeated sending of a message with the same UID as e.g. a change/editing of the message (if a server supports such an action) or simply ignore the duplicate.
Main point of this post are parts, comprising the Message ID, and a point of its creation. Not the exact format of the UID.
?!
@archaeme @verius @mmn