STR: 1. Login as desired user. (quit, if need be, doubt that's necessary) 2. Go to sync preference pane, and "Start over" 3. Enter username/password/server (same user as 1. not sure what happens with different user) 4. On passphrase page, enter the wrong value 5. Restart Expected Results: Not logged in Actual Results: Logged in If at step 3 you leave everything blank and then restart, you're not logged in. So there's some not so great inconsistency here.
Followup... We're using the saved passphrase if it exists (which was the case above). If you never saved a passphrase, then when you restart & sync, you're logged in, but passphrase-less. And then BAM! (no traceback because this is coming through xpcom) [Exception... "'Can't add a login with a null or empty password.' when calling method: [nsILoginManager::addLogin]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "JS frame :: file:///Users/pao/mozilla/weave-dev/dist/stage/modules/identity.js :: persist :: line 120" data: no]
To fix this, when selecting "Use a different account" we should remove the saved password/passphrase, in addition to resetting prefs. We should do this while we're mucking around with bug 539057
If you enter user/pass, we attempt login, and eat the failure and advance. However, now that start over actually nukes creds, this appears mostly fixed, but I suspect there's a case where we're calling persistLogin where we shouldn't be.
Nuking the creds (and prefs) does most of the work, but the case from comment 1 is valid. I think the patch in bug 554936 should mostly fix it though. I'm not 100% sure, so we'll come back to follow up for 1.3.
This looks fixed, as far as I can tell. I get told I need to set up weave, and the prefpane says no password is saved, which is correct, so w00t. Code-wise, there's no persistLogin calls that shouldn't exist, so I'm going to call this FIXED. If there are follow-on issues, those should be in new bugs.