Skip to content
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

Password Generation #500

Merged
merged 57 commits into from
May 6, 2022
Merged

Password Generation #500

merged 57 commits into from
May 6, 2022

Conversation

samsymons
Copy link
Collaborator

Task/Issue URL: https://app.asana.com/0/0/1201969773101195/f
Tech Design URL:
CC: @shakyShane

Description:

Note: requires duckduckgo/BrowserServicesKit#81 to be released first.

Steps to test this PR:

  1. Visit a site that has a sign-up form; I've been using Hacker News since it's a super simple page
  2. Click into the password field, and click the generated password prompt
  3. Check the Autofill panel and verify that the password was saved
  4. Go back to the sign up form, type in a username, and hit enter (it's fine to use an existing username to prevent creating an actual account, the app just needs the form submission event to trigger)
  5. Check the Autofill panel and verify that the previous login has been updated to include the username

Testing checklist:

  • Test with Release configuration
  • Test proper deallocation of tabs
  • Make sure committed submodule changes are desired

Internal references:

Software Engineering Expectations
Technical Design Template
When ready for review, remember to post the PR in MM

samsymons added 30 commits March 2, 2022 12:59
# 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
# By Dominik Kapusta (2) and others
# Via GitHub
* develop:
  Animate dashboard resizing (#454)
  Dashboard in background tabs (#458)
  Fix resubmitting search with spaces (#456)
  Use smarter encryption feature from the BSK (#441)
  Use pageZoom instead of magnification when adjusting web view zoom level (#455)
  Version 0.19.2

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
* develop:
  New Tab Page (#433)
  Make website URLs clickable in Logins+ (#462)
  Correction of URL if it is missing one slash '/' (#459)
* develop:
  fix launch link when no windows are open (#470)
  Version 0.20.1
  Update storyboards to use correct color names. (#468)
  Fix suggestion selection crash (#469)
  Version 0.20.0
  Dev tools visibility fix (#457)
  Fix BrowserTabViewController leakage (#463)
  Remove the upgrade logic. (#460)
# By Tomas Strba (3) and others
# Via GitHub
* develop:
  Testing Checklist Updates (#480)
  Xcode Clean Up (#479)
  External App Scheme permission (#419)
  Update dashboard to correct version (#477)
  Update BSK to fix percent encoding query parameters (#475)
  bump version 0.21.0
  add alternate for paste and match with style (#474)
  First reponder issues when switching tabs (#464)
  Pre-beta copy updates (#472)
  Improvements to data clearing (#467)
  Open feedback form upon tapping "Send Feedback" in the About page (#473)
  new tab tweaks (#471)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
#	DuckDuckGo/Secure Vault/View/SaveIdentityPopover.swift
#	DuckDuckGo/Secure Vault/View/SaveIdentityViewController.swift
#	DuckDuckGo/Secure Vault/View/SavePaymentMethodPopover.swift
#	DuckDuckGo/Secure Vault/View/SavePaymentMethodViewController.swift
* develop:
  Prompt to store cards and identities (#461)
  Version 0.21.1
  inject CTL user script atDocumentEnd (#482)
  Fire button and shield button animations (#476)
  Add tds etag to breakage reports (#466)
# By Tomas Strba (5) and others
# Via GitHub
* develop:
  Refresh the Autofill panel after importing (#496)
  Require authentication for login export (#494)
  Observations database clearing improvements (#495)
  Fix handling external schemes in address bar (#493)
  New autoconsent rules and move tab cleanup out of onCommitted (#489)
  Safari CSV Passwords import +LastPass, 1Password (#483)
  Split preferences into multiple screens and add an option to show full URL (#487)
  Color of hover label fixed (#497)
  Add AMP links protection (#488)
  Enhancements of fire button options (#484)
  Rename Logins+ to Autofill (#492)
  new tab page low hanging fruit (#491)
  Fix threading issues in Autoconsent (#478)
  Navigation bar improvement: CMD + back or CMD + forward opens a new tab (#486)
  TextField refactored to TextView in order to make it scrollable (#481)
  More Xcode cleaning (#485)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@samsymons
Copy link
Collaborator Author

Sorry for the wild commit log on this one, this branch originally went in a different direction before I was eventually able to keep all code changes contained to BSK.

# By Dominik Kapusta (2) and Tomas Strba (1)
# Via Tomas Strba
* develop:
  Version 0.22.0
  Fix Website Breakage Reports by allowing unescaped commas in URL query (#498)
  Fix LoginsPreferences instances being out of sync (#499)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
* develop:
  Fill Add Bookmark modal view with current tab website (#515)
  Fix reloading data in BookmarkListViewController (#514)
  use the page url in the tracker object rather than the current web view url (#509)
  Version 0.22.2
  Revert the change to Arc4RandomUniformVariantRNG and silence SwiftLint warning (#510)
  Revert the change to Arc4RandomUniformVariantRNG and silence SwiftLint warning (#510)
  Version 0.22.1
  Improve Chromium Logins import (#501)
  Revert "New autoconsent rules and move tab cleanup out of onCommitted (#489)" (#502)
  Add fallback icons for password managers (#504)
  Make SwiftLint happy (#508)
  Default to Chrome or Safari when importing Logins and Bookmarks (#503)
# By Dominik Kapusta (4) and others
# Via GitHub
* develop:
  ‘Rename user-facing “Preferences” strings to “Settings”. (#519)
  Fix URLs with port and replace spaces in query with %20 (#506)
  Printing custom frame (#530)
  Fix warnings in unit tests target (#490)
  Version 0.22.3
  FTP scheme handled as internal (#524)
  Old compilation flag removed (#531)
  Don't use ZStack as it messes up the layout on Catalina (#532)
  Disable context menu for Privacy Dashboard (#512)
  Add unit tests Github Actions workflow (#525)
  Add a shell script and GitHub Action to create notarized builds (#517)
  Add missing period in 'Privacy, simplified.' tagline (#527)
  move some state into the model so that SwiftUI doesn't remember it if that object comes back (#521)
  Prevent the Autofill Cancel button from resetting item selection (#520)
  Fix animation hitching. (#518)
  Add description fields to breakage reporting flows (#511)
  Update BSK with a fix for query params (#513)
  set the default height of the navigation bar so that it can be used when configuring a popup window (#522)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
* develop:
  Don't cancel request for background tabs (#526)
  Don't require 'www' when showing full URL (#539)
# By Alexey Martemyanov (1) and others
# Via GitHub
* develop:
  fix auto consent again (#535)
  don't draw webview background to avoid flashes (#545)
  fix Copy from Address Bar (#543)
  Fix UI glitches in popovers on Catalina (#537)
  Add new address bar context menu options (#542)
  Support top frame focus for autofill (#465)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
Copy link
Contributor

@THISISDINOSAUR THISISDINOSAUR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested this as part of reviewing duckduckgo/BrowserServicesKit#81
so it's good to go once it's pointing at the right BSK version

# By Christopher Brind (1) and others
# Via GitHub
* develop:
  Autofill scrolling fix (#538)
  Add web-compat code (#547)
  Issue with default browser prompt not hiding resolved (#550)
  Open Autofill settings when triggering Settings from Autofill (#534)
  Revert "don't draw webview background to avoid flashes (#545)" (#549)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
# By Alexey Martemyanov (3) and others
# Via GitHub
* develop:
  Lazy load background tabs at app startup (#553)
  Update the Fireproof checkmark in the Save Credentials view controller (#555)
  Support config v2 (#528)
  Fullscreen video fixing (#541)
  Add data import failure pixels (#552)
  Update BSK to fix autofill on Catalina (#551)
  fix contrast bug on Catalina / Big Sur (#546)
  Disable download reload on page tab reactivation/session restoration (#516)
  Add "New Window" item to App Dock menu (#544)

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
# By Sam Symons (2) and others
# Via Sam Symons (2) and GitHub (1)
* develop:
  Autoconsent: prompt only when if an actual cookie popup is found (#565)
  Fix incorrect action name for selfTest (#561)
  BSK: Check array items for surrogate methods (#563)
  BSK: Check array items for surrogate methods (#563)
  Navigation failure handled in navigation bar buttons and their menus (#540)
  Version 0.23.1
  Ensure that we don’t trip an assertion failure when Fireproofing. (#559)
  Tweak autoconsent events (#554)
  Remove Punycode reference after recent bump of BSK (#560)
  If navigationAction does not target main frame open in new tab (#557)
  Use macos-12 environment in GitHub Actions workflows (#556)
  Version 0.23.0

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
samsymons added a commit to duckduckgo/BrowserServicesKit that referenced this pull request May 6, 2022
Task/Issue URL: https://app.asana.com/0/0/1201969773101195/f
iOS PR: duckduckgo/iOS#1109
macOS PR: duckduckgo/macos-browser#500

Description:

This PR updates BSK to automatically save generated credentials when the user selects that option. Note that this PR does not require any changes on either of the client codebases.

If the user doesn't have a username entered, they will get prompted immediately. If they have already entered a username, the credential gets saved without prompting them. See parent task for context.
@samsymons samsymons merged commit 32b2608 into develop May 6, 2022
@samsymons samsymons deleted the sam/password-generation branch May 6, 2022 03:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants