Use new sqlcipher native library loader for autofill database initialization#7691
Open
CDRussell wants to merge 1 commit intofeature/craig/sqlcipher-load-async-capabilityfrom
Conversation
Member
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
9783923 to
47a3228
Compare
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Task/Issue URL: https://app.asana.com/1/137249556945/task/1213119837878194
Description
Updates autofill database initialization to utilize the new
SqlCipherLibraryLoadermessage~:"SqlCipher-Init: |Autofill-DB-Init: "Steps to test this PR
Update from previous version path
Fresh install path
Database created successfullyTest timeout scenario
SqlCipher library load failure - cannot create database: kotlinx.coroutines.TimeoutCancellationExceptionTest slow loading scenario
Database created successfullyand passwords then works#### Test failure scenario
cannot create database:Feature flag disabled
autofill/sqlCipherAsyncLoadingto disabledStarting synchronous library load on thread mainandDatabase created successfullyNote
Medium Risk
Changes the initialization path for the encrypted autofill database and introduces new failure/timeout behavior that can return
null, which could affect password availability if the loader or timing behaves unexpectedly.Overview
Updates autofill secure storage DB initialization to depend on the new
SqlCipherLibraryLoaderinstead of loadingsqlcipherin the factoryinit, and gates DB creation onwaitForLibraryLoad()(returningnullon timeout/failure) with more detailedAutofill-DB-Initlogging.Adds a new
RealSecureStorageDatabaseFactoryTestcovering successful creation, library load timeout/failure, keystore-inaccessible behavior, instance caching, and concurrent callers only triggering a single initialization.Written by Cursor Bugbot for commit 9783923. Configure here.