Fixing a critical bug with replacing tracks with art.
Fixing bugs with ophaning art when replacing tracks
Fixing bug with duplicate art when replacing tracks
Adding a couple better error handling conditions to track replacement
Fixes for CORS behavior for replacing tracks
Also adding a new way to determine if the track isn't ready
Adding a new table for storing per-user/per-apikey settings in the database
Adding the necessary changes to the model to support the new table
Changing the login/logout operations to be actions off of the username.
Ie. /users/login -> /users/{username}/login
Making sure the updates to the proj files are included
Ok, I took a few months off, and here's what I think should happen:
1) We should just store client-specific settings on the client. Duh.
2) Global settings, we should store on the server. But we should control what types they take. So let's make it a json-serialized object that must pass verification before we store it. So here's those changes.
DBAL updates to expose editing of a user's settings.
Adding operations to expose fetching and storing user settings
Tweaks to add json serialization/deserialization error handling, reordering to make Ordered shuffle the "default"
Merge branch 'f_settings' into develop