Blog updates

Tuesday 12 July 2011

ChromeMarks broken - IO Exception errors

Google have made some changes somewhere which has broken all ChromeMarks functionality.

I'm trying to fix it and hope a new release in the next day or so. Please bear with me - remember this app is coded and maintained by a single person during his spare time!

I don't know what they changed. From what I can see, the data is coming back fine, but at the very end of the sync are a couple of fields to denote the final progress and I suspect they've changed something around that area. It's a bit annoying as one of the fundamental purposes of the protocol buffers Google invented and use for this communication are meant to be always backwards compatible.

I guess Google thought that the only people using chromesync would be users of Chrome and since they should be auto-updating, what's the harm in turning off some old server functionality, eh....?

More updates later.

UPDATE: 22.45pm BST. I think I've fixed it. Will update more here in the next hour while I refresh the Market.

UPDATE. So, I'm still not exactly sure what they broke, so I've had to upgrade the app asap to the latest protocols. The app has gone from release 24 to release 27. Google have made quite a few changes along the way, partly why I've been putting this off for so long.

But with a nice bit of Fiddler (where would this app be without it??) and I *think* I've worked out how the new protocols work. They didn't quite fit immediately in, but with a squeeze, they work.

Unfortunately Google have changed the way they track changes and moved from an increasing "number" to a semi-random byte array (may not be random to them, but clients should not expect them to follow any logical pattern). This necessitated a change to the database that ChromeMarks is held in. If I'd done this as normal change in my own time, I would have written a migration into the app to fix this as soon as you upgrade. But I didn't want the app to be offline for too long and my wallet can't afford all those annoying people that vote one-star, so I've chickened out and made the app reset-to-default when you open it to force you to redownload. Sorry! Not my fault!

I've tested what I can in the time so far, but since the bug happened 24 hours ago, I've needed sleep, travel time and a normal job, so please be gentle if there are a few more bugs I didn't spot! They will get fixed as soon as I can. I've only checked it on Froyo as that's the most prevalent - I'll have a try shortly on Honeycomb as that's the most likely to be tetchy.. :-)

Annoyingly I was going to make a release this weekend with some real goodies for the paid app (could I say it was a "gesture" to "fling" these changes in your direction?), but now I've got to merge two changed versions of the app together. So the next official release (barring bug fixes) will probably be next weekend.

As usual, thanks for your support and to the people that mailed me letting me know there were problems, and to everyone else who actually read the note on the Market.

I think I need some sleep...

2 comments:

  1. Thanks for providing a fix so quickly in response to Google's changes.
    Your app is great and the support first rate. Keep up the good work!

    ReplyDelete
  2. Hi iDJH. Thanks for the kind comments, and thanks for resisting the urge to make a one-star comment!

    Still more life left in the app, stay tuned!

    ReplyDelete