-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS AutoFill Functionality #133
Conversation
…tive-keychain module and update TouchID to use react-native-secure-storage while maintaining backwards compat.
…implemented. Non-touch archives, touch unlock error cases not handled yet
…ch enabled archives
…lIdentity use case being ignored
@se1exin This is incredible! Thanks so much for pushing this through. Amazing to see a PR for it already. By the way, do you know if the release process changes much? Do we need to release the extension separately or does it just bundle? |
@se1exin thanks a lot! extraordinary job :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Huge item to go over but definitely well done. I can't immediately see any issues. Excellent stuff!
ios/BCAutoFillExtension/Info.plist
Outdated
<key>CFBundleShortVersionString</key> | ||
<string>1.0</string> | ||
<key>CFBundleVersion</key> | ||
<string>1</string> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, so we need to version this separately? I wonder if there's a way we can tie these to the main project's versions using macros.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Build script added to BCAutoFillExtension target that sync's the Extension Build numbers with the main app's. See commit 908fdcf
source/library/buttercup.js
Outdated
@@ -98,7 +99,8 @@ export function getArchiveEncryptedContent(archive, credentials) { | |||
|
|||
export function getSharedArchiveManager() { | |||
if (__sharedManager === null) { | |||
__sharedManager = new ArchiveManager(new AsyncStorageInterface()); | |||
// __sharedManager = new ArchiveManager(new AsyncStorageInterface()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this can be removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed in 908fdcf
source/library/buttercup.js
Outdated
@@ -6,7 +6,8 @@ import { | |||
Credentials, | |||
entryFacade | |||
} from "./buttercupCore.js"; | |||
import AsyncStorageInterface from "../compat/AsyncStorageInterface.js"; | |||
// import AsyncStorageInterface from "../compat/AsyncStorageInterface.js"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this can also be removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed in 908fdcf
We'll probably merge this to a mid-way branch for final testing before going to master. We should also endeavour to strip the Facebook comments form all files (new and old): #134 |
…er with main app. Update all iOS Copyright notices from Facebook to Buttercup (buttercup#134). Remove commented code missed in last cleanup commits
Thanks for the positive feedback @perry-mitchell and @sallar! It turned out to be a bit bigger of a job than I first expected, but much learnt about iOS AuthenticationFramework along the way 😅. Let me know if you need any changes or explanations for anything 👍
It just bundles from the main app's build process, so you shouldn't have to change the release process at all. In 908fdcf I've also added a Build Script in the Extension Build Phases that ensures the Extension version numbers are the same as the main app. It's rumoured on Stack Overflow that Apple actually requires these to be the same for review.
I've attempted to do this for the iOS code files in 908fdcf. Wasn't sure what the Copyright should be changed to so just went with |
Thanks @se1exin! I appreciate the trouble you went to to make this easy to deploy. I'll merge now into an intermediary branch for some testing before we go to master. |
@perry-mitchell Awesome! Looking forward to having this in the official build so I can start using it on my day-to-day phone! |
This PR introduces native AutoFill functionality for iOS, as discussed in #125
Overview
Significant changes
react-native-secure-storage
. Includes auto-migration for existing users in baseApp
component.index.ios.autofill.js
.source/autofill/**
autofill
. Used to flag/check if the app is running in the context of the AutoFill extensionI've tested quite a lot but there may still be bugs, would great to have some other people test it out.