Commit graph

88 commits

Author SHA1 Message Date
Danny Moesch
b3bde9e0e0 Implement Siri shortcut to sync repository per automation task 2020-03-16 10:13:49 -07:00
Mingshen Sun
2dc8182fe8
Update core data in main thread 2020-02-18 11:04:08 -08:00
Danny Moesch
94a5f8c501 Introduce KeyImporter protocol to reduce code duplications in SSH key importers 2020-02-16 10:17:58 -08:00
Danny Moesch
5f6723246b Some cosmetic changes 2020-02-10 10:32:14 -08:00
Danny Moesch
a2edf41d33 Update SwiftyUserDefaults to current version 5.0.0 2020-01-01 19:03:04 -08:00
Mingshen Sun
cea1332b0d
Fix some UI issues introduced by refactoring 2019-12-01 00:25:24 -08:00
Mingshen Sun
2f3e51947a
Refactor the request credential function 2019-11-30 22:39:21 -08:00
Mingshen Sun
258906fdbb
Refactor Git URL related code, fix #336 2019-11-30 15:11:28 -08:00
Mingshen Sun
a07f3af4e2
Forgot to saveUpdateContext() in edit 2019-11-18 18:08:31 -08:00
Yishi Lin
30bb227ae3 Fix #332: The synced status is now saved in DB 2019-11-19 02:19:57 +08:00
Danny Moesch
4c47729a6e Fix #326: Do not assume 'master' as the default checked out branch 2019-11-08 14:30:56 -08:00
Yishi Lin
e0c32003e3 Cleanup and fix the erase logic
Explicitly uninit PGP agent during erasing all data.
2019-10-01 00:40:37 +08:00
Yishi Lin
230b421a90 Add the passcode cache back 2019-10-01 00:16:56 +08:00
Danny Moesch
c824bb10e7 Introduce constants for Git password identifiers 2019-09-15 00:32:18 -07:00
Danny Moesch
730542d5bb Separate encryption/decryption logic for different frameworks used 2019-09-15 00:32:18 -07:00
Yishi Lin
032e442d78
Merge pull request #292 from SimplyDanny/make-simulator-untouched-by-tests
Do not influence the Simulator by tests
2019-07-21 13:39:53 +08:00
Danny Moesch
b42401343d Let AppKeychain not be static only 2019-07-20 23:42:32 +02:00
Danny Moesch
ea37b40e2f Mark field 'gpgAgent' as never-nil 2019-07-20 22:59:22 +02:00
Yishi Lin
e967bb1f4c Add PGPAgent tests and minor updated 2019-07-20 00:41:45 +08:00
Yishi Lin
1ec26a0eea Clean up very old migration codes 2019-07-19 01:46:56 +08:00
Yishi Lin
6ae4a02a01 Seperate PGPAgent from PasswordStore and add tests 2019-07-17 02:58:01 +08:00
Yishi Lin
0862c1388e Use ObjectivePGP if Gopenpgp fails 2019-07-17 00:19:23 +08:00
Danny Moesch
cc493cb490 Allow setting a nil value in AppKeychain.add to delete existing content 2019-07-03 21:45:27 -07:00
Danny Moesch
fa2fde1af4 Leave key source settings unchanged when migrating 2019-07-03 21:45:27 -07:00
Danny Moesch
149edc1cbc Only migrate if possible (do not stop after first failure) 2019-07-03 21:45:27 -07:00
Danny Moesch
f1337622dc Store SSH private keys in Keychain instead of files 2019-07-03 21:45:27 -07:00
Danny Moesch
6b95e60ea1 Introduce CryptographicKey protocol 2019-07-03 21:45:27 -07:00
Danny Moesch
5f19c348c8 Keep global constants for armor keys and clean them up during migration and user initiated key removal 2019-07-02 13:50:16 -07:00
Danny Moesch
7bee780b46 Extract key importing logic and put it into separate class 2019-07-02 13:50:16 -07:00
Danny Moesch
47c9af0127 Fix wrong Keychain key string
This caused the private PGP key passphrase to remain unchanged although the key itself was removed.
2019-07-02 13:50:16 -07:00
Danny Moesch
b806175842 Throw error in case PGP key files cannot be read 2019-07-02 13:50:16 -07:00
Danny Moesch
f0003227d5 Delete key files after migrating them to Keychain 2019-07-02 13:50:16 -07:00
Danny Moesch
441a7f1e9b Put Keychain related methods to separate class 2019-07-02 13:50:16 -07:00
Danny Moesch
e4e4c6daff Implement migration of existing PGP keys into Keychain 2019-07-02 13:50:16 -07:00
Danny Moesch
a66a79abc6 Store PGP keys in Keychain 2019-07-02 13:50:16 -07:00
Yishi Lin
0ec5b5cd80 Fix the git add path 2019-06-15 16:21:37 +08:00
Mingshen Sun
82232be92c
remove some unwraps 2019-06-09 22:18:54 -07:00
Mingshen Sun
c66439c2f9
passKit: fix warnings 2019-06-08 18:03:04 -07:00
Moritz Kuntze
96f7c1960d Changed PGP backend from ObjectivePGP to GopenPGP 2019-06-08 10:39:17 -07:00
Danny Moesch
adff0c1142 Fix #258: Remove existing key files before moving new ones to the same location 2019-05-15 22:49:46 +02:00
Yishi Lin
451e2f6fbb Fix 262: save context after editing 2019-05-15 01:12:10 +08:00
Yishi Lin
ebb3566616 Cleanup old migration codes 2019-05-15 01:09:58 +08:00
Danny Moesch
c2cd6481fd Utilize default settings values 2019-05-01 18:30:13 +02:00
Danny Moesch
f9c19b3ca4 Migrate to Swift 5.0 2019-05-01 18:30:13 +02:00
Danny Moesch
89c0d3c98e Assign nil by unwrapping optional 2019-05-01 17:09:34 +02:00
Danny Moesch
9e0d60989b Remove unnecessary returns 2019-05-01 17:08:44 +02:00
Danny Moesch
3cf55d91ff Display last updated date in absolut instead of relative form
This is necessary to have a language independent representation. For example, the previous format would have produced a grammatically wrong term in German.
2019-02-23 14:22:27 -08:00
Danny Moesch
38b44cedf8 Add missing error messages and name them consistently
Since the AppError enum is suffixed with 'Error', the elements itself do not need this suffix, too.
2019-01-20 21:04:04 -08:00
Danny Moesch
1b4040135e Localize strings in code 2019-01-20 21:04:04 -08:00
Danny Moesch
6b4dbd50a9 Support custom branches (#236) 2019-01-13 15:34:01 -08:00