Daily Dev Update for 01-08-2018


So as a list of things that are currently broken

  • OpenWRT upgrades have broken the ERX, ERlite etc.
  • Payments page on the router dashboard, the api changed, @kindiana where’s this API doc’ed anyways?
  • Backwards compatibility tests are borked because the exit signup refactor isn’t backwards compatible
  • Speaking of, the exit signup refactor is broken because TrustDNS decided that reading /etc/resolv.conf is a great idea and broke our old assumptions, apparently @kindiana’s wrapper also fails to save this. So we’re going to have to leak some update traffic (but not user dns queries) in the gateway + client corner case or do a lot of pulls upstream
  • Speaking of upstream pulls we sitll have an outstanding pull request against Actix we depend on, getting that cleaned up is in progress. In general git dependencies should be minimized
  • I’m also having trouble making ARM binaries, I’ll have to debug, considering ARM is an even more used Rust target than mips I’m surprised, we can always revert nightlies but that’s not ideal.
  • Oh and we have three several hundred line refactors as outstanding pull requests.

Long story short here the rate of change is too high and it’s time we raise the bar for stability when we pull things into our development environment. It’s difficult to communicate workarounds to new entrants and in general we need to start raising the standards for merging or importing code.

@ttk2 :
Working on

  • Explicit peer discovery, @kindiana and I took the time to pair on this last night. Made progress to a pretty complete solution with only a few minor nits left in review, and of course the whole QA process and test rewrite to go. It’s already getting quite large at more than 1000 lines of changes. That being said not much actually changes about the structure and it should be more solid. I recognize I’m contributing to the problem of too much change too fast though. It will have to be reviewed and merged carefully.

Working on

  • Got caught up in trustdns bugfixing as well as reviewing @kindiana’s big pulls against Guac_rs and Althea_rs, in general I’m in agreement that reviews should be more stringent. Especially with Nascent payment code. That being said Ben is going to be cutting back on contribution time at the end of this week, so the entire task may have to change hands without a merge. At that point I’m not sure if it’s better to merge and go in and fix it from there. Long lived pull requests help no one. Maybe a feature branch? @drozdziak1 thoughts?


  • /exits/nickname/register to complement the other two endpoitns, Adam may soon be blocked on this
  • Version lock Althea-firmware on top of specific OpenWRT commit hashes, then try and automate the process of testing an update to those hashes.
  • Improved dynamic topology CI for Rita

Working on

Working on

  • Modify the /wifi-settings endpoint to take changes more simply, like POST to wifi-settings/radio-0/mesh to toggle rather than sending an entire struct. I explained the task some more this morning, need to check in again.


  • Looks like routers got miss shipped so he’s going to order a glb1300

Working on

  • Adam has been working with the Aragon people on getting test applications up, It looks like he’s making good progress while we wait for the endpoint changes from Nathan and @drozdziak1


  • Dashboard exit signup changes, this includes updating the exits section screen to use the /exits interface as well as @drozdziak1’s recently merged /exit/nickname/select and /exit/nickname/reset endpoints.
  • Dashboard smoothness, high latency endpoints need some compensation
  • Dashboard liveness, the exits endpoint provides a lot of cool debugging features that should be presented to the user helpfully.
  • Layout and design improvements

Working on

  • Successfully built the firmware after tinkering around with the build scripts, ran into some interesting issues. Posted an update on the forum which I was unusually slow getting back to. I would appreciate a report on further progress or roadblocks.

Working on

  • Making progress with ethermint and seeing what’s going on in that realm. I need to dig into and review these scripts he’s working on for automation. I have strong opinions about devops automation as a devops guy at heart.

Working on

  • The Ring port was put up as a pull request today, which should reduce the time dedicated to it while upstream advises on how to handle the rest of the problem. In the meantime I talked with Michal today about how to secure various components of our API call system. Which are all currently HTTP. Actually I think this deserves it’s own dev thread so I’ll go and make one. Here it is