[Thali-talk] Yaron's Weekly Update - 8/18/2014

Yaron Goland yarong at microsoft.com
Mon Aug 18 17:55:27 EDT 2014


Last Week:

  *   TL;DR - QR CODES & TOR!!!!!!!!!! FULLY INTEGRATED!!!! EVERYWHERE!!!!!!!!!!!!
  *   Monday - Long chat with Jon on how to update the wiki and Jim on his work. Spent a bunch of time trying to figure out why our QR Codes weren't reading correctly. It seems to be because we don't have a big enough white border called the 'quiet zone'. I'm talking to Ivan about this.
  *   Tuesday - Ivan fixed the quiet zone and I got our logic for processing QR Codes working in the address book so we now have end to end QR Code support!
  *   Wednesday - Wrote the code to integrate Tor into the TDH in Android but running into a weird class not found error when trying to get the Java code working. Wasted a good chunk of the day investigating the class not found error.
  *   Thursday - Thought I found the Java issue when I noticed that resources were being imported into the JARs twice, I fixed that, but it wasn't the problem. The problem was that I needed the jtorctl.jar from the Briar project which is physically included in the Tor Onion Proxy Library project but not anyone who uses that project. So I had to figure out how to get Gradle to publish two Jars (the one it built and the jtorctl jar) into Maven. Thankfully Gradle does this so I got it working. Fixed some minor bugs in the TDH in regards to Tor and started working on running the tests in our HTML5 app to see if they supported Tor properly.
  *   Friday - Spent the morning integrating in Jason's changes for Jenkins support, fixing a bug in how the Tor Onion Proxy Library handles files (it was putting files in the wrong place) and then spending forever to get all the end to end tests to pass before I did a massive checking.
     *   I then went back to the HTML5 test app where I went through a bunch of bugs that I introduced. I had screwed up the URL for deleting replication tasks. I had removed a replication task early because I didn't think through the threading model. I wasted a ton of time because it turns out I was editing a JS file that was in the cache and not in the full IDE (damn you full text search!). I had screwed up forwarding requests to Tor on the server so that non-Tor requests where also being forward which is fine (Tor handles normal requests, it's a feature) except in this case the address being forwarded to was behind a firewall so Tor couldn't get to it! But I got everything working in Java!
     *   Then I tried Android and kablewy! Nothing worked! I realized I wasn't getting any logging because our code uses SLF4J which CrossWalk doesn't support so I rewrote our logs to use Android and that told me everything was working fine with the relay. So now I knew the problem was in Javascript. I tried to use console.log but that doesn't work by default in CrossWalk either. Then I remembered there was a debug switch in CrossWalk which wasn't included in our build, I included it and voila Chrome kindly told me that our Android app has a file resolution issue. I knew that our address book (which is based on the HTML 5 code) worked just fine so I did a compare and determined that the paths in the HTML5 project for the JS files were wrong. So after some testing the whole bug turned out to be the need to remove "../" from the start of a bunch of paths. There goes 3 hours I'm never getting back.
     *   Finally I did a little bit of refactoring across the relay in Thali and in HTML5 and the address book to make it easy to specify the relay and nanohttpd addresses in one or two places so I could host the address book on different ports than the app. Eventually we'll go to fully dynamic ports but it doesn't make sense to do that work until we change CrossWalk to act as an embedded webview rather than a host.

This Week:

  *   Test the address book with all the HTML5 changes is still working
  *   Add code to put any httpkeys in the address book automatically into the permission database (this is a hack until we put in ACL and group support)
  *   Add code to enable a replication to be addressed to 'all' so replications will automatically be pushed to everyone in the address book (this is less of a hack, more of an early preview of our group based replication support)
  *   Decide if we should put in HTTPKEY support into PouchDB (we really don't need it for the demo so we'll probably punt to the dev preview)
  *   Figure out how to get all of our jars/aars/apks/distZips published to maven
  *   Write up sample code to exercise the key features we want for the demo
  *   Actually download a clean windows VM and go through all the steps a dev would have to go through in order to develop on our platform.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist10.pair.com/pipermail/thali-talk/attachments/20140818/93d595b1/attachment.html>


More information about the Thali-talk mailing list