Back to the Sone

After a hectic week I seem to be getting back into Sone development. Let’s recap what happened:

On Saturday, the 29th of June I released version 0.8.5 of Sone. This version consisted of a branch I had been running locally for several months now, and a couple of changes I put in next some time ago for, well, the next version of Sone. Two things happened: the changes clashed with each other, and with LCWoT (digger3’s version of WoT). I spent the following week figuring out what’s wrong and managed to get it all fixed by Friday, the 5th of July, when I released 0.8.6.

This kind of rekindled my fascination for Sone, and this morning I have been digging around in the album and image generation code, which I will be changing to match the Provider/Builder stuff I already did for posts and replies. It will be a bit harder as when I did it for posts and replies because when uploading images I first create a temporary image object which will later be converted into a “real” image. The clean-up included in the changes will be worth it, though.

When that is done I will also change the ID generation for albums and images so that one of the longer-standing bugs will begin being tackled: Sone’s vulnerability to duplicate IDs. My idea to fix this problem: hash the Sone ID and the album/image/what-have-you ID together to generate a new ID which will be used publicly. The original ID will still be contained in the generated Sone XML file but every Sone instance will only use the hashed version which will be differently and highly unlikely to collide with any other ID. However, this seems to require a bit more thought put into it than I previously assumed: a first naïve approach quickly resulted in a lot of confusion.

As soon as that is done I will implement proper linking to albums and images from Sone posts, using the already known album:// and image:// syntax which even though it would be trivial to implement I have not yet implemented because I knew that the public IDs would change and invalidate all older links. Unfortunately, this has to happen for links to posts and replies, too… it might be possible to mitigate the fallout by automatically converting links from your own posts to the new IDs, wherever that is possible (posts might have been deleted, identities might be blocked, et cetera) but that will require extra work and it will probably not work reliably.

First things first, though: albums and images.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.