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

Update email verification items - remove old notices, add banner, update copies and success messages. #94683

Merged
merged 42 commits into from
Oct 7, 2024

Conversation

Addison-Stavlo
Copy link
Contributor

@Addison-Stavlo Addison-Stavlo commented Sep 18, 2024

Related to # #93895 and #94247

Proposed Changes

  1. Removes the email not verified notice and email pending change notice that were previously underneath the input and moves these concerns into the input's explanation text, a new banner, and new success message on successful email change. The various forms of the explanation text are shown immediately below:

    • General case (unchanged).
    Screenshot 2024-09-24 at 1 01 49 PM
    • Email not verified case:
    Screenshot 2024-09-24 at 1 01 23 PM
    • Email pending change case:
    Screenshot 2024-09-24 at 1 02 16 PM
  2. Adds a new email verification banner at the top of /me and /me/account that opens the email verification dialog when clicked.

Screenshot 2024-09-24 at 1 05 07 PM
  1. The email verification dialog has been updated to close on route change, and to send an event to signal focus/scroll behavior on the email input if on /me/account. It has also been updated to allow resending an email for pending email change, as it was previously only set up for verification email.

    • updated to close on route change - previously this dialog was not shown /me/account, so clicking the link to /me/account would close the dialog since its parent controller was no longer rendered. Now that we have the new verification banner controlling the dialog which is also shown on /me/account, the parent controller does not dismount and close the dialog. Therefore we ensure it closes on route change.
    • When on /me/account, the link to change the email that would generally lead to /me/account now focuses and scrolls the email input (or cancel pending change button if applicable).
  2. Adds a SuccessNotice when the email is updated, mentioning an email was sent to the new address.

    • This has been added on both /me/account as well as /me/security/account-email

    • On /me/account, the success notice copy is conditional to the changes made (other settings only, email only, or both email and other settings).

      • Only other settings changed
      Screenshot 2024-09-24 at 10 49 43 AM
      • Only email changed
      Screenshot 2024-09-24 at 10 40 50 AM
      • Both email and other settings changed
      Screenshot 2024-09-24 at 10 49 30 AM
  3. Adds a success notice when the user is redirected to /me/account after confirming a pending email change. This contains the previous information about updating domain information if necessary and a the same link to updating domains contact info that was previously in the notice.

    • Screenshot 2024-09-23 at 5 15 26 PM
    • Also updates the middleware that redirects legacy route /settings/account to /me/account to include the ?new_email_result=1 param if it exists, and other middleware will check for this param, remove it, and add the corresponding notice.
  4. POTENTIAL FOLLOW-UPs

    • Some basic unit tests. We removed some unit tests for the one of the now unused notices that verified it does not show up unless the email is unverified. We should at the very least add a unit test for the banner to ensure it only shows up if unverified or if pending change.
    • We may want to update the banner component to support an isCritical or isWarning type case. Currently it is set to inherit interface colors (or maybe jetpack colors), and we override styles for our specific use to get the red. If this is intended to be used for more warnings in the future, we should move those styles into the banner component and allow them to be enabled with a prop.
      BEFORE
Screenshot 2024-09-20 at 2 50 48 PM Screenshot 2024-09-18 at 2 03 32 PM Screenshot 2024-09-20 at 3 03 11 PM

AFTER
As shown above in description items.

Why are these changes being made?

Testing Instructions

  1. Create a couple test email addresses, create a new account on WordPress.com and do not verify the email. I think logging in with google automatically verifies (?), so I used the "continue with email" create account option.
  2. Load this branch of calypso,
  3. go to /me/account.
  4. Verify the text underneath the input updates to reflect the email is not verified.
  5. Verify the new banner appears at the top of /me and /me/account.
  6. On /me, verify clicking the banner opens the dialog. Verify the "change" button on the dialog redirects to /me/account and closes the dialog.
    • Bonus - verify the "resend email" button in the dialog still works here and sends an email to your inbox.
  7. On /me/account, verify clicking the banner opens the dialog. Verify the "change" button closes the dialog and focus/scrolls the input for use.
  8. Verify your email via the link in the email message.
  9. Change your email on /me/account. When you submit you should see a success notice mentioning the email address to check.
  • Later test this along with other settings like changing your primary site, as well as just changing the primary site with no email change. Verify the success notice updates contextually to what has changed as described in the description above.
  1. The input should now be locked, and the copy underneath should have changed. Verify there is a link/button to cancel the pending email change.
  2. Re-open the dialog from the banner. Click "resend email" and verify you get another copy of the pending change email in your inbox.
  3. Re-open the dialog from the banner. Verify clicking "change" now focuses the cancel pending change button.
  4. Re-open the dialog from the banner.
  5. Click the button to cancel the pending change. Verify the input is usable and shows the old email address.
  6. Go to */settings/account?new_email_result=1. Verify this redirects to /me/account, they query param is gone, and there is a success notice with a link to domains.
    • We can not test email -> link click to confirm change -> into calypso here easily since these links are handled through and redirected in production. So instead we test where a successful email change would land at */settings/account?new_email_result=1.
  7. Verify that once email is verified and there is no pending change, there is no verification banner shown and that the message under the input does not note a need for verification or a pending change.

Pre-merge Checklist

  • Has the general commit checklist been followed? (PCYsg-hS-p2)
  • Have you written new tests for your changes?
  • Have you tested the feature in Simple (P9HQHe-k8-p2), Atomic (P9HQHe-jW-p2), and self-hosted Jetpack sites (PCYsg-g6b-p2)?
  • Have you checked for TypeScript, React or other console errors?
  • Have you used memoizing on expensive computations? More info in Memoizing with create-selector and Using memoizing selectors and Our Approach to Data
  • Have we added the "[Status] String Freeze" label as soon as any new strings were ready for translation (p4TIVU-5Jq-p2)?
  • For changes affecting Jetpack: Have we added the "[Status] Needs Privacy Updates" label if this pull request changes what data or activity we track or use (p4TIVU-aUh-p2)?

@matticbot
Copy link
Contributor

matticbot commented Sep 18, 2024

Here is how your PR affects size of JS and CSS bundles shipped to the user's browser:

App Entrypoints (~83 bytes added 📈 [gzipped])

name                   parsed_size           gzip_size
entry-stepper               +396 B  (+0.0%)     +124 B  (+0.0%)
entry-main                  +262 B  (+0.0%)     +117 B  (+0.0%)
entry-subscriptions          -56 B  (-0.0%)      -32 B  (-0.0%)
entry-login                  -56 B  (-0.0%)      -73 B  (-0.0%)
entry-domains-landing        -56 B  (-0.0%)      -32 B  (-0.0%)
entry-browsehappy            -56 B  (-0.0%)      -32 B  (-0.1%)

Common code that is always downloaded and parsed every time the app is loaded, no matter which route is used.

Sections (~83305 bytes added 📈 [gzipped])

name                                parsed_size           gzip_size
me                                     +44865 B  (+6.3%)   +15510 B  (+7.7%)
account-close                          +44865 B  (+6.1%)   +15510 B  (+7.5%)
site-blocks                            +44772 B  (+5.9%)   +14851 B  (+6.9%)
privacy                                +44772 B  (+6.1%)   +14795 B  (+7.0%)
help                                   +44772 B  (+6.0%)   +14795 B  (+7.0%)
developer                              +44772 B  (+6.0%)   +14840 B  (+7.0%)
notification-settings                  +43625 B  (+5.2%)   +14518 B  (+6.2%)
security                               +37031 B  (+3.9%)   +11957 B  (+4.5%)
account                                +34922 B  (+3.7%)   +11742 B  (+4.3%)
purchases                              +10002 B  (+0.5%)    +2819 B  (+0.5%)
settings                                 +848 B  (+0.1%)     +911 B  (+0.3%)
update-design-flow                       +451 B  (+0.0%)     +521 B  (+0.2%)
link-in-bio-tld-flow                     +405 B  (+0.0%)     +144 B  (+0.0%)
email                                    +400 B  (+0.1%)     +506 B  (+0.2%)
settings-performance                     +335 B  (+0.1%)    -1609 B  (-1.0%)
signup                                   +329 B  (+0.1%)       +5 B  (+0.0%)
settings-newsletter                      -177 B  (-0.0%)     -817 B  (-0.5%)
posts-custom                             -142 B  (-0.0%)     -178 B  (-0.1%)
posts                                    -142 B  (-0.0%)     -178 B  (-0.1%)
people                                    -84 B  (-0.0%)     -208 B  (-0.1%)
with-theme-assembler-flow                 +46 B  (+0.1%)      +13 B  (+0.1%)
update-options-flow                       +46 B  (+0.1%)      +12 B  (+0.2%)
trial-wooexpress-flow                     +46 B  (+0.1%)      +13 B  (+0.2%)
tailored-ecommerce-flow                   +46 B  (+0.1%)      +12 B  (+0.2%)
start-writing-flow                        +46 B  (+0.1%)      +11 B  (+0.1%)
site-setup-wg                             +46 B  (+0.0%)      +14 B  (+0.1%)
site-setup-flow                           +46 B  (+0.1%)      +14 B  (+0.1%)
site-migration-flow                       +46 B  (+0.1%)      +11 B  (+0.1%)
reblogging-flow                           +46 B  (+0.8%)      +15 B  (+0.8%)
readymade-template-flow                   +46 B  (+0.0%)      +15 B  (+0.0%)
onboarding-flow                           +46 B  (+0.6%)      +20 B  (+0.9%)
newsletter-flow                           +46 B  (+0.2%)      +12 B  (+0.1%)
new-hosted-site-flow-user-included        +46 B  (+0.8%)      +22 B  (+1.1%)
new-hosted-site-flow                      +46 B  (+0.8%)      +20 B  (+1.0%)
migration-signup                          +46 B  (+0.1%)      +12 B  (+0.2%)
migration-flow                            +46 B  (+0.1%)      +12 B  (+0.1%)
link-in-bio-flow                          +46 B  (+0.3%)      +10 B  (+0.2%)
jetpack-app                               +46 B  (+0.0%)      +41 B  (+0.0%)
import-flow                               +46 B  (+0.1%)      +12 B  (+0.1%)
hosted-site-migration-flow                +46 B  (+0.1%)      +11 B  (+0.1%)
free-post-setup-flow                      +46 B  (+0.1%)      +12 B  (+0.2%)
free-flow                                 +46 B  (+0.1%)      +12 B  (+0.1%)
entrepreneur-flow                         +46 B  (+0.0%)      +11 B  (+0.0%)
design-first-flow                         +46 B  (+0.1%)      +11 B  (+0.1%)
connect-domain                            +46 B  (+0.2%)      +18 B  (+0.3%)
assembler-first-flow                      +46 B  (+0.1%)      +12 B  (+0.1%)
ai-assembler-flow                         +46 B  (+0.1%)      +14 B  (+0.1%)
write-flow                                -39 B  (-0.0%)      -18 B  (-0.0%)
woocommerce-installation                  -39 B  (-0.0%)      -17 B  (-0.0%)
woocommerce                               -39 B  (-0.0%)      -17 B  (-0.0%)
videopress-flow                           -39 B  (-0.0%)      -17 B  (-0.0%)
themes                                    -39 B  (-0.0%)      -17 B  (-0.0%)
theme                                     -39 B  (-0.0%)      -17 B  (-0.0%)
subscribers                               -39 B  (-0.0%)      -17 B  (-0.0%)
stats                                     -39 B  (-0.0%)      -17 B  (-0.0%)
settings-writing                          -39 B  (-0.0%)      -17 B  (-0.0%)
settings-security                         -39 B  (-0.0%)      -17 B  (-0.0%)
settings-reading                          -39 B  (-0.0%)      -17 B  (-0.0%)
settings-podcast                          -39 B  (-0.0%)      -17 B  (-0.0%)
settings-jetpack                          -39 B  (-0.0%)      -17 B  (-0.0%)
sensei-flow                               -39 B  (-0.0%)      -17 B  (-0.0%)
scan                                      -39 B  (-0.0%)      +58 B  (+0.0%)
promote-post-i2                           -39 B  (-0.0%)      -17 B  (-0.0%)
preview                                   -39 B  (-0.0%)      -17 B  (-0.0%)
patterns                                  -39 B  (-0.0%)       -9 B  (-0.0%)
pages                                     -39 B  (-0.0%)      -17 B  (-0.0%)
migrate                                   -39 B  (-0.0%)      -17 B  (-0.0%)
media                                     -39 B  (-0.0%)       -9 B  (-0.0%)
marketplace                               -39 B  (-0.0%)      -17 B  (-0.0%)
marketing                                 -39 B  (-0.0%)     -443 B  (-0.2%)
jetpack-social                            -39 B  (-0.0%)     +372 B  (+0.2%)
jetpack-search                            -39 B  (-0.0%)      +77 B  (+0.0%)
jetpack-connect                           -39 B  (-0.0%)      -78 B  (-0.0%)
jetpack-cloud-settings                    -39 B  (-0.0%)      -17 B  (-0.0%)
jetpack-cloud-pricing                     -39 B  (-0.0%)       -4 B  (-0.0%)
jetpack-cloud-overview                    -39 B  (-0.0%)      -17 B  (-0.0%)
jetpack-cloud-features-comparison         -39 B  (-0.0%)      -15 B  (-0.0%)
jetpack-cloud-agency-sites-v2             -39 B  (-0.0%)      +66 B  (+0.0%)
jetpack-cloud                             -39 B  (-0.0%)      -17 B  (-0.0%)
incoming-redirect                         -39 B  (-0.2%)      -17 B  (-0.2%)
import                                    -39 B  (-0.0%)      -17 B  (-0.0%)
home                                      -39 B  (-0.0%)      -17 B  (-0.0%)
gutenberg-editor                          -39 B  (-0.0%)      -17 B  (-0.0%)
google-my-business                        -39 B  (-0.0%)      -17 B  (-0.0%)
export                                    -39 B  (-0.0%)      -17 B  (-0.0%)
earn                                      -39 B  (-0.0%)      -17 B  (-0.0%)
customize                                 -39 B  (-0.0%)      -17 B  (-0.0%)
copy-site-flow                            -39 B  (-0.0%)      -17 B  (-0.0%)
concierge                                 -39 B  (-0.0%)      -17 B  (-0.0%)
comments                                  -39 B  (-0.0%)      -17 B  (-0.0%)
checkout                                  -39 B  (-0.0%)      -18 B  (-0.0%)
build-flow                                -39 B  (-0.0%)      -18 B  (-0.0%)
add-ons                                   -39 B  (-0.0%)      -17 B  (-0.0%)
activity                                  -39 B  (-0.0%)      -17 B  (-0.0%)
a8c-for-agencies-team                     -39 B  (-0.0%)      -19 B  (-0.0%)
a8c-for-agencies-sites                    -39 B  (-0.0%)      +66 B  (+0.0%)
a8c-for-agencies-signup                   -39 B  (-0.0%)      -17 B  (-0.1%)
a8c-for-agencies-settings                 -39 B  (-0.0%)      -17 B  (-0.0%)
a8c-for-agencies-referrals                -39 B  (-0.0%)      -19 B  (-0.0%)
a8c-for-agencies-purchases                -39 B  (-0.0%)      -17 B  (-0.0%)
a8c-for-agencies-partner-directory        -39 B  (-0.0%)      -17 B  (-0.0%)
a8c-for-agencies-overview                 -39 B  (-0.0%)      -19 B  (-0.0%)
a8c-for-agencies-migrations               -39 B  (-0.0%)      -17 B  (-0.0%)
a8c-for-agencies-marketplace              -39 B  (-0.0%)      -12 B  (-0.0%)
a8c-for-agencies-client                   -39 B  (-0.0%)      -19 B  (-0.0%)
plugins                                   +37 B  (+0.0%)      +89 B  (+0.0%)
settings-discussion                       +31 B  (+0.0%)    -1195 B  (-1.0%)

Sections contain code specific for a given set of routes. Is downloaded and parsed only when a particular route is navigated to.

Async-loaded Components (~5042 bytes added 📈 [gzipped])

name                                                                              parsed_size            gzip_size
async-load-signup-steps-p2-complete-profile                                          +16527 B  (+18.4%)    +5017 B  (+17.8%)
async-load-signup-steps-plans-theme-preselected                                         +46 B   (+0.0%)      +62 B   (+0.0%)
async-load-signup-steps-plans                                                           +46 B   (+0.0%)      +62 B   (+0.0%)
async-load-signup-steps-page-picker                                                     -39 B   (-0.0%)      -17 B   (-0.0%)
async-load-signup-steps-emails                                                          -39 B   (-0.1%)      -17 B   (-0.1%)
async-load-signup-steps-domains                                                         -39 B   (-0.0%)      -17 B   (-0.0%)
async-load-purchase-modal-wrapper                                                       -39 B   (-0.0%)      -17 B   (-0.0%)
async-load-my-sites-checkout-purchase-modal-is-eligible-for-one-click-checkou...        -39 B   (-0.0%)      -17 B   (-0.0%)
async-load-calypso-reader-sidebar                                                       -39 B   (-0.0%)      -20 B   (-0.1%)
async-load-calypso-my-sites-checkout-modal                                              -39 B   (-0.0%)      -17 B   (-0.0%)

React components that are loaded lazily, when a certain part of UI is displayed for the first time.

Legend

What is parsed and gzip size?

Parsed Size: Uncompressed size of the JS and CSS files. This much code needs to be parsed and stored in memory.
Gzip Size: Compressed size of the JS and CSS files. This much data needs to be downloaded over network.

Generated by performance advisor bot at iscalypsofastyet.com.

@Addison-Stavlo Addison-Stavlo self-assigned this Sep 18, 2024
@matticbot matticbot added the [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. label Sep 20, 2024
@matticbot
Copy link
Contributor

This PR modifies the release build for the following Calypso Apps:

For info about this notification, see here: PCYsg-OT6-p2

  • notifications
  • wpcom-block-editor

To test WordPress.com changes, run install-plugin.sh $pluginSlug update/email-verification-form-and-notice on your sandbox.

@Addison-Stavlo
Copy link
Contributor Author

Thanks for looking @javierarce and nice finds!

I updated the items you mentioned. The button should show a cursor on hover now, the dialog should close on overlay click, and scroll/focus functionality should work when using the modal from a separate page.

Comment on lines 204 to 215
// Check for query param used to indicate a need to scroll to the input, this is added when
// redirecting to this page for the purpose of email change.
const urlQueryParams = new URL( window.location.href )?.searchParams;
const focusEmail = urlQueryParams.get( 'focusEmail' );
if ( focusEmail ) {
scrollAndFocus();
window.history.replaceState( {}, '', removeQueryArgs( window.location.href, 'focusEmail' ) );
}
// Listen for an event signalling to focus and scroll to the email field or button. This
// happens when we are already on a page with the input and need to trigger the
// functionality.
emailFormEventEmitter.addEventListener( 'highlightInput', scrollAndFocus );
Copy link
Contributor Author

@Addison-Stavlo Addison-Stavlo Sep 25, 2024

Choose a reason for hiding this comment

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

Instead of using a query param for cases coming from another page, and an event emitter for cases on triggering this on the same page, I think the other option is moving this to Redux but I am conflicted. In both cases this is more of a signal/event to trigger functionality and not related to any state to manage, so Redux seems a little weird but we could probably manage it with a true/false toggle. But that seems like potential to get out-of-sync in some way (?), and generally it feels like extra boilerplate code and overkill for the purpose.

Id be curious thoughts of other developers reviewing.

Copy link
Member

Choose a reason for hiding this comment

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

I think the query param implementation makes sense. But does it need the same isEmailChangePending conditional check?

Also, I think the scroll only works the first time in Firefox. 🤔

Screen.Recording.2024-09-25.at.4.09.44.PM.mov

Copy link
Contributor Author

Choose a reason for hiding this comment

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

But does it need the same isEmailChangePending conditional check?

Yeah. If the change is pending the input is disabled, so instead we focus the button that cancels the pending change and unlocks the input. So either way that check is relevant to figure out what element to focus.

Copy link
Contributor Author

@Addison-Stavlo Addison-Stavlo Sep 25, 2024

Choose a reason for hiding this comment

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

Also, I think the scroll only works the first time in Firefox. 🤔

Ah interesting! I don't think its just firefox.

So if you open the modal on /me/account and click "change" scroll works every time. But if you go to /me, open the modal, and click "change", the scroll/focus it only works if you haven't loaded /me/account yet.

I didn't think this would be the case but for whatever reason it seems like the email form component on /me/account doesn't dismount when you go back to /me. So the hook checking for the query param on mount to scroll to the input isn't firing since the component has been mounted and none of its dependencies have changed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok not component mounting like i suspected, its the component loading before the window url is set in this case.

this should now be resolved with df256f2.

@Addison-Stavlo Addison-Stavlo added [Status] String Freeze Add the [Status] String Freeze label to your PR to ensure new strings are translated before merging and removed [Status] String Freeze Add the [Status] String Freeze label to your PR to ensure new strings are translated before merging labels Sep 25, 2024
Copy link
Member

@DustyReagan DustyReagan left a comment

Choose a reason for hiding this comment

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

This is testing well for me! I left a couple of comments.

Also, I have some feedback on the modal, but this could be suitable for a new issue.

Screenshot 2024-09-25 at 4 12 59 PM

I know this is existing copy, but it’s a little confusing. It says to "open the email and click the blue button", but the button in the modal is blue, could it mean that button? 😅 Additionally, if this is a second email change, the verification email is text-based, and there is no button in that email. Finally, the second paragraph in the modal has a smaller font size.

Comment on lines +38 to +42
background: var(--color-surface);
border-radius: 8px; /* stylelint-disable-line scales/radii */
box-shadow: 0 0 17.4px 0 rgba(0, 0, 0, 0.05);
overflow-y: auto;
overflow-x: hidden;
Copy link
Member

Choose a reason for hiding this comment

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

I think this is removing padding on wide displays. Is this a possible regression or is this intentional?

Screenshot 2024-09-25 at 2 36 09 PM

Comment on lines 204 to 215
// Check for query param used to indicate a need to scroll to the input, this is added when
// redirecting to this page for the purpose of email change.
const urlQueryParams = new URL( window.location.href )?.searchParams;
const focusEmail = urlQueryParams.get( 'focusEmail' );
if ( focusEmail ) {
scrollAndFocus();
window.history.replaceState( {}, '', removeQueryArgs( window.location.href, 'focusEmail' ) );
}
// Listen for an event signalling to focus and scroll to the email field or button. This
// happens when we are already on a page with the input and need to trigger the
// functionality.
emailFormEventEmitter.addEventListener( 'highlightInput', scrollAndFocus );
Copy link
Member

Choose a reason for hiding this comment

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

I think the query param implementation makes sense. But does it need the same isEmailChangePending conditional check?

Also, I think the scroll only works the first time in Firefox. 🤔

Screen.Recording.2024-09-25.at.4.09.44.PM.mov

@Addison-Stavlo
Copy link
Contributor Author

Addison-Stavlo commented Sep 25, 2024

Also, I have some feedback on the modal, but this could be suitable for a new issue.

Note the modal itself has been updated separately in #94629 and waiting translations.

@DustyReagan
Copy link
Member

Also, I have some feedback on the modal, but this could be suitable for a new issue.

Note the modal itself has been updated separately in #94629 and waiting translations.

Oh! I missed that. Thanks! 😄

@a8ci18n
Copy link

a8ci18n commented Sep 30, 2024

Translation for this Pull Request has now been finished.

@Addison-Stavlo
Copy link
Contributor Author

Addison-Stavlo commented Oct 1, 2024

@DustyReagan - This has been updated to resolve the issues you found, and rebased to include the changes to the dialog modal that hopefully fit a bit better now. 😄

@javierarce Question for you. Above Dusty found a regression with our layout frame width in larger viewports. I have fixed the regression but it leaves a question for the Banner width. I have currently kept the banner width the same max-width as the content inside the frame:

banner-width-to-frame

I assume the above may be ideal. The other option is to let the banner expand with the edges of the frame itself which could feel a bit odd at wider widths:

Screenshot 2024-10-01 at 11 01 58 AM

Any thoughts there?

@javierarce
Copy link

@javierarce Question for you. #94683 (comment) a regression with our layout frame width in larger viewports. I have fixed the regression but it leaves a question for the Banner width. I have currently kept the banner width the same max-width as the content inside the frame:

In this case, I think doing that (keeping the banner width the same max-width as the content) is the right solution.

Copy link
Member

@DustyReagan DustyReagan left a comment

Choose a reason for hiding this comment

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

Tests well and the changes look good to me! Nice work! 👍

@Addison-Stavlo
Copy link
Contributor Author

Tests well and the changes look good to me! Nice work! 👍

Thanks for reviewing Dusty!

Note that im holding shipping for the new translations, as they don't seem to be fully in place yet:
Screenshot 2024-10-01 at 12 24 21 PM

@Addison-Stavlo Addison-Stavlo added [Status] String Freeze Add the [Status] String Freeze label to your PR to ensure new strings are translated before merging and removed [Status] String Freeze Add the [Status] String Freeze label to your PR to ensure new strings are translated before merging labels Oct 7, 2024
@Addison-Stavlo
Copy link
Contributor Author

It seems the string freeze check froze at 86% but was actually 100% done. Removing and re-adding the label seemed to update it. 🤷‍♀️

@Addison-Stavlo Addison-Stavlo merged commit 36f4736 into trunk Oct 7, 2024
12 checks passed
@Addison-Stavlo Addison-Stavlo deleted the update/email-verification-form-and-notice branch October 7, 2024 12:55
@github-actions github-actions bot removed [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. [Status] String Freeze Add the [Status] String Freeze label to your PR to ensure new strings are translated before merging labels Oct 7, 2024
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.

5 participants