User:Mconnor/Past/WeaveStatus
From MozillaWiki
Basically, I want to replace weaveStatusCode and detailedStatus with a single status object that has sync, login and detailed engine failure statuses, and is smart enough to set top-level status without extra wrappers.
status: service: login: sync: engines: // if statusCode is SYNC_SUCCEEDED, status is STATUS_OK setSyncStatus(statusCode) // if statusCode is LOGIN_SUCCEEDED, status is STATUS_OK setLoginStatus(statusCode) // only called on engine sync failure, sets status to SYNC_FAILED_PARTIAL setEngineStatus(engine, statusCode) service statuses: STATUS_OK LOGIN_FAILED SYNC_FAILED SYNC_FAILED_PARTIAL // we should probably return something useful here when offline/private browsing/etc login status: LOGIN_SUCCEEDED LOGIN_FAILED_NO_USERNAME LOGIN_FAILED_NO_PASSWORD LOGIN_FAILED_NETWORK_ERROR LOGIN_FAILED_INVALID_PASSPHRASE LOGIN_FAILED_LOGIN_REJECTED sync status: SYNC_SUCCEEDED METARECORD_DOWNLOAD_FAIL VERSION_OUT_OF_DATE DESKTOP_VERSION_OUT_OF_DATE KEYS_DOWNLOAD_FAIL NO_KEYS_NO_KEYGEN KEYS_UPLOAD_FAIL SETUP_FAILED_NO_PASSPHRASE