chore: reconcile classic app changes from upstream - #142
Merged
Conversation
Selective port from agrahn/Android-Password-Store PR agrahn#936. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Preserve fork-specific password creation logic while updating recent-password timestamps on every create/edit.
Selective port from agrahn/Android-Password-Store PR agrahn#939. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#941. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#942. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1000. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Preserve fork-specific crypto/passkey code while carrying the Autofill/PIN context through BasePGPActivity.
Selective port from agrahn/Android-Password-Store PR agrahn#1000. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1000. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1007. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1011. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Semantic port of upstream agrahn#1011. Preserve fork-owned auth/passkey behavior while ensuring a PIN can unlock only the PGP identity it belongs to.
Keep fork secret-wiping behavior while returning an explicit cancellation result to the per-PGP-ID fast-unlock flow.
Selective port from agrahn/Android-Password-Store PR agrahn#1011. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1011. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1011. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1011. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1014. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1016. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1022. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1026. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Selective port from agrahn/Android-Password-Store PR agrahn#1043. Fork-owned passkey implementation is intentionally excluded unless explicitly listed.
Replace Context.MODE_PRIVATE with 0 (its actual value) across all files. MODE_PRIVATE constant was removed in Android SDK 37 (Android 16).
|
✅ Fix pushed: Fixed the CI failure by replacing all occurrences of |
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.
Summary
Selectively reconcile the useful non-passkey changes from
agrahn/Android-Password-Store:developthrough48ce3af5b4cd9b818d44edca4249a15d48e2170f, while keeping this fork's passkey/WebAuthn implementation authoritative.This deliberately does not merge upstream
develop. The fork has a substantially different passkey architecture, so upstream passkey work is treated as an invariant/interoperability source rather than code to import mechanically.Adopted upstream changes
ACCESS_LOCAL_NETWORKpermission for local SSH access.Dependency-only updates remain owned by Renovate. Upstream CI/release history is intentionally not synchronized.
Periodic upstream reconciliation
This also adds a repeatable workflow:
.github/upstream-sync-baselinestores the last fully reviewed upstream SHA.scripts/upstream-audit.shfetches upstream and generates a categorized report only for commits after that reviewed SHA.PASSKEY-PROTECTEDand are never mechanically adopted.scripts/adopt-upstream-pr.sh <PR>provides a guarded selective cherry-pick helper and refuses passkey-owned changes by default.scripts/mark-upstream-reviewed.shadvances the reviewed baseline only after the human review is complete..github/workflows/upstream-audit.ymlruns weekly and creates/updates oneUpstream reconciliation pendingissue when new upstream changes exist. It never changes source or moves the baseline automatically.docs/upstream-reconciliation.mdrecords the policy and current dispositions.The baseline is intentionally an upstream SHA, not the Git merge-base: selective ports do not create ancestry, so a merge-base based process would repeatedly report already-reviewed upstream commits.
Passkey boundary
No fork-owned passkey provider/storage/caller-verification files are imported from upstream. Future upstream passkey fixes should first be translated into a security or interoperability invariant and then verified/reimplemented against this fork's architecture.
Validation
The final PR CI is fully green:
During integration CI caught one upstream-context compile assumption (
MODE_PRIVATEused unqualified in an extension file); it was fixed toContext.MODE_PRIVATE. No passkey regression was observed.