I am very close to finishing up a private web application for a client built using a python backend ([url removed, login to view], jinja2, gdata) and an html5 + jquery frontend. Everything is ready to go except for one thing: AJAX transactions when Application Cache is enabled.
If I modify the template to reference the [url removed, login to view] file, the client will work fine the first time (all files get downloaded and I can make AJAX calls without issues). But whenever I refresh the page or close the session and come back to the app later the cached version of the app will kick in and I get an HTTP 500 error right after every AJAX call attempt.
The strangest part is that the python server actually *does* send the data I am requesting back to the client, but it gets ignored by jQuery, which returns an error regardless.
I need to be able to enable offline use in order to create and edit new documents and upload them once the app detects a connection (all of that has been coded already).
The code is immediately available in a private bitbucket repo and I am able to help out in case there are any questions with the code (which is lightly commented but very clear and to the point).
I also have decoupled the python server so that it can run both locally and remotely without having to touch anything, which should make it easier to debug things. It might be worth noting that this problem only happens when the app is running *remotely*, but I suspect that this only happens because the appcache is never built when in local mode (I get a MIME type error which prevents the [url removed, login to view] file from being read in the first place).
There are a couple of other issues unrelated to this one that I might want to get fixed as well, in which case I would be willing to offer extra money if that is the case. Obviously that would happen based on how quickly the issue is fixed, so I will withhold the details on that for now.
Finally, this app has been tested almost exclusively with Webkit based browsers (Chrome, Safari) so the solution should work at least under those conditions in order to be accepted.
Thanks and good luck!