* Move initialization pre-flight checks to app-controller
* Refresh cached public keys for user during incomplete setups
* Reorder redirect checks in login ctrl from most specific (pubkey + privkey) to most generic (no keys)
* Add overridePermission flag to KeychainDAO.refreshKeyForUserId to refresh w/o asking for user permission
* Introduce 2 sec timeout for sent notifications
* Notify only for new messages in the inbox
* Close pending notes when a msg is marked unread in the inbox
Use the first folder provided in well known folders
Add migration script to fix clients with multiple folders for same
category
Handle folder deletion smarter
Extract some magic number/strings to constants in emaildao
* add custom login ability
* encrypt email password
* allow arbitrary tcp connections
* add db migration script v3 -> v4
* add bug reporting capability with the axe logger
* fix nonexistent folder handling
* enable message upload after sent
* use plain text alternative body when replying to html mails
* Move set-credentials.* -> login-set-credentials.*
* Use login styles for set-credentials
* Make OAuth optional
* Use same list style in desktop as mobile
* Bugfix: don't download all body when list not displayed
* Use ng-infinite-scroll to load DOM nodes on demand
* Custom search filter for FTS and reomve angular filters
* Rubber band scrolling on iOS
* Add CSP support in cordova via html meta tag
* Remove recursive ng-includes/templates
* Use DOMPurify to sanitize reader input
* Remove ngSanitize
* Wait to show signature error until body has been parsed
* Fix scrollbar in iframe
* Allow iframe scrolling on iOS
* Move mail text body rendering to sandbox
* Cleanup html files
* Fix memory leak causing iScroll to be re-initialized each time mail-list model changes
* Only do $scope.$apply() when keyboard shortcuts are actually executed