Steps to reproduce:
Type some code, eg:
function foo() {|} // '|' is the cursor
When you hit return with autoindent on, the cursor adds soft tabs:
function foo() {
|
}
If you then hit save, the editor removes all whitespace from the current line and puts the cursor at column 0:
function foo() {
|
}
Expected: you shouldn’t remove whitespace from the current line on save, the user almost always has to recover by re-indenting.