Commit graph

1776 commits

Author SHA1 Message Date
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
Harsh Shandilya
098c765132
github: remove ci-gradle.properties
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 22:49:01 +05:30
Harsh Shandilya
7a3274b06d
gradle: update properties list for build improvements
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 22:43:31 +05:30
Harsh Shandilya
e212404dbe
Dependencies: downgrade annotation to 1.1.0
We don't use the new annotation added in the alpha and since this dependency is shared between the library and app it's best to stick to stable until necessary

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 21:49:10 +05:30
Harsh Shandilya
dd6a2b5813
autofill-parser: add dependency on AndroidX annotation
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 21:48:10 +05:30
Harsh Shandilya
9c91cdc34c
autofill-parser: drop use of core-ktx
We use an alpha version of core-ktx that might be undesirable for projects including the library

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 21:47:22 +05:30
Harsh Shandilya
9ccefe87e8
autofill-parser: add README
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 17:12:03 +05:30
Harsh Shandilya
e8bc41f1aa
autofill-parser: configure maven-publish plugin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-20 17:12:03 +05:30