Hello all! I'm going to have a holiday lasts from tomorrow, till 30 jun, so I'll be unavailable that time. But because the mid term evals are coming, I write a second status report before leaving. So here is a summary what I've been working on the last week:
I've investigated the onUnload events and seems to be working nicely, and GWT supports it as well. It would became the primary way of detecting tab closes and the periodic keepalives will be a supplementary method which detect crashes. It will come at handy with the image loading, so the fetches will be interrupted when the user closes the tab. Autotests: In most of my time, I've written an auto-test suite for pushing. It requires fproxy to be running. I have written a tester toadlet, that has some pushed data that changes, and also some tests that tries some functionality. The problem is, that they needs additional libraries, and it shouldn't be part of the standard build process, because it lasts very long(atm ~1.5 minutes, but it is just 4 tests!). On the other hand, it will help stabilizing the API and make sure no previous functionality broke when new added. I've rewritten the scheduler to use the Ticker instead of Timer. It is now working, but I found a bug that needs fixing in some way. Please see commit 84396b8b0f539ee4351c521641b5f482e1961847 , I've written a short description about it. It should be fixed either by deleting the functionality(it's not working, so it won't be missing), or fix it, but that will consume some resources. I've rethought thread synchronization at the pushing, and now just synced all methods. It is much easier and bug-proof and won't degrade performance as all methods return quickly. As I'm making more and more toadlets and other files, I'm feeling the need to put all of them to a different package(ajaxpush), but I've already created them. Is there a way in git to move files preserving history? What will come int the next month: First thing first, currently only the progress bar is updated. I'll make that other fields on that page will be too(the timer, and the file size as it become known). Next, the image loading, that fetches all images concurrently when the page is loaded, then updates all status, and when leaving the page, cancels. The downloads page and the connections page should also be pushed, as they are changing frequently. The message handling should have some improvements, like get messages when browsing freenet, and they should be pushed. As always, feedback are welcome, but I most likely won't be able to check my mails in the following days. sashee
