Commit graph

1668 commits

Author SHA1 Message Date
Harsh Shandilya
e05c704539
refactor(build): sync Gradle properties set with current AGP 2023-05-20 23:50:39 +05:30
Harsh Shandilya
5420faff34
feat(gpg): add methods to clear entries from GPG passphrase cache 2023-05-19 18:58:48 +05:30
Harsh Shandilya
05c9c8c0ef
fix(app): remove invalid lint 2023-05-16 15:54:50 +05:30
Harsh Shandilya
76efe73e28
chore: refresh Lint baseline with AGP 8.1.0-beta02 2023-05-16 15:41:54 +05:30
Harsh Shandilya
29ca93854a
fix: check feature flag before biometric auth 2023-05-13 15:24:48 +05:30
Harsh Shandilya
ec696c1d8d
feat: raise min SDK to 26
Autofill is only available on API 26 and above and I do not want to deal with
bugs on these older Android releases.
2023-05-12 20:28:36 +05:30
Harsh Shandilya
39c7b0cb7b
fix: add warning to passphrase cache feature 2023-05-09 00:13:09 +05:30
Harsh Shandilya
f3fc246c58
chore: adjust code style 2023-05-08 11:39:49 +05:30
Harsh Shandilya
d988bdd0dc
feat: wire up passphrase cache
Currently has horrible UX and is behind an experimental feature flag
2023-05-08 03:09:26 +05:30
Harsh Shandilya
4ff0525e95
fix: adjust GPGPassphraseCache public API 2023-05-08 02:51:08 +05:30
Harsh Shandilya
df58f484ac
refactor: move out GPG identifier parser to BasePgpActivity 2023-05-08 02:51:08 +05:30
Harsh Shandilya
136f4e5caa
chore: touch up codestyle in BiometricAuthenticator.kt 2023-05-08 01:10:45 +05:30
Harsh Shandilya
f9730cae58
feat: kick off a very basic passphrase cache 2023-05-05 00:51:51 +05:30
Harsh Shandilya
1e68e97b25
refactor: make PreferenceModule codestyle consistent 2023-05-05 00:47:32 +05:30
Harsh Shandilya
def9786736
feat: switch default password generator to Diceware 2023-05-05 00:30:53 +05:30
Harsh Shandilya
ff372c0c97
Sync localisations from Crowdin (#2493)
strings: sync with crowdin

Co-authored-by: GitHub Actions <noreply@github.com>
2023-04-30 00:30:49 +00:00
renovate[bot]
d04e1fa368
fix(deps): update dependency com.facebook:ktfmt to v0.44 (#2490)
* fix(deps): update dependency com.facebook:ktfmt to v0.44

* chore: reformat with ktfmt 0.44

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2023-04-29 01:28:41 +00:00
Harsh Shandilya
3e67280f65
fix: use password entry for OTP entry field 2023-04-27 15:15:04 +05:30
Harsh Shandilya
5659ad9863
feat(build): add Slack's Compose Lints 2023-04-27 14:45:06 +05:30
Harsh Shandilya
53497c0365
feat(lint): update baselines 2023-04-27 01:37:20 +05:30
Harsh Shandilya
d6fdd3580f
fix: remove injection redirection in SSHFacade 2023-04-10 22:59:54 +05:30
Harsh Shandilya
fb8d74fc1f
feat: put new SSH layer behind a feature flag
There hasn't been nearly enough regression testing on this and
it is causing breakage, let's move it out of the default path
until we've ironed out the kinks.
2023-04-10 17:19:32 +05:30
Harsh Shandilya
5ab0c53d03
fix: actually apply LeakCanary config changes 2023-04-10 16:20:59 +05:30
Harsh Shandilya
0a16ac7620
fix: only check repo initialization in commit flow 2023-04-06 18:16:09 +05:30
Harsh Shandilya
c4edf7f0e6
feat: wire up key import functionality 2023-04-06 18:14:35 +05:30
Harsh Shandilya
a96f24ac96
fix: use created repository directly 2023-04-06 17:53:14 +05:30
Aditya Wasan
97b3577a46
Refactor SSHKey into a separate module (#2450)
* refactor(ssh): add `ssh` module

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* refactor(ssh): add `SSHKey` data class

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* refactor(ssh): add `SSHKeyType` enum

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* refactor(ssh): add `SSHKeyAlgorithm` class

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* refactor(ssh): add class to generate `RSA` key

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* chore(ssh): add required dependencies

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* refactor(ssh): add `ECDSAKeyGenerator` and remove constants

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* refactor(ssh): add utilities

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* feat(ssh): add `SSHKeyWriter`

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* refactor(ssh): make ssh key generators suspending

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* fix(ssh): fix explicit API violations

* feat: complete `ED25519KeyWriter` implementation

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* factor(ssh/writer): update writer interface

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* feat(ssh/provider): add providers for different key types

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* feat(ssh): add SSHKeyManager for common key functionality

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* feat(ssh): add remaining methods to reach feature parity with old SSH implementation

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* wip(app): start using SSHKeyManager instead of SSHKey class

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* refactor(ssh): update package name

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* chore(ssh): fix detekt warnings

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* chore: fixes across the board

---------

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2023-04-02 18:04:33 +00:00
Harsh Shandilya
8b97a4a3f1
refactor: migrate to androidx.core APIs for Bundle/Intent API changes 2023-03-27 17:53:10 +05:30
Harsh Shandilya
8258c08f10
Sync localisations from Crowdin (#2440)
strings: sync with crowdin

Co-authored-by: GitHub Actions <noreply@github.com>
2023-03-27 04:57:23 +00:00
Harsh Shandilya
cb0a2fe6ee
Sync localisations from Crowdin (#2439)
strings: sync with crowdin

Co-authored-by: GitHub Actions <noreply@github.com>
2023-03-26 00:26:24 +00:00
Harsh Shandilya
8af09d5bc8
feat: offer to import a PGP key when none are present 2023-03-25 12:36:13 +05:30
Harsh Shandilya
e2900c26de
fix: use DispatcherProvider in CryptoRepository 2023-03-25 12:26:01 +05:30
Harsh Shandilya
f07bfb2f97
chore: rename import button label string resource 2023-03-25 12:26:01 +05:30
Harsh Shandilya
e3eb6b1c9c
fix: ensure repo dir is recreated after deletion 2023-03-25 11:30:19 +05:30
Harsh Shandilya
73de8ba267
fix: extract hard-coded string 2023-03-24 13:30:14 +05:30
Harsh Shandilya
29eaa09427
feat: add user guidance in PGP key manager screen 2023-03-24 13:17:54 +05:30
Harsh Shandilya
bebb804e01
fix: adjust LeakCanary init flow 2023-03-24 10:19:02 +05:30
Harsh Shandilya
db7756638a
refactor(build): wire up CC-compatible task dependencies for Crowdin 2023-03-21 13:45:12 +05:30
Harsh Shandilya
2f524fc2b7
fix(build): remove DSL_SCOPE_VIOLATION suppression
This was a Gradle bug that is now fixed https://docs.gradle.org/8.1-rc-1/release-notes.html#:~:text=Access%20to%20version%20catalog%20for%20plugins%20in%20the%20plugins%20%7B%7D%20block
2023-03-21 13:43:09 +05:30
Harsh Shandilya
a96213f6ce
fix: inverted test in Migrations#removeCurrentBranchValue 2023-03-19 19:11:27 +05:30
Harsh Shandilya
ddd958a8d6
fix(app): control LeakCanary lifecycle more explicitly 2023-03-18 21:53:50 +05:30
Harsh Shandilya
0fa2521592
fix: also swallow retry attempts in SSHJ biometric auth 2023-03-08 23:05:19 +05:30
Harsh Shandilya
d8dbe74d3a
chore: add more logging to biometric operations 2023-03-08 22:59:31 +05:30
Harsh Shandilya
16d6b1e853
fix: use UI context for more Toasts
Fixes: a3b88c1dee ("fix: use activity context for Toast")
2023-03-08 22:59:12 +05:30
Harsh Shandilya
90b9ed88eb
fix: make remembering HTTPS password the default
Not many good reasons to do this a different way
2023-03-04 00:19:31 +05:30
Harsh Shandilya
a3b88c1dee
fix: use activity context for Toast
Fixes a newly introduced warning in API 33

> Tried to access visual service WindowManager from a non-visual Context:app.passwordstore.Application@d2801f8 WindowManager
> should be accessed from Activity or other visual Context. Use an Activity or a Context created with
> Context#createWindowContext(int, Bundle), which are adjusted to the configuration and visual bounds of an area on screen.
2023-03-04 00:19:31 +05:30
Harsh Shandilya
96d624a205
chore: refresh Lint baselines 2023-03-01 17:23:33 +05:30
Harsh Shandilya
ff58afde28
refactor(app): centralize lint configuration 2023-03-01 17:17:09 +05:30
Harsh Shandilya
ccf2e835ef
Sync localisations from Crowdin (#2392)
strings: sync with crowdin

Co-authored-by: GitHub Actions <noreply@github.com>
2023-02-26 00:27:43 +00:00
Harsh Shandilya
ca982c0000
chore(i18n): import current translations 2023-02-23 19:13:04 +05:30
Harsh Shandilya
122131ba9f
fix: clarify OTP import failure strings 2023-02-23 18:38:46 +05:30
Harsh Shandilya
2d078149d5
chore(deps): bump com.facebook:ktfmt to 0.43 2023-02-08 00:08:49 +05:30
Harsh Shandilya
5510fd5a80
Revert "refactor: use a ViewModel to pass around decryption passphrase"
This fails to correctly handle retries. Will re-land after I can figure out why.

This reverts commit 2fbad7ef6b.
2023-01-31 19:14:27 +05:30
Harsh Shandilya
09bbd9ea82
feat: wire up SLF4J integration 2023-01-28 19:01:05 +05:30
Harsh Shandilya
ca032a1737
refactor: extract SLF4J loggers for re-use 2023-01-28 19:01:05 +05:30
Harsh Shandilya
5e0e0a8be2
chore(deps): upgrade security-crypto to 1.1.0-alpha04 2023-01-26 13:00:13 +05:30
Harsh Shandilya
e17a17a8e8
fix(app): address UI inconsistencies in proxy configuration screen 2023-01-26 12:17:08 +05:30
Harsh Shandilya
2fbad7ef6b
refactor: use a ViewModel to pass around decryption passphrase 2023-01-19 17:01:47 +05:30
Harsh Shandilya
ed5385a0d8
fix: remove deprecated method 2023-01-12 10:59:32 +05:30
Harsh Shandilya
7eb3e4e397
fix: add ProGuard rules for LeakCanary's reflective uses 2023-01-05 00:41:43 +05:30
Harsh Shandilya
f486a40ee7
chore: reword confusing comments 2022-12-31 19:39:28 +05:30
Harsh Shandilya
4df55fef61
chore: add inherited deprecation annotation 2022-12-31 13:03:19 +05:30
Harsh Shandilya
6c575a59bb
fix: remove unnecessary log statement 2022-12-31 13:02:33 +05:30
Harsh Shandilya
baf1fdd891
fix(lint): adjust TrustAllX509TrustManager regexp 2022-12-22 11:30:31 +05:30
Harsh Shandilya
26c8769349
chore: refresh Lint baseline 2022-12-19 17:48:24 +05:30
Harsh Shandilya
8cfe6ec84c
refactor: merge format-common-impl into format-common
Also converts the format-common module into an Android library since
UriTotpFinder requires the Android SDK.
2022-12-19 16:47:17 +05:30
Harsh Shandilya
89b47f6ae8
fix(autofill): fall back to remote views when inline presentations are unavailable
Fixes #2290
2022-12-12 21:40:25 +05:30
Harsh Shandilya
395bd39285
Sync localisations from Crowdin (#2295)
strings: sync with crowdin

Co-authored-by: GitHub Actions <noreply@github.com>
2022-12-11 00:29:54 +00:00
Harsh Shandilya
2d3d6707e8
chore(deps): upgrade ktfmt to 0.42 2022-12-09 18:22:25 +05:30
Harsh Shandilya
8a0e987743
chore: fix issues flagged by Lint 2022-12-08 20:01:02 +05:30
Harsh Shandilya
9156a81ad7
feat(leakcanary): migrate to manual initialization 2022-12-03 18:07:47 +05:30
Harsh Shandilya
8e3b4422a9
feat(app): add implementations for SentryLeakUploader 2022-12-03 17:46:14 +05:30
Harsh Shandilya
d4dd147c25
refactor: break out overly long method 2022-11-27 13:28:46 +05:30
Harsh Shandilya
56a25dcd32
refactor: replace branch preference value with repository-based helper 2022-11-27 13:28:46 +05:30
Harsh Shandilya
74711fcc78
refactor: remove branch input for cloning 2022-11-27 13:28:46 +05:30
Harsh Shandilya
014c7a62c0
chore: use asLog extension instead of duplicating 2022-11-27 13:28:45 +05:30
Harsh Shandilya
8bb61eca2d
refactor: make ResetToRemoteOperation actually work and use its own remoteBranch input 2022-11-27 13:28:45 +05:30
Harsh Shandilya
e8aabaf752
feat: add a helper to PasswordRepository to retrieve the current branch 2022-11-27 13:28:45 +05:30
Harsh Shandilya
2a3f78d43e
feat: add TextInputDialog for generic text input dialogs 2022-11-27 13:28:45 +05:30
Harsh Shandilya
2decedbf4b
feat: remove Beagle
It breaks WhatTheStack and doesn't offer anything particularly useful
2022-11-27 12:43:36 +05:30
Harsh Shandilya
c89e9250c2
fix: correctly handle default auth mode 2022-11-26 19:25:49 +05:30
renovate[bot]
2a6fe4f159
fix(deps): update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.22.0 (#2262)
* fix(deps): update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.22.0

* chore: sync detekt config with 0.22.0 changes

* chore: fix Detekt warning

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-11-21 12:13:33 +05:30
Harsh Shandilya
a981b6b9f7
chore: inject VM with Lifecycle-ViewModel-Compose integration 2022-11-18 14:24:07 +05:30
Harsh Shandilya
11f192532f
feat: make key import update key list 2022-11-18 14:23:10 +05:30
Harsh Shandilya
84b9839635
feat: move key import to key manager UI 2022-11-18 12:31:19 +05:30
Harsh Shandilya
10b502fb0a
refactor: extract deletion confirmation dialog to its own method 2022-11-18 12:19:46 +05:30
Harsh Shandilya
6fa8b188e6
feat: add a confirmation dialog for key deletion
Fixes #2257
2022-11-18 11:21:53 +05:30
Harsh Shandilya
35a6e3b8ff
fix: add an explicit delete button to PGP key list items 2022-11-18 11:15:38 +05:30
Harsh Shandilya
6a4c0a223f
fix(app): enable Hilt processing for folder selection screens
Fixes #2255
Fixes PASSWORD-STORE-GOOGLE-PLAY-11
2022-11-17 19:21:51 +05:30
Harsh Shandilya
b83cd841e8
feat: remove Beagle's logger integration
Fixes Sentry issue PASSWORD-STORE-GOOGLE-PLAY-14
2022-11-16 04:02:09 +05:30
Harsh Shandilya
4891b980c4
fix: make itemDetails nullable 2022-11-12 23:56:12 +05:30
Harsh Shandilya
c407d04ec7
Sync localisations from Crowdin (#2228)
strings: sync with crowdin

Co-authored-by: GitHub Actions <noreply@github.com>
2022-11-06 00:31:18 +00:00
Harsh Shandilya
f870dd4913
Sync localisations from Crowdin (#2219)
strings: sync with crowdin

Co-authored-by: GitHub Actions <noreply@github.com>
2022-10-30 00:31:27 +00:00
Harsh Shandilya
53a5af5f40
refactor: flip PGPainless feature flag
It's always enabled now
2022-10-29 15:15:41 +05:30
Harsh Shandilya
4c3abe60a6
feat(sentry): add profiling sample rate config 2022-10-29 15:15:41 +05:30
Harsh Shandilya
baabe5ba52
refactor: add invalid .gpg-id file contents to errors 2022-10-29 15:15:41 +05:30
Harsh Shandilya
99bfccf945
refactor: remove unnecessary LaunchActivity injection 2022-10-29 15:15:41 +05:30
Harsh Shandilya
505c2fa705
refactor(format-common): add a getter to PasswordEntry for current OTP value 2022-10-29 05:34:09 +05:30
Harsh Shandilya
e8d9a77539
chore: sync Crowdin localisations 2022-10-29 05:07:24 +05:30
Harsh Shandilya
4e178883f7
chore: extract hard-coded preference strings 2022-10-29 05:07:24 +05:30