Closed lucksus closed 6 years ago
This should work actually. We discussed that it might not. If it does not that should be treated as a bug.
You can see the meows of a user you follow who is online and then goes offline. However, when the person who signed off tries to sign back in, they get a message that their handle has been taken and therefore they need to come up with a new handle and re-follow everyone. Upon re-following, they see all the meows missed.
Would we want to be able to follow offline users and see their meows?
From my perspective yes, we would want to be able to follow offline users and see their recent activity, the same way Twitter functions.
There may just be some timing issues where it takes a while for things to synchronize. Eg. today I came back to the UI and it started show luksus.
I am just playing around with the current clutter develop (Qmbtpaf8GJCKi1MxCN4ynXQjKXsQwppYfGKL8s9bs7sT2t) that we started last night on several machines including the HoloPorts. I've spawn two test nodes with hcdev web
, one while my hcd based node was running, and then one without it running.
nicos-test-1
could see lucksus
which was running when it came upnicos-test-2
did not see lucksus
which I had shut down before booting nicos-test-2
(but holoport should have connected both)lucksus
while nicos-test-2
was online:
nicos-test-2
now started seeing lucksus
nicos-test-2
did not start seeing nicos-test-1
, which lucksus
is seeing.=> I interpret this as a quite strong indication for gossip being broken. nicos-test-2
starting to see lucksus
after booting the lucksus
node almost certainly comes from gossip between lucksus
and nicos-test-2
. It should have gotten the gossip from holoport_plus
but ok. But then not getting the information about nicos-test-1
through this gossip is maybe the same problem that prevented holoport_plus
from gossiping about lucksus
@zippy ?
I also looked into the code that handles handles ;) in clutter and compared the debug output it creates. This looks reasonable and not too complex. Basically the handles just hang on App.DNA.hash
as directory
and getHandles() just gets all of those links which are exactly the same thing we see in the UI.
=> I don't see a problem with Clutter, rather HC and gossip
From our testing today it looks like the issues may have been around NAT traversal and the bad defaults. Nico & I had different behavior which got cleared up after he completely deleted his .holochaindev
directory. It's possible that the old defaults in the system.conf
file were conflicting with changes in default setting that were added in #644 such that it wasn't setting the defaults correctly when making new app instances when running hcdev web
. But we haven't completed the testing.
@zippy and I had several more discussions. Main take away: this is not a bug but expected behavior with the current incomplete feature set of Holochain. (To be more precise: a result of the combination of source validation and 100% redundancy factor)
Explanation:
We should document this fact in the HC documentation
@lucksus @thedavidmeister I've added an article. Does this seem like enough for this ticket, or should we go deeper?
Yeah, I think so, @zippy. But I've spotted some typos. I've just signed up and believe I need to be approved to make changes, right?
I approved your account.
@zippy looks ok, but i wonder, why can't i do validation with the data alone? why must i talk to the source to perform validation?
Well, it all depends on the use case, e.g. validation may require examining their whole chain. Theoretically (and practically) you could pull that back from the DHT, or other nodes that have validated it before and have held onto a full copy of what ever you need to validate (i.e. the validation package). And that's precisely the part we haven't implemented yet, i.e. what I called "proxy validation". But the single entry doesn't, in the general case, give you enough information.
@zippy mmm i think there's a difference between proxy validation (sounds like "light wallet" to me) and wanting to be able to validate data independant of the source (wanting to do "offline" validation of data)
As a Clutter user I want to be able to follow somebody (and see their meows) who was online before but is not online now so I can actually use Clutter as a replacement for Twitter.