Fixed scoutradioz-utilities not behaving right with database tiers
Updated SMUI
Disabled preload on hover because it's unneeded in a CSR app
Code cleanup for data import/export
Created reusable dialog component, with a kinda-similar "API" to those in Prompts.js on the mothership
Made all form components emit change events, so that the match/pit form page can listen to the change event instead of using a dollar expression on the value (the latter being quite unstable)
Added httpAssert to be used in HTTP routes, which throws a Svelte error
Fixed the way utilities handles tiers
Added the abiliity to create alert-on-redirect messages similar to Mothership's res.redirect('/path?alert=foo') thing
Added data validation and history to match/pit scouting submit api
Created "DBOperations" file containing all major code for Dexie database operations and data download/upload, to improve code organization
Moved match assignment list into its own component
Public-facing changes:
Added snackbars of different colors (success, warn, info, error) similar to NotificationCards on the mothership
Added QR transmission of individual pit scouting results
Fixed language fallbacks when a certain string isn't available in one language
Improved the way logs are presented in the debug page (long logs are clickable to open a view of the full message)
Replaced the full SCOUTRADIOZ logo on the header bar with the page title and an optional contextual subtitle
Made the match/pit form layout automatically download when the user logs in
Fixed "You are not logged in" error when clicking change organization
Improved autosave on pit/match scouting forms
Added refresh button to pit/match dashboard pages to fetch the latest schedule/assignments
Added ability to save and re-process a failed QR code (Use case: Scan match schedule without having up-to-date org info on phone, receive error, scan org info QR, then re-process the match schedule without having to re-scan it)
Made header bar slide away when you scroll down then back in when you scroll up
Significantly improved offline functionality, where pressing refresh in the browser will not break the app
Added "Update is available" button that lets you update and relaunch Voyager when you click it, similar to how Discord works
Reduced app download size by removing unused fonts and switching to woff2 for the ones we are using, which is web-optimized and uses compression
Changes that will only interest devs:
Public-facing changes: