Home Artists Posts Import Register

Content

A few things to cover today. First of all, 3.4.0.0 is finally released. This version of Wabbajack has to do mostly with removing a lot of technical debt we've accumulated over the past year. We've gone from .NET 6 to .NET 8 as the target framework. .NET 7 had some fairly critical internal bugs when it comes to WPF UI, so we skipped that release and went right to the .NET 8 framework, released just last week. Updating the framework has allowed us to update all our dependency libraries, some of which were woefully out of date.

Another change I'm looking into in the app is how we deal with the internal browser. We are currently using WebView2 and I've heard reports that the app will randomly hard crash (not error out, the app just goes "poof") in the middle of downloading files manually. I was able to quickly reproduce this issue and get it to happen consistently on my machine. I've tracked this down to something with the way we're shutting down the browser windows. The easiest way to solve this for now was simply to never fully close the window. With 3.4.0.0 we hide the window when it's done but don't fully close it. This seems on the surface like a hack, which it is, and a horrible idea, which it also kinda is. Thankfully WebView2 has had some rather large optimization enhancements recently, so each one of these hidden windows is only taking about 40MB of space. Now clearly this isn't ideal, so we'll be looking at reusing windows in the next release, but at least this gets people back up and running who are experiencing problems. The proper way to solve this will take a bit more work.

About a month ago I sat down and rewrote all our server side routines in CloudFlare Workers. For those who aren't aware, CloudFlare is a large company that provides caching and distributed hosting services to a lot of companies. In Fact about 1/3rd of the top 1 million websites in the world use CloudFlare in some capacity. We've used them for years for caching, but recently they've released several more services, namely R2 (a storage service for files) and CloudFlare Workers. Workers a bits of javascript code that are executed before, or instead of, the normal caching logic of CloudFlare. This is known as "Edge Computing" or "Serverless hosting". The idea is that you don't have one central server, instead you have your code on hundreds (or thousands) of servers scattered all around the world, and only when a user asks for your data is your "server" run and the data handed to the user.

The benefits of serverless systems is fairly clear: the code each user needs is running on a server likely in the same city the user is residing in, and because the hosting service has more insight into what the service is doing, they can more easily optimize traffic and compute. CloudFlare continues to innovate in this area, and that innovation extends to their pricing. So we are now able to have faster downloads for our users, serve data closer to the users who are requesting it, and still save money in the process.

I completed the transfer to this new service type (and rewrote all our backend code in Javascript) several weeks ago, and it seems to be doing fairly well. I'll continue to monitor it and tune it as needed. In the near future this approach will allow us more insight into files that are no longer needed by our CDN and we'll be able to delete files that haven't been accessed in months or years.

Since it's Thanksgiving time here in the US, I'd love to express my thanks to the Wabbajack moderators, admins, and the developers who have stepped up to help since I quit my job a year ago and moved to working for Nexus Mods. This employment shift has resulted in me having a lot less time and energy to put into Wabbajack, people like Luca, UrbanCMC, and trawzified have stepped up to fill in with a lot of bug fixes, troubleshooting and debugging. The fact that Wabbajack is still "trucking along" is due in great part to them.

Likewise the admins and moderators in the Discord have been very patient with me, explaining and re-explaining issues so I can quickly step in and fix issues when they arise. They often do the leg work and fact gathering, that saves me tons of time in fixing bugs.

And I also want to take time to thank all the modlist authors. I recently fixed a bug with our validation code that existed because the number of lists we have now is way more than I ever expected when writing that validation code. Some of the lists are also well over 10x the size that I considered "normal" back when I started Wabbajack years ago. Their enthusiasm, and creativity brings me a ton of joy, and I smile whenever I'm lurking on Reddit or Youtube and see someone say "this looks awesome, I'm downloading Wabbajack now to try this list out". That's really what I started this project for: to lower the barrier of entry for modding so that anyone can sit down in an evening, click some buttons and be playing a moddded game that night.

Finally I want to thank the users of Wabbajack and the supporters here on Patreon. Running this app isn't cheap and you all have kept this project afloat thus far. Thank you for your donations and support. It's also just crazy to see the number of people who have tried the app and completed an installation. I remember we were hyped the first time we hit 1000 successful installations a day. Now we average around 2300 a day with peaks at almost 3000 a day. Thank you all for keeping the community positive, creative, and new-user-friendly.

Thanks everyone for a great 2023, and I'm looking forward to what 2024 has to offer.

Comments

No comments found for this post.