Commit graph

1633 commits

Author SHA1 Message Date
Harsh Shandilya
6c1e41ba10
Revamp build configuration (#1156)
* release: move scripts to scripts directory

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* Move CI secrets to secrets directory

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* gradle: uprev to 6.7

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* gradle: suppress warnings about unsupported options

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* build: update dependencies

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* build: move Gradle plugins to ext

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* build: move configuration tasks to buildSrc

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* CHANGELOG: add entry for #1137

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* Fix lint warnings

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-16 17:18:11 +02:00
Aditya Wasan
92f1aab25d
Add option to automatically sync repository on app launch (#1137)
* Add option to automatically sync repository on app launch

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

* Pull repo if user is not authenticated

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

* Address review comments

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* Hijack incoming intent rather than copying it

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* Initialize password repository before using it

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

Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-15 20:46:39 +05:30
Harsh Shandilya
a025ecf073
Merge branch 'release' into develop
* release:
  build: bump version
  CHANGELOG: add entries for #1142 and #1131
  Temporarily work around SSHJ compatibility issues (#1142)
  all: refactor ActivityResultContracts usages to adhere to API requirements

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-13 12:59:07 +05:30
Harsh Shandilya
38fc3c743b
build: bump version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-13 12:54:26 +05:30
Harsh Shandilya
544ca59f4d
github: fix release draft workflow (#1152)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-13 12:48:02 +05:30
Harsh Shandilya
4fbdc0e723
CHANGELOG: add entries for #1142 and #1131
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-13 12:14:20 +05:30
Fabian Henneke
6139693d4f
Temporarily work around SSHJ compatibility issues (#1142)
Using ECDSA either as a key exchange or a host key algorithm fails with
SSHJ 0.30.0 on Android, but should again become possible in 0.31.0.

While we wait for the release, demote ECDSA in the list of key
algorithms (as it should still be available for public key auth) and
remove it from the list of key exchange algorithms.

(cherry picked from commit 0d2788ab54)
2020-10-13 12:05:54 +05:30
Harsh Shandilya
c70c1792f6
all: refactor ActivityResultContracts usages to adhere to API requirements
The newest versions of AndroidX Activity and Fragments correctly enforce the
requirement for all contracts to be registered at class init or before
the lifecycle has reached `Lifecycle.State.STARTED`. To comply with these requirements,
move all instances of `registerForActivityResult` being called at arbitrary points
in the code to be done at class init.

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
(cherry picked from commit cf03c55478)
2020-10-13 12:03:49 +05:30
Harsh Shandilya
591bb4e795
ProxyUtils: correctly handle the 'no proxy' case (#1148)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-11 19:16:48 +05:30
Harsh Shandilya
facc4d9163
github: update release draft workflow
Switch to $GITHUB_ENV since set-env has been deprecated

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 12:29:13 +05:30
Harsh Shandilya
927f228db5
github: update PSL workflow
- Use the pull request action utilized by GitHub for their own projects

- Switch to $GITHUB_ENV since set-env has been deprecated

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 12:25:08 +05:30
Harsh Shandilya
8b86f36552
github: lay down some ground rules in issue templates
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 12:25:07 +05:30
Harsh Shandilya
e139e65a6e
res: merge unneeded override into base file
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 12:25:07 +05:30
Harsh Shandilya
419a490885
release/deploy-github: remove
Release artifacts are now delivered by CI

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 11:18:25 +05:30
Harsh Shandilya
94a373e282
crowdin: remove unused config file
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 11:18:24 +05:30
Harsh Shandilya
1275ba195f
gitmodules: remove empty file
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 11:18:24 +05:30
Harsh Shandilya
573261a693
release/signing-setup: don't set -x
This causes the secret to be printed to stdout which is undesirable, even with CI redacting it

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 11:18:23 +05:30
Harsh Shandilya
0d3cdb8fde
CHANGELOG: add proxy entry
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 11:18:23 +05:30
Harsh Shandilya
c5f5fbd63e
contrib: remove
A more thorough and expansive import tool exists at https://github.com/roddhjav/pass-import that offers better UX than having to run a Haskell script

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-10 11:18:19 +05:30
github-actions[bot]
9a4215e6b1
Update Public Suffix List data (#1145)
Co-authored-by: FabianHenneke <FabianHenneke@users.noreply.github.com>
2020-10-10 09:19:24 +05:30
Fabian Henneke
0d2788ab54
Temporarily work around SSHJ compatibility issues (#1142)
Using ECDSA either as a key exchange or a host key algorithm fails with
SSHJ 0.30.0 on Android, but should again become possible in 0.31.0.

While we wait for the release, demote ECDSA in the list of key
algorithms (as it should still be available for public key auth) and
remove it from the list of key exchange algorithms.
2020-10-08 21:24:18 +05:30
Harsh Shandilya
b4f6fc502a
Introduce app-wide HTTPS proxy setting (#1134) 2020-10-08 17:15:39 +05:30
Harsh Shandilya
0d6b7f1842
autofill-parser: flesh out generated POM file (#1140)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-08 12:36:11 +05:30
Harsh Shandilya
e730a779d9
build: update runtime dependencies and Gradle plugins (#1139)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-07 07:43:10 +02:00
Fabian Henneke
a321bb6403
Show new FillResponse right after publisher reset (#1138)
If Autofill shows a warning about an app whose publisher changed and the
user decides to trust the app and clear previous matches, they should
immediately be given the option to select a new match.

Previously, as AutofillPublisherChangedActivity did not return a
result, the old FillResponse with just a warning would be reused. We
now pass a useful response with no matches on to the activity, which
returns it after the user has chosen to reset the publisher info.
2020-10-06 15:18:00 +05:30
Harsh Shandilya
15042687f8
Fix Autofill publisher changed layout (#1136)
* Fix Autofill publisher changed layout

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* Tweak autofill publisher UI

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

Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2020-10-06 11:29:23 +05:30
Harsh Shandilya
3ddd06679f
Resolve lock contention from lazy delegates (#1135) 2020-10-05 08:29:44 +05:30
github-actions[bot]
8a43160673
Update Public Suffix List data (#1132)
Co-authored-by: FabianHenneke <FabianHenneke@users.noreply.github.com>
2020-10-03 11:51:57 +05:30
Harsh Shandilya
9dc56214b9 github: switch PR workflow from an allowlist to a blocklist
This is going to be less work to maintain going forward since we won't need to
change it every time we include a new subproject.

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-02 13:12:14 +00:00
Harsh Shandilya
cf03c55478
all: refactor ActivityResultContracts usages to adhere to API requirements
The newest versions of AndroidX Activity and Fragments correctly enforce the
requirement for all contracts to be registered at class init or before
the lifecycle has reached `Lifecycle.State.STARTED`. To comply with these requirements,
move all instances of `registerForActivityResult` being called at arbitrary points
in the code to be done at class init.

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-02 15:51:14 +05:30
Harsh Shandilya
d792fa5135
build: uprev dependencies
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-02 15:51:13 +05:30
Fabian Henneke
eac1c6f1d8
Allow matching password fields based on hints only (#1129)
Filling passwords is usually only offered for fields with a password
input type, which ensures that they are always properly masked. Certain
custom views (e.g., the Termux terminal view), may apply their own
masking that is not based on the standard views.

With this commit, we allow filling passwords into arbitrary fields as
long as they have an Autofill hint that indicates a password.
2020-10-02 15:49:20 +05:30
Fabian Henneke
8f3fd99472
Exit tie breakers early in unique or no match case (#1130)
Tie breakers for Autofill fields should only be evaluated if there is
a need to, in particular not if only a single or no field is matched.

Apart from a potential minor performance improvement, this should not
cause any user-visible changes, but does simplify the log output
considerably.
2020-10-02 15:47:04 +05:30
Harsh Shandilya
880806b448
build: prepare next development version
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 22:12:20 +05:30
Harsh Shandilya
fbdff717c9
Add changelog entry
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 20:49:01 +05:30
Harsh Shandilya
14b51d5808
Add key selection step to onboarding flow
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 20:46:21 +05:30
Harsh Shandilya
944efee00e
PasswordCreationActivity: tweak logic for determining if identifier selection is needed
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 20:25:56 +05:30
Harsh Shandilya
98518ca499
Make unset author/email behavior match Git
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 20:25:56 +05:30
Harsh Shandilya
cf0d20299d
github: run apiCheck task in pull requests
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 19:11:21 +05:30
Harsh Shandilya
28bdbbbcce
github: update workflows to use gradle-cache-action
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 19:11:21 +05:30
Harsh Shandilya
1e4a57408e
autofill-parser: check in API dump
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 14:09:07 +05:30
Harsh Shandilya
8446342b6b
build: configure binary-compatibility-validator
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-01 14:08:40 +05:30
Harsh Shandilya
fbc9fde75e
Unwrap root cause for InvalidRemoteException (#1122)
* BaseGitActivity: unwrap root cause for InvalidRemoteException as well

JGit's InvalidRemoteException, like TransportException, swallows more
useful errors as is clear from this (redacted) snippet.

```
 D  org.eclipse.jgit.api.errors.InvalidRemoteException: Invalid remote: origin
 D      at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:26)
 D      at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:41)
 D      at com.zeapo.pwdstore.git.GitCommandExecutor$execute$2$result$1.invokeSuspend(GitCommandExecutor.kt:2)
 D      at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3)
 D      at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:15)
 D      at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1)
 D      at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:13)
 D  Caused by: org.eclipse.jgit.errors.NoRemoteRepositoryException: ssh://msfjarvis@[fe80::dead:beef]:22/pass-repo: fatal: '/pass-repo'
    does not appear to be a git repository
 D      at org.eclipse.jgit.transport.TransportGitSsh.cleanNotFound(TransportGitSsh.java:14)
 D      at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:20)
 D      at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:1)
 D      at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:1)
 D      at org.eclipse.jgit.transport.Transport.fetch(Transport.java:20)
 D      at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:18)
```

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* Add changelog entry

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-29 17:41:14 +02:00
github-actions[bot]
87d6552018
Update Public Suffix List data (#1121)
Co-authored-by: FabianHenneke <FabianHenneke@users.noreply.github.com>
2020-09-26 11:25:52 +05:30
Harsh Shandilya
8355db86f5
Prepare release 1.12.0
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-24 15:00:06 +05:30
Harsh Shandilya
6203855b15
Restore settings button to onboarding screen (#1119)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-24 13:38:14 +05:30
Harsh Shandilya
56f4dedb5b
Sync strings from Crowdin (#1117)
* strings: sync from Crowdin

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* Update changelog

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>

* build: disable ImpliedQuantity lint

I hope our translators know better

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-22 09:18:00 +05:30
Harsh Shandilya
0a9b8fc585
Remove Autofill onboarding prompt and cleanup strings (#1116) 2020-09-21 23:44:52 +05:30
Harsh Shandilya
12db2d00df
Refactor auth mode check/uncheck (#1115)
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-21 19:26:34 +02:00
Harsh Shandilya
37ea5d4a49
Revert "github: remove ci-gradle.properties" (#1113)
GitHub's runners are still too weak for us to go by without
doing this: https://pipelines.actions.githubusercontent.com/eRaLlgv7QgiQrEiMWvOVzCfcXl8ehv3iNil9w7DRw7wdT9P1kT/_apis/pipelines/1/runs/2741/signedlogcontent/3?urlExpires=2020-09-21T07%3A46%3A57.1297541Z&urlSigningMethod=HMACV1&urlSignature=6e1r7tlUIn9E2EuEm2i4skqgQwZ4jCmO9ARlGZ6a3SU%3D

This reverts commit 098c765132.
2020-09-21 14:17:06 +05:30