Today’s Update
We were in the middle of the latest dev-test on Friday and we continued testing in that dev release channel throughout the weekend. The great news is that Holochain RSM with basic networking is proving to be quite resilient and we are experiencing the promise of Holochain’s distributed design. What that means is that we are seeing the type of eventual consistency in the testing that is exactly required for scalable peer-to-peer applications. Users who go offline are able to come back online and the app will catch up with everything that happened while they were away. Despite all the testing with hundreds of nodes using the previous version of Holochain - this key characteristic of eventual consistency was never fully working, so to have this working is a huge leap forward.
Prior to this current dev-test we were able to resolve a few bugs in Holochain relatively quickly and easily once our testing and tracing tools were updated to work with RSM. We have since fixed a few more issues in Holochain from this round.
Today is day 4 of the dev-test and more of our internal team are joining the chat network. We’ll continue this longitudinal testing as the Holo dev team works through a few remaining bugs before we prepare for releasing Elemental Chat first to our community testers and then to all hosts.
The main remaining issues are these:
Resilience
There appears to be an issue with the HoloPort auto-update service that intermittently triggers UI disconnection with Holochain sometimes when it runs (which it does every 10 minutes). Restarting once Holochain resolves the issue and the chat app ‘catches’ up with anything it was missing. We are investigating the cause of this intermittent issue.
Performance
In terms of the overall performance of Elemental Chat, it is extremely fast for the first users in a hApp network, but after the DHT has more data and gossip is required, we begin to see slower chat transaction speeds - the delays can be between a few seconds up to a few minutes.
There is a known issue where when a Holochain node is restarted it provisions new TLS certificates. This causes performance degradation as nodes appear offline when they aren’t until sessions using that TLS time-out. There is also a related addition to Holochain in the works that allows for “fire-and-forget” signals. This fix will allow elemental chat not notify all listening chatters in parallel thus those “offline” nodes won’t cause an UI slowdown. Holochain fixes for both are expected very soon.
One reason why messages may sometimes appear to take a while is a UI collision between signals and polling, i.e. the signal arrives direct from a user, but the the polled list_messages checks overwrites the arrived message because at that layer it hasn’t been gossiped. This issue in the Elemental Chat app itself is being fixed today.
We’re running down a few other paths to determine if there are other problems with the connection of the front end to the HoloPort.
Finally in case you were watching the AMA, we shared that the Nano update for the new version of the HPOS (HoloPort Operating System) has been completed and the image has been sent to the manufacturer. This means Nanos will not need to go through the significant update for Nix 20.09 when they are received. We’re going to test the manufacturing process with the new image and then when that is proven we will proceed with manufacturing and shipping of Nanos.