Skip to content

Commit

Permalink
Add Email Protection in-context sign-up support (#1680)
Browse files Browse the repository at this point in the history
  • Loading branch information
alistairjcbrown committed Feb 9, 2023
1 parent cc7c46f commit 65d6b3f
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 5 deletions.
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
"yargs": "^17.6.2"
},
"dependencies": {
"@duckduckgo/autofill": "github:duckduckgo/duckduckgo-autofill#6.2.0",
"@duckduckgo/autofill": "github:duckduckgo/duckduckgo-autofill#6.3.0",
"@duckduckgo/content-scope-scripts": "github:duckduckgo/content-scope-scripts#4.0.5",
"@duckduckgo/ddg2dnr": "github:duckduckgo/ddg2dnr#0.4.0",
"@duckduckgo/jsbloom": "^1.0.2",
Expand Down
19 changes: 19 additions & 0 deletions shared/js/background/email-utils.es6.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,13 @@ const fireAddressUsedPixel = (pixel) => {
updateSetting('lastAddressUsedAt', currentDate())
}

const fireIncontextSignupPixel = (pixel) => {
const browserName = utils.getBrowserName() ?? 'unknown'
if (!pixelsEnabled) return

sendPixelRequest(getFullPixelName(pixel, browserName))
}

/**
* Config type definition
* @typedef {Object} FirePixelOptions
Expand All @@ -141,6 +148,18 @@ export const sendJSPixel = (options) => {
case 'autofill_personal_address':
fireAddressUsedPixel('email_filled_main_extension')
break
case 'incontext_show':
fireIncontextSignupPixel('incontext_show_extension')
break
case 'incontext_get_email_protection':
fireIncontextSignupPixel('incontext_get_email_protection_extension')
break
case 'incontext_dismiss_persisted':
fireIncontextSignupPixel('incontext_dismiss_persisted_extension')
break
case 'incontext_dismiss_initial':
fireIncontextSignupPixel('incontext_dismiss_initial_extension')
break
default:
console.error('Unknown pixel name', pixelName)
}
Expand Down
14 changes: 14 additions & 0 deletions shared/js/background/message-handlers.js
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,20 @@ export function getEmailProtectionCapabilities (_, sender) {
}
}

export function getIncontextSignupDismissedAt () {
const initiallyDismissedAt = settings.getSetting('incontextSignupInitiallyDismissedAt')
const permanentlyDismissedAt = settings.getSetting('incontextSignupPermanentlyDismissedAt')
return { success: { initiallyDismissedAt, permanentlyDismissedAt } }
}

export function setIncontextSignupInitiallyDismissedAt ({ value }) {
settings.updateSetting('incontextSignupInitiallyDismissedAt', value)
}

export function setIncontextSignupPermanentlyDismissedAt ({ value }) {
settings.updateSetting('incontextSignupPermanentlyDismissedAt', value)
}

// Get user data to be used by the email web app settings page. This includes
// username, last alias, and a token for generating additional aliases.
export async function getUserData (_, sender) {
Expand Down

0 comments on commit 65d6b3f

Please sign in to comment.