Update 'MultiDevice Announcements POC'

emdee 2022-09-21 23:47:31 +02:00
parent eac78d76a9
commit 2f13aa2fb7

@ -1,4 +1,3 @@
We need to solve the usage of Tox with multiple devices.
The idea here is to address one simple usecase: a person can have multiple devices and he wants one device to be "active" at any given time. So he pushes an annoucement of what device he is currently using so that others can communicate to the device he is using.
@ -11,7 +10,7 @@ The POC assumes he pushes on a regular basis and we choose hourly for the moment
The idea is to firstly define a PersonaID, much like a ToxID that stays permanent and maps the Person to the active ToxID.
So the first step is to change all library code and all clients to work with PersonaIDs instead of ToxIDs. A simple step of duplicating all code that deals with ToxIDs to have a 1:1 layer of calls on top that take the PersonaID and consult a table that contains the active ToxID, and then calls the ToxID function.
So the first step is to change all library code and all clients to work with PersonaIDs as well as ToxIDs. The PersonaIDs would be client facing, and the ToxID code will be internal. A simple step of duplicating all code that deals with ToxIDs to have a 1:1 layer of calls on top that take the PersonaID and consult a table that contains the active ToxID, and then calls the ToxID function.
For the sake of argument, lets say that the table is initially populated with from all the existing known ToxIDs by deriving a default PersonaID from a ToxID by a simple method. We'll adopt the simplest mechanism although we can do better: the default table contains a PersonaID that is the ToxID with a checksum of all zeros.
(we ignore for now the possibility of a real all zero checksum.)