Last week, we opened Test 17 to Trust Level 2 forum users. The focus for this past week has been on fixing any bugs that have been raised by the community in tandem with finalising the amendments to the Routing design (discussed below). Quite a few of the reported issues have been resolved in their respective projects, so we should be having some new binaries soon (early next week) with the fixes/changes. We have debated in house about the value of these restricted tests and think they provide many benefits. The forum users feedback has been incredibly good and very focussed. It seems there is in fact a greater degree of ownership and it is helping us for sure. It also allows our Engineers to engage more freely as well, so for now it is likely we will continue with these forum users only tests, for at least a while. During this test we have seen 1600 sessions from roughly 100 users storing around 3 GB of data across circa 39,000 chunks of data (2/3rd Immutable and 1/3rd Mutable), and the network has behaved as anticipated, which is very positive given the level of change between this and Test 16.
So short update intro, as we are iterating feedback and updates at the moment. We hope everyone is as happy with progress there as we are.
SAFE Authenticator & API
The frontend team keeps working on fixing the issues reported for Test 17, not only those reported on the forum or on GitHub, but also some issues we find with our internal testing activities.
The following issues were fixed:
- SAFE Browser issue #73: “index.html not automatically read or added”
- Web Hosting Manager issue #201: “Update app name”
- Web Hosting Manager issue #213: “Insufficient account balance for this operation?”.
- SAFE Browser on OSX didn’t start by double-clicking the binary because the locale folder was not available.
- An issue with the creation of dmg and zip files when building on macOS was fixed as well.
The following issues are not reproducible on our end and we will be requesting more info and/or help:
- Web Hosting Manager issue #212: “Upload directory doesn’t always work”
- Web Hosting Manager issue #210: “Video file corrupts service”
We may not be that responsive to all the requests and questions we receive, but we certainly try to keep up with them and keep track of all the issues reported to make sure they all get eventually resolved. So we would like to encourage people to keep reporting all the issues they encounter as it’s very valuable.
We also continue with some parallel development tasks. @hunterlester has been working on adapting safe_app_nodejs to some recent enhancements to the NFS emulation API implemented in the safe_app library (see this JIRA task for more info).
@joshuef is working on some issues related to URI scheme, re-enabling the toggle safemode functionality in the browser for optionally accessing the clearnet, as well as having the browser store bookmarks on the SAFE Network within the browser’s own container.
@srini has been ramping up by testing the sample apps, studying the API, and helping with reproducing some of the issues reported, and @shona is working on some UI design enhancements for the Web Hosting Manager application.
There is also an ongoing effort to have the browser automatically free all safe_app objects allocated by a web app using the DOM API, either when its tab is closed or when the page is refreshed. This should solve several problems people are experiencing at the moment with reaching the limit of number of clients. We are aiming to solve this by early next week as we discovered it’s a bit tricky to find a way to uniquely identify the tab/page that is effectively initialising a SAFE App instance, as it can be done from a non-active tab.
SAFE Client Libs & Vault
The team has been busy working on the design and proof-of-concepts for some of the upcoming changes (including the operation recovery). There is not a lot of news on this part, but we’ve decided that some of the possible approaches won’t work and discarded them, and now we’re steadily progressing towards viable solutions. Apart from that, we’ve been working on minor improvements on the Vaults and SAFE Client Libs side. We have exposed new API functions to get the user’s account information: how many mutations has been used, and how many are left. This will help to display this info in the SAFE Browser’s user interface. This PR is being reviewed now.
Pull requests to add new developer configuration options have been raised for Crust, Routing and Vault repositories and they will be merged soon. These options allow running local vaults more easily, not requiring to recompile multiple libraries.
Continuing with fixing and testing the issues that have been discovered in the last week, @Qi_Ma has added a regression test to make sure that the issue related to the problem with group_refresh messages arriving out-of-order won’t be occuring again.
Routing & Crust
Work on Data Chains is ongoing. The results from the Ewok simulations indicate that Option B is a feasible design and we are now planning on implementing it in Routing. Apart from the details of the integration into Routing, there is still one point left to be polished, and that is the block proving algorithm (a way for nodes to request proofs for blocks they don’t have yet). Its current form seems to be working well in most situations, but there are a few edge cases related to the structure of the chain that we would like to handle better.