2
0
Commit Graph

124 Commits

Author SHA1 Message Date
Maarten Billemont
b9ccee398e Fixed a few crashes.
[UPDATED]   A nil type is never OK.  Crash early if it is so.
[UPDATED]   Set crashlytics identifiers using its userIdentifier and userName property for good metadata.
[FIXED]     Make sure the MOC has a PSC with stores when returning it.
[FIXED]     Don't reset the store for just any open error! Only if it's actually incompatible.
[IMPROVED]  Remove timestamps from Crashlytics and TestFlight logs, they already provide them.
[FIXED]     Avoid crashes in some odd cases where there's no type set.
2012-08-24 10:12:15 +02:00
Maarten Billemont
9d883b6ff7 UserName -> LoginName 2012-08-19 19:54:06 +02:00
Maarten Billemont
75ef15bb4d Import improvements and core data fixes.
[FIXED]     Import fixes:
                - Wait for MOC to become available.
                - Progress UI while working.
                - Import files exported with a different master password.
                - Core Data crashes.
[RENAMED]   Site's User name -> Login name.
[FIXED]     Core Data crashes related to using entities from old MOCs.
2012-08-19 09:34:49 +02:00
Maarten Billemont
c928b1ca2c Fix unlock screen when MOC unavailable.
[REMOVED]   Disable TestFlight for release, it doesn't work anyway.
[FIXED]     Properly handle unlock screen when there is no MOC yet.
[FIXED]     Some log statements format strings & arguments.
2012-08-04 23:15:50 +02:00
Maarten Billemont
8b8d727ee0 Fixes to key saving and searching.
[FIXED]     Saving of keyData in keychain.
[FIXED]     MPSearchDelegate before MOC is available.
[FIXED]     Tip during search didn't show up.
2012-08-04 12:22:36 +02:00
Maarten Billemont
4cdeab4256 Don't block the MOC lookup.
[IMPROVED]  Don't block when MOC is not yet ready, just return nil.
[IMPROVED]  Outdated tip links to info, icon links to site search.
[IMPROVED]  Minor improvements to error handling during import.
2012-08-04 10:16:58 +02:00
Maarten Billemont
b0b6dcc56b Make iCloud removal use file coordinators. 2012-07-29 15:36:00 +02:00
Maarten Billemont
830dcb45ff Word wall + fixes to: guide, export, UI.
[ADDED]     Word wall: Show some random dictionary words while user
            thinks of a new master password to give him some
            inspiration.
[IMPROVED]  Only select user after he choose to reset.
[IMPROVED]  Ugly backdrops in the guide images cleaned up.
[FIXED]     Export of sites should now include a password version field.
[FIXED]     Filename to save exported passwords into should use day of
            the month instead of day of the year.
[FIXED]     No search predicate was set when search scope button wasn't
            set.  As a result, sites from other users showed up.
2012-07-29 12:40:22 +02:00
Maarten Billemont
7be9884075 Better abstraction for key & algorithm + V1
[IMPROVED]  A master password key is now better abstracted in an object.
[IMPROVED]  A master password algorithm is now better astracted in an
            object.
[ADDED]     Elements now have a specific algorithm version.
[ADDED]     Automatic/explicit migration of elements.
[ADDED]     Searching outdated elements.
2012-07-17 22:57:11 +02:00
Maarten Billemont
fc60460935 Settings toggle and site user name.
[ADDED]     Allow saving a user name per site.  This is an optional
            addition, toggled by tapping the new settings icon.
            Obviously user names can't be recovered after loss.
2012-07-16 20:29:48 +02:00
Maarten Billemont
8c71ed0081 Fix deleting of users.
[FIXED]     When retrieving content without a key set, return nil.
2012-07-15 00:09:20 +02:00
Maarten Billemont
3e19a026ba Accessibility improvements + Xcode 4.3 fixes.
[ADDED]     Accessibility hints and labels.
2012-07-14 23:57:06 +02:00
Maarten Billemont
217cf56d94 Versioning + automatic user selection + misc UI tweaks.
[ADDED]     Versioning and explicit migration to MPElementEntity.
[ADDED]     Upgrade button in case the element needs explicit migration.
[ADDED]     Messages in Crashlytics and TestFlight logs upon
            initialization so we can easily see it worked and what the
            client's versioning looks like.
[IMPROVED]  Only show firstRun UI tooltips once.
[IMPROVED]  Automatically select the latest user upon load of unlock.
[IMPROVED]  Automatically select the user when his password is reset.
[IMPROVED]  Hide active element when logging a user out.
2012-07-12 08:50:34 +02:00
Maarten Billemont
8b91c2a0b8 Press data and site experimentation with nivo-slider.
[ADDED]     Press resources: Releases, media, etc.
2012-07-05 00:02:45 +02:00
Maarten Billemont
110f7069e1 Lock when backgrounded.
[FIXED]     When backgrounding the app and re-showing it, don't reveal
            the UI when logout is enabled.
2012-06-28 00:02:00 +02:00
Maarten Billemont
6841ae2b0d Updated iTunesArtwork
[IMPROVED]  iTunesArtwork prettier & 1024px.
[ADDED]     FontReplacer target.
2012-06-27 13:53:39 +02:00
Maarten Billemont
a3698b9e47 Guide pager, fonts, crash.
[ADDED]     Page controller in guide to see where in the guide you are.
[ADDED]     FontReplacer to be able to "use" Exo from IB (by
            substituting "Futura").
[FIXED]     A crash when loading the main VC because of the reset
            password gesture recogniser.
[IMPROVED]  Font in tables to standard system fonts.
[IMPROVED]  Guide content positioning and sizing making space for pager.
2012-06-27 09:51:14 +02:00
Maarten Billemont
5b65c8c6bd Improve UI to be more HIG friendly.
[IMPROVED]  Use action sheets instead of alerts when showing destructive
            action choices.
[IMPROVED]  Make tappable regions at least 44x44pt.
[IMPROVED]  Title/message for alert/sheets.
2012-06-25 08:59:54 +02:00
Maarten Billemont
94c9d50a12 Ability to noop TestFlight and Crashlytics 2012-06-24 21:06:00 +02:00
Maarten Billemont
da860d74c4 More internal fixes. 2012-06-24 16:29:51 +02:00
Maarten Billemont
4e2ceb33a0 Fix an odd bug with a missing input handler for certain keyboard types. 2012-06-24 14:53:05 +02:00
Maarten Billemont
a67d9676ba Improved feedback + logging.
[REMOVED]   Apptentive is now implemented by a standard iOS mail
            composer window and can optionally include logs.
[IMPROVED]  Better inf-level logging of what's going on.
[AUDITED]   Made sure no personal is going out through inf+ levels.
2012-06-14 21:56:54 +02:00
Maarten Billemont
9c875d4311 Default password type + new user confirmation.
[ADDED]     User preference for default password type.
[RENAMED]   Secure type to Maximum Security.
[FIXED]     Logging bug in password generation.
[ADDED]     Confirmation popup after new user creation.
2012-06-11 16:15:49 +02:00
Maarten Billemont
afafa473a7 Reverted changes to unlock presenting and fixed settings display.
[FIXED]     IASK display by not initializing the VC with the right nib.
2012-06-11 00:53:03 +02:00
Maarten Billemont
6f1d53ea35 Improved runtime debug logging + new user avatar selection.
[UPDATED]   Crashlytics.
[IMPROVED]  Sending logs and configuration to crashlytics, added
            sendDebugInfo option that allows the user to choose to send
            more info.  Now also sending a device identifier.
[ADDED]     Avatar selection dialog when a new user is created.
2012-06-10 08:36:11 +02:00
Maarten Billemont
a8bf74a925 AppCode code formatting. 2012-06-08 23:46:13 +02:00
Maarten Billemont
679990dc4b Improved algorithm security.
[UPDATED]   Algorithm updated to reflect advice from randombit.net
            cryptography list:
                - Add in a salt (user name) to defeat rainbow tables.
                - Add in a fixed string to scope the algorithm and avoid
                  colliding with someone else's similar or identical
                  algorithm (also helps protect against precalculated
                  rainbow tables).
                - Use HMAC instead of plain SHA to avoid SHA weaknesses.
                  The old implementation wasn't vulnerable to extension
                  attacks or other known weaknesses, but HMAC is a safer
                  choice and will bring up less suspicion.
                - Prefix strings by length as an extra precautionary
                  measure against possible bugs in hash functions.
2012-06-07 00:25:55 +02:00
Maarten Billemont
b472c85c9d Avatar display fixes.
[ADDED]     A new password type: Secure password.  20 characters, not
            word-based, very high entropy.
[FIXED]     UI bugs and improvements with the avatar display and
            password checking state display.
2012-06-06 22:38:43 +02:00
Maarten Billemont
77306e0046 Unlock and user preferences implementation.
[FIXED]     Unlock screen.
[FIXED]     Internal fixes.
[ADDED]     Avatar selection in preferences.
[ADDED]     Implementation of the other preferences.
[IMPROVED]  UI of unlock and preferences screens.
2012-06-06 00:59:09 +02:00
Maarten Billemont
0491ba3f97 Type improvements and fixes.
[IMPROVED]  Cleaner handling of types in entities.
[FIXED]     Lots of little fixes from refactoring and AppCode
            inspections, throughout.
2012-06-05 00:55:02 +02:00
Maarten Billemont
ba299d4674 User support.
[ADDED]     Support for multiple users, each their own master password.
2012-06-04 11:27:02 +02:00
Maarten Billemont
3de9a0c67e Removed apptentive ratings, added some tool tips, and some fixes.
[REMOVED]   Stop using apptentive for rating questions.  Pearl's
            built-in functionality seems nicer and more basic.
[ADDED]     Some more tool-tips to help the user, to be shown on first
            run only.
[FIXED]     The site name tip wasn't showing anymore.
[FIXED]     Some language and formatting in help.html.
2012-05-27 22:35:03 +02:00
Maarten Billemont
7d0ea4b3f5 Some usability improvements + apptentive fixes.
[IMPROVED]  Make persistence more lazy to avoid UI blocks.
[IMPROVED]  Use "Master Password" as CFBundleDisplayName at runtime.  No
            home-screen length restrictions there.
[FIXED]     Inform Apptentive of significant events.
2012-05-27 14:26:13 +02:00
Maarten Billemont
ac14b10752 Integrated Apptentive.
[ADDED]     Experimental support for Apptentive.
2012-05-23 09:30:07 +02:00
Maarten Billemont
42704ab504 CFBundleVersion fixes for App Store validation. 2012-05-20 22:20:01 +02:00
Maarten Billemont
44911f1d9e Improvements to UI cleanup, confirm new master passwords, texts updates.
[FIXED]     Immediately open the application on the password entry view
            if the key is forgotten instead of revealing the internals
            in a blink.
[FIXED]     Clean up the UI better when switching between master
            passwords.
[ADDED]     Ask spelling confirmation when a master password is used
            that doesn't have any known sites yet.
[ADDED]     iPad HD quality icon.
[IMPROVED]  Artworks re-generated, downscale improved, convertImages
            improved.
[IMPROVED]  Small guide text improvements.
[UPDATED]   Help texts updated for current operation and UI.
2012-05-20 20:00:39 +02:00
Maarten Billemont
16fc32ee30 Make it work on iPad. 2012-05-17 15:22:37 +02:00
Maarten Billemont
ac9534c680 Ask the user to review the application after a few launches.
[ADDED]     Using Pearl's review tracking to ask the user to review the
            application after he's used it a few times.
2012-05-16 23:52:32 +02:00
Maarten Billemont
2020637f0e Pearl update + search tip.
[ADDED]     A tip when searching for sites suggesting a site name
            format for sites and email accounts.
2012-05-15 23:27:05 +02:00
Maarten Billemont
b0875beb36 Bump Pearl for a bug in the PearlLogger. 2012-05-13 16:46:37 +02:00
Maarten Billemont
94818bb242 Build updates for OS X. 2012-05-13 10:24:19 +02:00
Maarten Billemont
301366f1f1 Log messages + OTP.
[IMPROVED]  MP-15: Audit and improve log messages.
[ADDED]     If an element's counter is 0, generate a time-based OTP
            instead.  The OTP changes every 5 minutes.
2012-05-12 18:31:05 +02:00
Maarten Billemont
941b428cfc More reliable search results.
[IMPROVED]  MP-14: Made searchResultsTableView more reliable.
2012-05-12 16:04:18 +02:00
Maarten Billemont
82b8de5e23 iCloud toggling + internal improvements
[UPDATED]   Change TestFlight preprocessor toggles to
            TESTFLIGHT_SDK_VERSION.
[IMPROVED]  Change logic behind shared MPAppDelegate to inheritance,
            allowing for the common files to implement methods that the
            platform-specific class can override.
[IMPROVED]  Handling and checking of config changes.
[ADDED]     iCloud config toggle, allowing a user to turn on and off
            the iCloud store.
[IMPROVED]  Explanation of iCloud.
2012-05-11 23:42:29 +02:00
Maarten Billemont
6bbd183ac9 TestFlight checkpoint update + iCloud warning.
[UPDATED]   Check TARGET_OS_IPHONE instead of
            __IPHONE_OS_VERSION_MIN_REQUIRED.
[UPDATED]   A few TestFlight checkpoints names have been updated.
[ADDED]     A few new TestFlight checkpoints for new features.
[ADDED]     Warn the user when he's not using iCloud and allow him to
            switch back to iCloud.
2012-05-11 17:04:51 +02:00
Maarten Billemont
7d9131cdca Fix archive build. 2012-05-11 10:48:25 +02:00
Maarten Billemont
eb4e25c0ba Fix importing of sites.
[FIXED]     Parsing mpsites for import.
2012-05-11 09:05:11 +02:00
Maarten Billemont
db7d68a091 Fix migration problems non-interactively.
[FIXED]     Migration problems should be fixed non-interactively: The
            main thread may well be unavailable which means we may not
            be able to actually get a message through to the user.  This
            would dead-lock the migration problem recovery.
2012-05-09 23:36:45 +02:00
Maarten Billemont
c8f9f79bb2 Handle store loading errors.
[ADDED]     Detect store loading errors and attempt to recover.
2012-05-09 19:34:00 +02:00
Maarten Billemont
7c5cea9c8d Mac support for preferences: rememberKey, saveKey, useICloud.
[ADDED]     OS X: Lots of warning checks when compiling.
[ADDED]     OS X: Ability to enable and disable iCloud.
[ADDED]     OS X: Support for rememberKey & saveKey.
[UPDATED]   storeKey -> saveKey: makes more sense to people.
[IMPROVED]  OS X: Password display window fancier.
2012-05-08 13:46:08 +02:00
Maarten Billemont
f622b2c7d4 iCloud fixes.
[UPDATED]   Moved shared MPAppDelegate code into separate files
            depending on the code's responsibility.
[UPDATED]   iCloud implementation removed in favor of
            iCloudStoreManager's managed implementation.
[FIXED]     iCloud configuration made AppStore friendly.
2012-05-07 22:32:10 +02:00
Maarten Billemont
98080ceb51 Persistence fixes and improvements.
[UPDATED]   Pearl to ARC.
[FIXED]     Crash related to persistence changes that caused UI updates
            while other UI changes were ongoing.
[IMPROVED]  Real description of MPElementEntities and use content
            whenever the password is requested.
[IMPROVED]  iOS: Handling of search result fetching and table reloading.
2012-05-07 01:18:02 +02:00
Maarten Billemont
376953ae56 iCloud sync fixes.
[REMOVED]   OS X: Disabled ability to add new sites from OS X until I
            have time to implement it properly without causing
            duplicates etc.
[MOVED]     iCloud and Core Data support was centralised to iOS and OS X
            to make sure both platforms always use the same container
            configuration.
[FIXED]     iCloud sync problems.
[REMOVED]   iCloud KV is not used/needed.
2012-05-04 18:54:58 +02:00
Maarten Billemont
26f8e086bb Fix double reset counter trigger.
[FIXED]     Reset password counter triggered twice.
2012-05-03 20:17:30 +02:00
Maarten Billemont
950ce888e2 Crashlytics, Localytics, TestFlight + password change warnings.
[ADDED]     Crashlytics, Localytics.
[IMPROVED]  Async TestFlight takeOff.
[REMOVED]   TestFlight token hidden.
[FIXED]     Warnings, mostly to do with sign conversions.
[ADDED]     Warning messages whenever site's password changes, allowing
            the user to cancel the operation.
[ADDED]     Make password counter resettable by holding down on the
            counter increment button.
2012-05-03 16:49:15 +02:00
Maarten Billemont
657fef6249 Removed network from MP OS X + initial STM code MP iOS.
[REMOVED]   OS X: Removed networking code.  We're going to use SendToMac
            instead.
[ADDED]     iOS: Initial code for communicating with SendToMac hosts.
2012-03-14 00:55:49 +01:00
Maarten Billemont
0d19202ca7 Beginnings of network listener.
[ADDED]     OS X: Code to open a listening socket (WIP).
[ADDED]     OS X: Code to broadcast socket via Bonjour.
2012-03-12 18:14:01 +01:00
Maarten Billemont
1755bd1607 Bump Pearl for sheet fix.
[FIXED]     MP-9: Action sheet shows up in portrait while in landscape.
2012-03-11 16:12:18 +01:00
Maarten Billemont
6bda70920b Fix Pearl/scrypt/openssl on Mac + password window.
[FIXED]     Dependencies and compilation on OS X.
[ADDED]     MPPasswordWindowController: Window to handle passwords.
2012-03-05 09:53:32 +01:00
Maarten Billemont
2761355180 Initial Mac project.
[ADDED]     A basic Mac OS X project.
[ADDED]     A basic UI for the Mac project.
[FIXED]     Notification at store update from iCloud.
2012-03-04 15:31:26 +01:00
Maarten Billemont
eae8e9b7c4 Lockscreen improvements.
[FIXED]     Switching between guide and unlock screen.
[ADDED]     Sign out button in action so you can sign in with a
            different master password.
[REMOVED]   Change password from MPConfig.  There are better facilities
            for this now.
[FIXED]     Image names in the lockscreen.
2012-02-29 01:56:58 +01:00
Maarten Billemont
50da5c0cb1 Update for prefixed Pearl. 2012-02-27 23:38:28 +01:00
Maarten Billemont
f3196841f3 TestFlight update + search improvements.
[UPDATED]   TestFlight SDK updated to 0.8.3
[ADDED]     Log >=info messages to TestFlight
[ADDED]     Hide status bar while locked.
[ADDED]     Show all sites when search results icon is tapped.
[IMPROVED]  Search table cells.
2012-02-26 23:01:17 +01:00
Maarten Billemont
ad9c52896d Use scrypt for deriving a safer key from the master password + website. 2012-02-13 10:28:47 +01:00
Maarten Billemont
360f71c4fa Add TestFlight.
[ADDED]     TestFlightSDK implemented.
2012-02-06 00:40:20 +01:00
Maarten Billemont
ad9d124a32 In-App Settings.
[ADDED]     Settings view to edit the settings while in the app.
2012-02-05 22:01:37 +01:00
Maarten Billemont
9b961ecac1 Menu using UIActionSheet 2012-02-05 19:46:24 +01:00
Maarten Billemont
63600ab765 Show guide only first time + improved guide docs. 2012-02-03 00:10:58 +01:00
Maarten Billemont
b10c00786e Improvements all over.
[IMPROVED]  Use SHA-1 instead of MD-4 for hashing the user givens.
[UPDATED]   Remember master password on by default.
[IMPROVED]  More and improved FAQ.
[ADDED]     Auto-generate build/version values in Info.plist and
            Settings Root.plist.
2012-01-30 01:02:45 +01:00
Maarten Billemont
e5ab2605f9 Make UI fancier & better documented. 2012-01-25 00:30:43 +01:00
Maarten Billemont
289e9d69b4 Internationalisation fixes. 2012-01-19 23:29:30 +01:00
Maarten Billemont
713ec69a20 UI improvements & security.
[ADDED]     Settings for remembering and storing the master password.
[ADDED]     KeyChain used to store master password & hash.
[IMPROVED]  Remember whether help is hidden.
[FIXED]     Making passwords stored.
[ADDED]     Generated password counter. Edit stored passwords.
[IMPROVED]  UI prettier and better documented.
[ADDED]     Warnings when changing a site's password.
2012-01-19 17:40:39 +01:00
Maarten Billemont
cab35df79b Initial working password application with types and history. 2012-01-05 01:44:15 +01:00
Maarten Billemont
d7a448dfe0 Initial UI. 2011-11-30 22:42:40 +01:00