I just deployed an updated version of GDNote. The bugs fixed are getting fairly small now - the latest one was triggered only if you reload a section while the web service call to create it is running. However, some users are running into issues we can’t fix - bugs in the Google APIs.
The most recent case involves a user getting errors doing anything that creates a folder. Everything works fine with my own heavy usage and all of the test accounts, but for one particular user it doesn’t work. Fortunately GDNote logs all errors in as much detail as possible without causing security issues, so I can see the request that failed. It’s exactly the same api call that works for everyone else, but for this particular user Google returns 404 not found.
A bit of searching reveals that this is a known Google bug that has shown up in the last week or so, with a fix due later this month. Best I can do is wait for the fix and tell the affected user to create the folders manually. For similar issues in the past I’ve been able to create workarounds in the code, for example checking if a call really failed or just returned an error code for no apparent reason. What I can’t do is find a way to prevent these problems from occurring for real users in the future. Normally when an issue comes up and you fix it you would add a test that reproduces the original error, preferably before a real user has problems. But with these api problems the issue only occurs for some accounts, and setting up a test account with the same configuration doesn’t trigger the error.
Is it actually possible to do anything better than “Works on My Machine” when working with cloud APIs?