Added ability to schedule tasks based on timestamp
Fixed mismatched types between frontend and openapi yaml
Simplified imports for several backend components
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
Updated name of updatePlaylist->updatePlaylistFiles for clarity and added updatePlaylist route
Added smarter safe download override, will auto activate if subtitle args are included.
Subfolders are now ensured to exist with the normal downloading method
Initialization now happens after token retrieval to avoid failed requests
Fixed bug that caused login to be called twice, introducing a possible race condition
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
File deletion now works in multi-user mode. Sharing and subscriptions are the last holdouts for porting over to multi-user-mode
Fixed bug with archive mode that defaulted to storing the ID in the video archive all the time (rather than audio if it's an mp3)
Added scaffolding required for jwt authentication for certain routes
Added logger to auth_api
Added necessary routing rules for multi-user mode
Registration is now possible
Added two additional auth methods: registering and logging in. They have minimal functionality right now
Added auth module which will handle all auth-related requests