Commit graph

1688 commits

Author SHA1 Message Date
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
Harsh Shandilya
538ddbfd95
feat(app): wire in ASCII armor toggle 2022-10-29 04:37:04 +05:30
Harsh Shandilya
633cbe2714
feat(crypto-common): support passing arbitrary crypto options 2022-10-29 04:36:00 +05:30
Harsh Shandilya
390286f95f
feat: add a no-op ASCII armor toggle 2022-10-29 04:16:08 +05:30
Harsh Shandilya
bb960ccb76
refactor: move UriTotpFinderTest to format-common-impl 2022-10-25 23:57:46 +05:30
Harsh Shandilya
0c939a2929
refactor(deps): switch to Compose BOM 2022-10-25 18:28:45 +05:30
Harsh Shandilya
0d35cfaa0b
fix: lower log priority in SshjConfig 2022-10-24 15:46:26 +05:30
Harsh Shandilya
28394c4bbb
fix: remove useless logging line 2022-10-24 15:46:26 +05:30
Harsh Shandilya
2762c17578
feat: setup Beagle for debugging 2022-10-24 15:46:26 +05:30
Harsh Shandilya
816aca5ba1
refactor: use generated accessors for flavor dependencies 2022-10-24 14:51:33 +05:30
Harsh Shandilya
edc110dcc1
chore(gradle): add missing suppressions and license headers 2022-10-24 14:46:38 +05:30
Harsh Shandilya
cdf0f30c61
Refactor format-common module (#2196)
* fix: touch up `PasswordEntryTest` KDoc

* feat: add format-common-impl module

* refactor: switch app to format-common-impl

* refactor: move `format-common` tests to `format-common-impl`

* feat: add a test for Steam OTP
2022-10-21 21:36:27 +05:30
Harsh Shandilya
9f5062986d
Revert "chore: remove unnecessary CryptoHandlerModule"
This is used in #2170 so let's avoid the unnecessary conflict.

This reverts commit f5bf45037a.
2022-10-10 14:45:07 +05:30
Harsh Shandilya
f5bf45037a
chore: remove unnecessary CryptoHandlerModule 2022-10-10 14:24:49 +05:30
Harsh Shandilya
eb5e9bdffa
refactor(app): switch logExecutionTime to kotlin.time.measureTime 2022-10-09 20:05:40 +05:30
Harsh Shandilya
c866bb9fb1
feat(app): support toggling read-only status in DecryptScreen 2022-10-09 18:11:04 +05:30
Harsh Shandilya
224d956e28
feat(app): refactor CopyButton and add missing spacing 2022-10-08 18:35:16 +05:30
Harsh Shandilya
5dd7c91038
feat(app): add username to DecryptScreen 2022-10-08 18:28:27 +05:30
Harsh Shandilya
9bdbd55204
feat(ui-compose): add a PasswordField composable and switch decrypt screen to it 2022-10-08 18:28:04 +05:30
Harsh Shandilya
6615992332
refactor: simplify PasswordDialog emissions 2022-10-07 20:25:19 +05:30
Harsh Shandilya
6dcffc04d2
fix: protect PasswordDialog window 2022-10-07 19:56:11 +05:30
Harsh Shandilya
d68958c3e1
refactor: switch DecryptActivity to DispatcherProvider 2022-10-07 19:45:54 +05:30
Harsh Shandilya
b313c4216e
fix(app): ensure decryption errors are captured by UI 2022-10-07 19:41:14 +05:30
Harsh Shandilya
f778eab94e
fix: remove stale comment 2022-10-07 19:29:49 +05:30
Harsh Shandilya
f2ab436c54
feat(app): make DecryptScreen properly standalone 2022-10-07 19:11:06 +05:30
Harsh Shandilya
cb373db35d
feat(app): start working on a Compose-backed decrypt screen 2022-10-07 18:55:35 +05:30
Harsh Shandilya
8ba910edf4
chore(deps): upgrade AndroidX dependencies 2022-10-05 23:39:50 +05:30
Harsh Shandilya
1e033792d6
Refactor navigation and search code (#2134) 2022-09-20 20:50:31 +00:00
Aditya Wasan
244fd92f8b
Use GENERAL_SHOW_TIME for decryption screen timeout (#2107)
* feat(app): use `GENERAL_SHOW_TIME` for decryption screen as well

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

* feat: update timeout to 60 seconds

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

* refactor(app): use constant instead of using a magic number

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

* Add changelog entry

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-09-07 21:49:08 +00:00
Harsh Shandilya
42ecba8dee
fix(lint): resolve and suppress lints to fix canary builds 2022-09-05 15:36:29 +05:30
Harsh Shandilya
a828846345
Upgrade ktfmt and setup automatic updates (#2103) 2022-09-02 16:34:02 +00:00
Harsh Shandilya
d640c39725
Fix reported Lint issues (#2101) 2022-09-01 06:34:20 +00:00
Harsh Shandilya
8908f88ddc
Remove unnecessary RequiresApi annotation (#2100) 2022-09-01 05:11:39 +00:00
github-actions[bot]
c8a74f7ff1
Sync localisations from Crowdin (#2091)
strings: sync with crowdin

Co-authored-by: GitHub Actions <noreply@github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-08-27 05:07:14 +00:00
Harsh Shandilya
8129495608
Implement support for .gpg-id (#2080) 2022-08-24 17:14:02 +00:00
renovate[bot]
91ff5aebac
fix(deps): update dependency com.hierynomus:sshj to v0.34.0 (#2053)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-08-10 11:39:35 +00:00
github-actions[bot]
a584e9416d
Sync localisations from Crowdin (#2049)
strings: sync with crowdin

Co-authored-by: GitHub Actions <noreply@github.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2022-08-06 06:33:12 +00:00
Harsh Shandilya
977723c661
Update app icon and add a monochrome layer (#2045)
* app: check-in updated app icon

* app: add a monochrome icon
2022-08-04 20:19:35 +00:00
github-actions[bot]
01f4b39318
Sync localisations from Crowdin (#2039)
strings: sync with crowdin

Co-authored-by: GitHub Actions <noreply@github.com>
2022-07-30 05:22:05 +00:00
Harsh Shandilya
140175823f
Fix some StrictMode violations and start logging them (#2031) 2022-07-24 11:46:22 +00:00
Harsh Shandilya
9c5e9c8e43
Improvements to key list activity (#2030) 2022-07-23 13:45:36 +00:00
Harsh Shandilya
6d0bff144c
Begin cleaning up Detekt warnings (#2027) 2022-07-22 21:45:29 +00:00
Harsh Shandilya
ade73fd5bc
Compile against SDK 33 (#2023)
* Compile against SDK 33

* autofill-parser: fix warnings for SDK 33 upgrade

* app: fix warnings for SDK 33 upgrade

* Mark all clipboard content as sensitive from crypto activities

* Skip Snackbar on Android 13 and above

* detekt: raise `TooManyFunctions` limit to 15
2022-07-20 01:29:12 +05:30
Harsh Shandilya
fc81ee83d9
Misc cleanups and bugfixes (#2019)
* Fix decrypt activity items being editable

* Remove unused resources and re-roll lint baseline

* Make lint mark all warnings as errors
2022-07-18 20:47:06 +00:00
Harsh Shandilya
018939f815
Add key manager UI 2022-07-18 23:04:59 +05:30
Harsh Shandilya
e1e5d13a6a
Mark key import dialogs as non-cancellable 2022-07-17 22:38:27 +05:30
Harsh Shandilya
4ed98c9fda
Refactor key import flow and implement support for replacing 2022-07-17 22:38:27 +05:30
Harsh Shandilya
6ceedc049c
PGPKeyImportActivity: close key stream after use 2022-07-17 13:56:43 +05:30
Harsh Shandilya
a15ff1b137
Switch SettingsActivity to use Material3 Switch (#2006) 2022-07-15 21:55:42 +00:00
Harsh Shandilya
a1f838151e
Remove unnecessary V2 suffix 2022-07-15 14:53:52 +05:30
Harsh Shandilya
bcf33e90a5
Remove OpenKeychain code and leave TODOs for missing functionality 2022-07-15 14:53:52 +05:30
Harsh Shandilya
a6bcdd1d9d
Remove PGPainless feature flag 2022-07-15 13:50:18 +05:30
Harsh Shandilya
549ee790d3
all: re-do package structure yet again 2022-07-15 01:13:47 +05:30
Harsh Shandilya
010c6e227c
Change app package name to app.passwordstore 2022-07-15 00:54:04 +05:30
Harsh Shandilya
84180c1650 app: turn off crashing lint 2022-07-09 10:30:17 +00:00
Harsh Shandilya
bea80163ce
ui-compose: import Manrope font 2022-07-07 11:28:59 +05:30
Harsh Shandilya
58342ca426
Fix suspicious indentation in Migrations.kt (#1956) 2022-06-14 08:23:25 +00:00
Harsh Shandilya
426fc924fb
Upgrade ktfmt (#1942)
* build-logic: upgrade ktfmt

* all: reformat
2022-06-09 13:51:29 +05:30
Harsh Shandilya
c319909582
Remove SourceCode Pro typeface (#1938) 2022-06-07 07:36:28 +00:00
Harsh Shandilya
bda515d1ec
Remove unused dependencies (#1930)
gradle: remove unused instrumentation testing deps
2022-05-29 14:29:36 +00:00
Harsh Shandilya
184391599b
Fix ClipboardService crash (#1928)
* Fix clipboard service crash on API 31

* all: use ints directly for SDK version checks

I much prefer it this way
2022-05-27 20:18:39 +00:00
Harsh Shandilya
88151f4bdd
Simplify BouncyCastle workaround and upgrade Fragment (#1926)
* Simplify bouncycastle workaround

* Upgrade fragment-ktx to 1.5.x
2022-05-27 07:30:10 +00:00
Harsh Shandilya
5f4bc7fafd
Allow disabling pull-to-sync operation (#1922) 2022-05-24 10:47:35 +00:00
Harsh Shandilya
37b80d5d19
Upgrade to AGP 7.2.0 (#1920) 2022-05-19 07:23:59 +00:00
github-actions[bot]
c9f6d27475
strings: sync with crowdin (#1901)
Co-authored-by: GitHub Actions <noreply@github.com>
2022-05-07 02:10:42 +00:00
Harsh Shandilya
41213da780
Upgrade to ktfmt 0.37 (#1897) 2022-05-05 03:17:15 +00:00
Harsh Shandilya
c555609f16
Misc cleanups (#1891) 2022-05-02 20:18:16 +00:00
Harsh Shandilya
d4a4ac06ed
crypto-pgpainless: prepare for error handling (#1877) 2022-04-27 17:02:36 +00:00
Harsh Shandilya
b8b0693642
Revert "app: address Overdraw lint" (#1876) 2022-04-26 14:37:10 +00:00
Harsh Shandilya
aaf6ceb8ec
all: reformat with ktfmt 0.36 2022-04-25 10:47:02 +05:30
Harsh Shandilya
62902ca80b
Reorganize crypto-common code and fix a couple minor bugs (#1868) 2022-04-24 15:55:34 +00:00
Harsh Shandilya
599abd37e8
app: address SetTextI18n lint 2022-04-24 16:47:52 +05:30
Harsh Shandilya
5bad2a7256
app: address LabelFor lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
f1556242fa
app: address ContentDescription lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
901845e745
app: address Autofill lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
975c9f5dfc
app: address MissingQuantity lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
4775d44292
app: address Overdraw lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
ecba50cbae
app: address TrustAllX509TrustManager lint 2022-04-24 16:47:51 +05:30
Harsh Shandilya
759c3b2e1a
app: address Deprecated lint 2022-04-24 16:47:50 +05:30
Harsh Shandilya
13e859baca
app: address VectorRaster lint 2022-04-24 16:47:50 +05:30
Harsh Shandilya
95f16cbf5a
app: address InlinedApi lint 2022-04-24 16:47:50 +05:30