* Fixed download spinner in player component
* Downloads UI is more mobile friendly (#905)
* Code cleanup
* Fixed size of actions in home screen downloads
* Errored downloads now display their stage as "Error" in the UI
* Moved personal settings from about dialog to profile dialog
* Profile dialog can now be opened without logging in/without multi-user mode
* Fixed issue where archive dialog could be accessed from anywhere
* Misc internationalization improvements
* Combined download stage and download progress columns
* Added back loading spinner to download actions
* Adjusted thresholds for consolidating download action buttons
* Implemented virtual scrolling for notifications (helps if many notifications exist)
* Fixed minor console error
Added ability to schedule tasks based on timestamp
Fixed mismatched types between frontend and openapi yaml
Simplified imports for several backend components
Updated default value for subscriptions check interval (new value of 86,400 only existed in the default.json)
Text inputs in settings menu are now larger
Removed tomp3 and tomp4 routes, replaced with /downloadFile
Simplified category->playlist conversion
Simplified playlist creation
Simplified file deletion
Playlist duration calculation is now done on the backend (categories uses this now too)
removeIDFromArchive moved from subscriptions->utils
Added plumbing to support type agnostic playlists
- refactored code to be cleaner and more modularized
Updated scrolling on twitch chat to actually scroll to the bottom with new messages
Fast forwarding in videos with a twitch chat is now faster and provides a smoother transition
Updated name of updatePlaylist->updatePlaylistFiles for clarity and added updatePlaylist route
Added smarter safe download override, will auto activate if subtitle args are included.
Fixed bug that caused normal archive to be used in multi-user mode
Updated login logic when username is not found or user file is missing
Fixed bug that prevented playlist sharing from working
Added ability to use timestamps when sharing videos
Fixed bug where playlist subscription downloads would fail due to a mislabeled parameter
Components that are routes now make sure auth is finished before sending requests to the backend