@maiyannah 1. As we are thinking about good interoperability with !gnusocial instances that have old API only, I think we better add "local I'd part" not only to the newly formed "message/notice id", but to other IDs also.
So a User UID will be: acct:andstatus@loadaverage.org:5263
i.e. it will include local user I'd as the third part of the UID
2. Regarding message/notice IDs I see that currently e.g. via loadaverage.org I already see the "uri" field in JSON responds, e.g.:
"uri": "tag:loadaverage.org,2016-12-03:noticeId=8986502:objectType=comment",
or via quitter.no:
"uri": "tag:gnusocial.club,2016-12-04:noticeId=193512:objectType=note",
The uri has all required parts to allow descoverability. I don't if this field is part of the mainstream GNU Social code though...
3. Conversation IDs should have their own namespace, e.g.:
cnv:12345@someserver.org
- as you see, it also explicitly includes local conversation ID, meaning that the conversation could be requested from the "source” host, if needed. I expect that taking into account that messages of the same conversation may be created at hosts with old API only, in practice we will have different ”conversation_uri" values in different messages of the same logical conversation. I think that originally created message should not be modified in any case, so we will have the same data no matter from which host/instance we received it.
?!
@archaeme @verius @mmn