-
Notifications
You must be signed in to change notification settings - Fork 14
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
Top autofill #432
Top autofill #432
Conversation
516cfe4
to
18a6ab1
Compare
It seems from the Asana task that this has already been tested somewhat, but let me know if there's anything in particular you'd like me to test here and I can do that. |
@jonathanKingston I've still got plenty to go through here but honestly I think you're fine to fire up the review tasks. 🙂 I'll wrap the review up tomorrow. |
3eebad0
to
b36be44
Compare
Just removed 6 files from the commit (some fn's that weren't required, cleared off moved files from BrowserTab and deleted the extension file that moved to BSK) |
9f4f556
to
4c2e2e7
Compare
@@ -563,6 +564,7 @@ extension Tab: UserContentControllerDelegate { | |||
userScripts.autofillScript.topView = self.delegate | |||
userScripts.autofillScript.emailDelegate = emailManager | |||
userScripts.autofillScript.vaultDelegate = vaultManager | |||
self.autofillScript = userScripts.autofillScript |
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.
Storing this is to allow for wiring of the clickTriggered call, it's non ideal as they could get out of sync but I'd rather not keep refactoring all this.
Hey sorry @bstandaert-ddg I missed this. I think verifying that we don't break things with these refactors I'm having to do to keep up with the changes landing would be super helpful. We have a design task: https://app.asana.com/0/0/1201404545287651/f Happy to hop on a call and walk through some of the manual checking I've been doing. I think we're good but certainly before release we should test it some more. |
7f53e41
to
2434974
Compare
Thanks for clarifying. I ran through the set of ecommerce sites from https://app.asana.com/0/72649045549333/1201499187083535/f with a saved credit card, comparing the latest release build with this branch, and I'm seeing two things that are different:
Screen.Recording.2022-02-22.at.9.40.03.PM.mov(existing behavior followed by new)
Screen.Recording.2022-02-22.at.9.54.05.PM.movI don't have a lot of time to schedule a call this week, but if there's any other specific testing steps you want me to follow let me know. |
Right so this is a new regression, I think we can fix this but I need to double check. We can fix this purely in the JS layer if it's possible as it's the not capturing the click.
So the field:
And surrounding markup:
Isn't being classified correctly; we've made follow up fixes here but perhaps this is a new regression. I'll raise a bug and shouldn't block this change. |
650de22
to
1a9bd67
Compare
9551f62
to
bae88fb
Compare
I'm also seeing leaked user scripts in the memory graph debugger, but haven't confirmed that that isn't an issue with a recent |
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.
Few notes from my recent testing:
-
There is inconsistency between how form is filled (for separated fields) when I tap on CC number field, expiration date or CVC code - I'd expect all field to be filled/updated when I choose an entry.
-
Pressing field "imperfectly" does not bring up the suggestion window but can focus the field itself - this left me confused a bit feeling that it sometimes works and sometimes doesn't.
-
Start the app, navigate to https://stripe.dev/elements-examples/ - script is often calling "close" when just scrolling the webpage.
|
581067f
to
4733d9a
Compare
c3a0185
to
fb300bd
Compare
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.
Great job @jonathanKingston , tested this on Mac and also did check iOS 👍
# By Sam Macbeth (2) and others # Via GitHub * develop: Top autofill (#432) Option to add new notes or edit existing is disabled (#446) Use our own autoconsent fork (#444) New Feedback Form (#424) Update privacy dashboard (#440) Fix crash when background tabs trigger cookie popup (#439) Update clickToLoadConfig.json (#435) rename weakAssign to assign(to:onWeaklyHeld:) (#442) Improve Safari favorite importing (#436) # Conflicts: # DuckDuckGo.xcodeproj/project.pbxproj # DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
# By Tomas Strba (6) and others # Via GitHub (1) and Tomas Strba (1) * develop: Logins+ authentication (#438) Update privacy dashboard to main (#451) Version 0.19.1 Remove mouse event listeners on browser close (#448) Find in Page Hotfix + refactoring of forced unwrapping (#450) Memory leak fixed (#449) Version 0.19.0 Top autofill (#432) Option to add new notes or edit existing is disabled (#446) Use our own autoconsent fork (#444) New Feedback Form (#424) Update privacy dashboard (#440) # Conflicts: # DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved # DuckDuckGo/SecureVault/View/PasswordManager.storyboard
* develop: Logins+ authentication (#438) Update privacy dashboard to main (#451) Version 0.19.1 Remove mouse event listeners on browser close (#448) Find in Page Hotfix + refactoring of forced unwrapping (#450) Memory leak fixed (#449) Version 0.19.0 Top autofill (#432) Option to add new notes or edit existing is disabled (#446) Use our own autoconsent fork (#444)
Task/Issue URL: https://app.asana.com/0/0/1201854459638164/f
Tech Design URL:
CC:
Description:
The code changes the UserScript in the page from rendering the autofill, to message passing into it's own WebView that is isolated from the page. This prevents rendering issues for iframes where we don't have enough space to render.
This following sequence diagram represents the 'happy path' for opening and filling a credential [t] and [c] represent top and child modes respectively.
Three non ideal parts of this code are:
Steps to test this PR:
The autofill should open for the user to fill in credit cards. This field exists within an iframe so is rendered as an overlay WebView.
Things to check:
Ensure that auth into email continues to work:
BrowserServicesKit dependency: duckduckgo/BrowserServicesKit#67
Testing checklist:
Internal references:
Software Engineering Expectations
Technical Design Template
When ready for review, remember to post the PR in MM