Login errors are handled (and not saved) and can now upload file contents (not just filenames)