Skip to main content

Weekly Futtun Updates 12

Introduction
#

Hello everyone,

How are you? Welcome to my blog. In this post, I will talk about Futtun’s progress update, from Monday 16 March 2026 to today, Sunday 22 March 2026.

Finished the improved logic to apply IndexedDB schema changes
#

At long last, I have finished the improved logic schema changes to the IndexedDB database. I could go back and see when I started working on it, but I am having a good day, so I would rather not, thank you very much.

The problem I have solved is the following: applying schema changes to IndexedDB when there are gaps in the “version number”. I will go into more details in a separate blog post, but here is the gist of it:

  • IndexedDB keeps track of the schema based on a “version number”. It starts from 0, and every time you need to change the schema, you must increase this number for the change to apply. E.g. 0 to 1, 1 to 2, etc;
  • Futtun needs to be able to apply changes for any arbitrary version range;
  • Before I implemented this change, Futtun was using a switch statement. Alas, this ignores the scenario where Futtun has to perform multiple version upgrades in one go. E.g. a user visited Futtun 3 months ago, when IndexedDB’s version number was 9. They came back to it today, and the version number is 12. The switch statement would only apply the changes in version 12, ignoring 10 and 11. No bugs happened due to this, because Futtun was only at version 1, so this was not an issue. Now that I need to increase the version number, I need this improvement;
  • Futtun is now able to detect the missing version changes between the IndexedDB on the user’s browser and the latest version, and apply them one by one.

Dependency upgrades
#

With Futtun being an Internet facing application, I will now need to keep on top of upgrading its dependencies for as long as I will keep Futtun available.

Conclusion
#

Thank you for your time, and I hope to see you again soon. Bye bye.