User:Mconnor/Past/WeaveStatus

From MozillaWiki
Jump to: navigation, search

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