Because:
- we want to send known metric values in the automatic page load events
This commit:
- set the available metrics when initializing Glean, before any page
load events
Because:
* Animations were working in storybook but not on stage due to CSP that blocked the global style tags in the svgs
* UX recommended edits to the recovery key PDF illustrations
This commit:
* Add animations and keyframes to tailwind config
* Use these animations in the SVGs
* Update recovery key pdf SVG
Closes #FXA-10419
Because:
* We want to match designs for mobile view
This commit:
* Adjust styling of the NotificationPromoBanner component to support mobile view
* Adjust styling of PageSettings to use a gap between components (removes needs for setting external margins in section components
* Remove stacked banner story, the spacing between the banners is now set at the PageSettings level
* Adds story to PageSettings to show NotificationPromoBanner in context
* Small drive-by tweaks for ltr/rtl
Closes #FXA-10405
Because:
* We are seeing this event fire too many times, reproducible when navigating around Settings
This commit:
* Creates a shared function for PageSettings and ProductPromo to use to conditionally send the Glean ping and render the component as expected
fixes FXA-10403
Because:
* Add a touch of whimsy, standardize image style
* Respect user preference for reduced motion
This commit:
* Add animations for the recovery key flow graphics (password, recovery key, recovery key hint)
* Update images used in recovery key creation flow
* Remove unused images
* Add tailwind utility to stop all svg animations if user prefers reduced motion
Closes #FXA-10205
Because:
* We want to take Sync users to an 'inline' (after login) recovery key setup flow if they don't already have a key
This commit:
* Creates initial components for this flow and adds basic tests and l10n
* Contains some refactoring to share with the download component with Settings
closes FXA-10078
Because:
* We are aligning all graphics to use the same graphic style
This commit:
* Create a react-pdf version of the recovery key graphic
Closes #FXa-10397
Because:
* We want to enable grouping of the automated page load Glean pings, and the default data included all query params in url and generic page title ("Mozilla accounts") for most pings
This commit:
* Sets a custom document title in the Head component
* Override the url provide on page load to glean to only include the pathname (excluding the params allows for easier grouping by route)
* Moves the page load event closer to page rendering for Settings pages, ensuring custom document titles are more reliably included with the pings
* Ensures additional metrics data (including flow id) is included for Settings pages
* Attempted to move the page load event into the AppLayout component for non-settings pages, but this caused a lot if issues for test and storybook mocks. Most non-settings pages do not currently have custom page titles, so there was limited benefit to moving the page load event at the moment.
Closes #FXA-10386
Because:
- Glean in Settings was initialized with the default "development"
value
This commit:
- uses the actual configuration value for the app channel
Because:
* We use this component in multiple places (sidebar and setitngs), and it fired a view event for each instance
* We want a glean click event for comparison on a custom event
fixes FXA-10317
Because:
* Glean metrics were not emitted for settings with a console error
This commit:
* Remove glean from fxa-settings dependencies as follow-up to PR-17470
Because:
* iOS does not respond to this web channel message, unlike desktop which prompts the user with an alert, and unlike Android, which responds with 'ok: true' automatically
This commit:
* Only sends the web channel message if desktop v3 context is used. We will update this for OAuth desktop before that feature rolls out.
closes FXA-10316
Because:
- Settings is not being served from a CDN
This Commit:
- Configures webpack so that it can build assets that will work with a CDN
- Updates docker build to produce static bundle for stage cdn
- Updates docker build to produce static bundle for prod cdn
- Makes a couple changes to target these new build assets in content server
- Uses the full hash in bundle names to reduce the chance of conflict
Note, that we currently do a string replacement on index.html to inject some config and a flow id. If we didn't do this, we could serve this as a SPA directly off the CDN which would be faster. This should be a future consideration.
To test what this would look like once deployed on stage / production, override the following in local.json config.
"static_directory": "dist"
"page_template_subdirectory": "dist"
"proxy_settings": false
Because:
* There was no spacing between Use a different account and Forgot password? links on mobile sign in page
This commit:
* Tweak styling to show links on separate lines for mobile
Closes #FXA-10305
Because:
* We want metrics for when a user clicks on this link
* Simplifies glean data attrs because the type is string or undefined, and if this is undefined the attribute does not render
This commit:
* Adds the glean attrs on LinkExternal
* Shares 2fa glean data type with enum for consistency
closes FXA-9578
Because:
* We are adding glean click events
This commit:
* Adds the click event for inline setup, normal setup, and replace recovery codes, after users submit the recovery code to confirm and finish the flow
closes FXA-10127
Because:
* We want click events for "Cancel" and "Continue" buttons after the backup codes are shown
This commit:
* Adds the events for normal setup, inline setup, and replace
closes FXA-9583, closes FXA-9584
Because:
* We want to add a new 'Firefox browser' row to our Data Collection and Use section
This commit:
* Refactors DataCollection to use our standard UnitRow component per the new content design
* Adjusts UnitRow for new hideHeaderValue prop, doesn't render action div if action wasn't provided, renames noHeaderValueText to defaultHeaderValueText for clarity
* Tweaks related stories and tests
closes FXA-10297
Because:
* This must be enabled for automatic Glean click events and is already set to true for stage and prod
This commit:
* Updates the default config option from false to true for dev env
Because:
* We want to add automatic Glean click events so we don't have to edit the YAML and generate files for every click interaction
* We want events for copy, download, and print actions for 2FA recovery codes
This commit:
* Adds the click event from the Glean API to be callable from our custom GleanMetrics object, sets up the global event listener once application state has settled
* Adds click events with data-glean-id and data-glean-type for all states (setup, change, inline setup) of 2FA GetDataTrio
closes FXA-10264, closes FXA-9580, closes FXA-9581, closes FXA-9582
Because:
* Monitor Plus is not available for non-US customers and there are UX questions
This commit:
* Hides the MonitorPlus promo temporarily
closes FXA-10289
Because:
* We want to track views of the bento menu and clicks on suggested product links
This commit:
* Add new Glean events and implement in fxa-settings, add unit tests
Closes #FXA-10219
Because:
* We want to distinguish between monitor free and monitor plus
* We want to use the Monitor stage link if coming from stage accounts
This commit:
* Switch the UTM content param in the promo link
* Check for host to select which monitor link to use
Closes #FXA-10213
Because:
* Accounts has its own dedicated help link we should use instead
* We want a metrics event for when users click on this link
This commit:
* Updates the link and adds the Glean event
closes FXA-10220, closes FXA-10221
Because:
- We noticed that some of the usage for webchannels was inconsistent.
- Of the web channel messages we send only FxAStatus and LinkAccount actually return responses.
This Commit:
- Removes implied response from the fxaLogin command that wasn't actually sent by firefox.
- Updates the functional tests to better reflect the actual commands and responses sent by firefox by creating some types. This should avoid mistakes
Because:
* We want to standardize UTM params for relying party links in the Bento Menu
This commit:
* Update UTM params included in relying party links (except Pocket)
* Update names of constants to uppercase
* Rename HomePath to SETTINGS_PATH for more clarity now that fxa-settings includes more than Settings
Closes #FXA-10053
Because:
* We want to promote Moz products and services
This commit:
* Adds a new configurable ProductPromo component, sets it up for Monitor case
* Adds new Sidebar component to hold the nav and ProductPromo
closes FXA-10145
Because:
* We want updated copy and a new slug
This commit:
* Adjusts the copy and updates the 'security-privacy-news' slug to 'mozilla-and-you'
* Moves the MoFo checkbox to be the second checkbox
* Adjusts Glean marketing event
closes FXA-10027
Because:
* We want to display the SVG that has the "pocket" text logo and not just the Pocket logo
This commit:
* Updates the SVG and updates minor styling
fixes FXA-10204
Because:
* We want to know if the third party auth buttons were displayed or not when the login view event happens
This commit:
* Adds 'third_party_links' as an available boolean on extra_keys for event type
* Adds this for cachedLogin.view and login.view Glean events
fixes FXA-10119
Because:
* In the 'account disconnected' Sync state, users are now taken to /signin instead of /force_auth, so our logic needed to be updated
This commit:
* Adjusts the logic for when we send the message. Only send if the user didn't first hit content-server (we will know based on a temporary query param until email-first is converted to React). The browser decides when to automatically respond with ok: true or prompt the user
* Displays an error message when the user cancels
fixes FXA-10176
Because:
* There's a case where the session token given back from requestSignedInUser is undefined
This commit:
* Makes sure the sessionToken is defined before checking its validity and using it
fixes FXA-10156
Because:
* If multiple accounts were signed in on different tabs, operations could be applied to the wrong account
* Current account uid was not correctly updating to reflect the account in use in the focused tab
This commit:
* On tab focus, check if the account uid matches the current account uid. If not, update current account uid.
* Only check for destroyed session after updating the current account uid to ensure the correct session is signed out on tab focus.
Closes #FXA-9984
Because:
* Some stories are broken and not loading
This commit:
* Update image imports for image components
* Add React import where missing
* Move use of useSensitiveDataClient hook to container level
Closes #FXA-10085
Because:
- If you signout and the browser isn't notified, users can end up in a wierd state when accessing settings
This Commit:
- Asks firefox for the current user
- Checks the current session token
- If the current session is token, uses it thereby letting the user access settings
- If the current session is not valid, a message is displayed saying to signout from sync.
Because:
- We saw positive results from doing the same thing for the CanLinkAcocunt web channel message
This Commit:
- Updates the Login webchannel message
Because:
* We want to track metrics for clicks to add/change display name and add a secondary email
This commit:
* Adds and implements glean events account_pref_display_name_submit and account_pref_secondary_email_submit
Closes #FXA-10041, FXA-10042
Because:
* We want to track metrics events on Unlink click from settings, and Unlink confirm, with 'create_password' reason if the user needed to first set a password
This commit:
* Adds events account_pref_google_unlink_submit, account_pref_google_unlink_submit_confirm, account_pref_apple_unlink_submit, account_pref_apple_unlink_submit_confirm
* Includes 'reason' in events if user does not have a password set
* Updates some tests and one warning
closes FXA-10050, closes FXA-10051
Because:
* This link no longer allows users to get a text via SMS, so we're removing it
This commit:
* Removes the link and updates copy
fixes FXA-9983
Because:
- When signing into sync on Android, the signin button can become 'stuck'
- Yesterday we uncovered a race condition that seemed to help, but didn't totally fix the problem.
- The event handler in fxaCanLinkAccount was too general and could pick up events that were not intended for it.
This Commit:
- Uses `this.addEventListener(FirefoxCommand.CanLinkAccount` instead of `window.addEventListener('WebChannelMessageToContent'...`
- Doing so ensures that only responses for the CanLinkAccount command are handled.
Note, we should avoid using `window.addEventListener('WebChannelMessageToContent'`
Because:
* Android responds immediately to the can_link_account message and we don't appear to always have the event listener attached
This fix:
* Adds requestAnimationFrame, as we have needed to use this a couple of times before for testing when the response back was immediate
fixes FXA-10057
Because:
* Avatar for a different cached account was shown after clicking on "Use a different account"
* We want to match parity with backbone where avatar is only shown for cached sign in
This commit:
* Show the default avatar if there is no session token
* Update unit tests to test for custom avatar shown for cached sign in with session token, and default avatar without session token, including tests for both scenarios with passwordless accounts
Closes #FXA-10044
Because:
- On android mobile this response for 'CanLinkAccount' comes back immediately and no pop up is displayed.
- As result, we potentially have a result, and the eventHandler might not be bound.
This commit:
- Attach the event handler before sending the message.
Because:
* We want to track clicks to start an account recovery key setup flow
This commit:
* Add glean event and emit in the appropriate settings page
Closes #FXA-10039