Can you believe it’s Friday again? Madness.
This week has been a little bit slower on the development front, but there’s still exciting news to share! So without further ado:
Framework
Backup and Restore
I’ve briefly touched on this before, but this was brought up recently by @TheBrokenGod. After some planning, I’m happy to address how this will work:
Server Admins will be able to run qb generate config
(This might be renamed). The command will generate a zip file that can be moved to a new server. The installer will automatically detect this file and ask if you want to import your previous configs, recreate users and install the same software.
This will eventually include media and per-user software settings, however, these will be included in a later release (Have to be careful of feature creep!)
CLI
Now that more software and scripts have been fleshed out, I’ve managed to write out how the CLI will work with v3. We’ll be saying goodbye to fixed positionals and hello to flags. Currently, options have to be passed in a set order:
qb install software [VERSION] USERNAME [OPTION] [OPTION]
As we are looking to significantly expand the CLI usage in v3, there was a need to revamp this. The new CLI usage will be:
qb install software -u username [-v VERSION -o OPTION1 -o OPTION2 -V]
Current optional flags are:
-V - Verbose Output -o - Options (Multiple allowed)
Whilst the CLI slightly longer, it is also quicker, as we aren’t relying on hundreds of ‘if then’ statements to parse the command, and it allows us to expand the installers for more functionality).
Let's Encrypt
One of the main problems with the current lecert installer is the lack of an option to just generate a certificate without updating all the webroot paths. This has now been addressed and v3 will have the option to just generate a certificate for use with other software or websites:
qb install lecert -o no-dash
Autocomplete
The autocomplete is also getting a rework, it’ll now be dynamic. Currently, the autocomplete will list all users when you tab-complete a command. It’ll now only list relevant users. An example being: if you tab-complete an update command, it’ll only output users that have the inputted software installed.
Dashboard
Optimzations
@JMSolo 👑 has been busy with more optimizations this week! Currently, the dashboard handles it’s outputting with various if then
statements, which with all the software QuickBox can install, makes each dashboard file quite long. Now they are being handled from a looped array. This reduces the file sizes dramatically and increases the speed at which the dashboard will output information.
Additional to this is our current run on AJAX requests. Notably those that return the real-time status of a softwares state (active/inactive). Previously these have been calling for the status on every software and looping those requests, we have now tuned these to only check and return the status of those software that are installed by the user. No more requests on things that aren’t installed! This adjustment has additionally been ported into the current v2.4.0
release, so you can grab that as a hotfix as seen below.
Editors
There’ll be a new editor page with the v3 dashboard allowing users to change various files instead of having to modify them via nano/vim/locally. This is still currently under development so more information will be released on this in the coming developer updates.
v2.4.0 Hotfixes
The bulk of JM’s time this week has been used on various hotfixes for the 2.4.0 release. Several pieces of software have had major changes (Requestrr, Jellyfin, and Ombi). If you are having issues with any of these applications then please run a qb fix version
That’s all for this week!