Hi all
So it's been nearly 2 years since the last major update. In that time we have
had 154 builds. I'd say that is pretty successful. The new major version that
has just been released takes that architecture to the next level.
I've called it Lazy Loading because the idea behind it is to only load code as
we need it. I've removed all the up front dependencies. The main FSH script,
that Tampermonkey runs, loads the calfSystem and then the calfSystem loads
everything else. localforage has been retired and we have idb-keyval within the
calfSystem instead. DataTables is only loaded when needed instead of every page
load. The down side to this is that the CSS is now loaded later, the calfSystem
has to wait for the CSS to be loaded otherwise you would see a FOUC (Flash Of
Unstyled Content). I've tried to mitigate this by starting FSH earlier in the
page load process.
The plan for the future of this build includes breaking up the calfSystem into
smaller pieces and only loading the parts that we actually need instead of the
whole thing every page load as we do now. All that code has to be loaded,
parsed and compiled on every page load. The same thing will happen to the CSS
although I haven't decided how best to do that yet. It may be that the CSS will
be embedded into the javascript instead of an external file. I'm working on
replacing DataTables entirely with native alternatives.
So hopefully you won't notice any changes immediately, that's a "Good Thing®".
Those of you on slower connections and mobile devices will hopefully see some
improvements in future. Don't hesitate to get in touch with any feedback.