Skip to content

Conversation

@stephaniehobson
Copy link
Contributor

@stephaniehobson stephaniehobson commented Sep 19, 2025

One-line summary

Update bedrock to Protocol V22

Significant changes and points to review

V22 changelog

  • new colours
  • new icons
  • new breadcrumb component
  • new rich text component
  • unless they were throwing errors I left the Firefox pages alone

Issue / Bugzilla link

mozilla/protocol#1074
#13462

Testing

Color token changes:

Breadcrumbs/subnav:

caret -> arrow icon updates (mostly modal navigation):

rich text & icon updates

Integration test run

@stephaniehobson stephaniehobson added the WMO and FXC Code relevant to both mozilla/bedrock (www.mozilla.org) and mozmeao/springfield (www.firefox.com) label Sep 19, 2025
@stephaniehobson stephaniehobson force-pushed the v22 branch 2 times, most recently from d6cfc20 to fc3a9f5 Compare October 31, 2025 21:11
@codecov
Copy link

codecov bot commented Oct 31, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.70%. Comparing base (a59a279) to head (672a697).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #16586   +/-   ##
=======================================
  Coverage   79.70%   79.70%           
=======================================
  Files         159      159           
  Lines        8534     8534           
=======================================
  Hits         6802     6802           
  Misses       1732     1732           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@stephaniehobson stephaniehobson marked this pull request as ready for review October 31, 2025 21:33
@stephaniehobson stephaniehobson requested review from a team as code owners October 31, 2025 21:33
@stephaniehobson stephaniehobson added Needs Review Awaiting code review Frontend HTML, CSS, JS... client side stuff labels Oct 31, 2025
@stephaniehobson stephaniehobson changed the title [WIP] Update bedrock to Protocol V22 Update bedrock to Protocol V22 Oct 31, 2025
@maureenlholland maureenlholland self-assigned this Nov 3, 2025
Copy link
Collaborator

@maureenlholland maureenlholland left a comment

Choose a reason for hiding this comment

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

code review is r+wc, going to do browser review tomorrow morning

the non-blocking requested change is to use @use instead of @import

Copy link
Collaborator

@janbrasna janbrasna left a comment

Choose a reason for hiding this comment

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

Thanks for the play/pause icons, the skip pixel of yesteryear was obnoxious;]

There's also two icons on products.landing that are outdated now:

{% set icon_external = '<span class="mzp-c-button-icon-end"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5"><path d="M13 4h7v7M12 12l8-8M8 4H7a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1"/></g></svg></span>' %}
{% set icon_download ='<span class="mzp-c-button-icon-end"><svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 16 16" width="16" height="16" fill="currentColor"><path d="M8 13c.2 0 .4-.1.5-.2l4.4-4.4-1.1-1.1-3.1 3.1V1H7.2v9.4L4.1 7.3l-1 1.1 4.4 4.4c.1.1.3.2.5.2z" /><path d="M13.5 12v2c0 .3-.2.5-.5.5H3c-.3 0-.5-.2-.5-.5v-2H1v2c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-2h-1.5z" /></svg></span>' %}

Some random notes:

Comment on lines 28 to 27
<title>Download</title>
<path fill="currentColor" d="M19.5 17.31v2.13H4.72v-2.13h-2.6v4.73H22.1v-4.73h-2.6z"/>
<path fill="currentColor" d="M21.44 7.09h-8.03V2.06h-2.6v5.03H2.78l9.33 11.09 9.33-11.09Zm-5.59 2.59-3.74 4.46-3.74-4.46h7.48Z"/>
</svg></span></a>
<a download class="mzp-c-button" href="https://assets.mozilla.net/pdf/transparency-report/2024-dsa.pdf">2024 DSA Transparency Report <span class="mzp-c-button-icon-end"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><clipPath id="a"><path d="M0 0h16v16H0z"/></clipPath><g fill="currentColor" clip-path="url(#a)"><path d="M7.25 0v10.21L3.53 6.49 2.47 7.55 8 13.08l5.53-5.53-1.06-1.06-3.72 3.72V0zM16 14.5H0V16h16z"/></g></svg></a>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Seems the title here inside the SVG got removed?

BTW, the download attribute does something?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

download means something. I'm not sure it does something.

Comment on lines -153 to +155
if ftl_file_is_active("mozorg/home-m24") and experience != "legacy":
if ftl_file_is_active("mozorg/home-m24") and experience not in ["quantum", "trailhead"]:
return [self.m24_template_name]
elif ftl_file_is_active("mozorg/home-new") and experience != "legacy":
elif ftl_file_is_active("mozorg/home-new") and experience != "quantum":
Copy link
Collaborator

Choose a reason for hiding this comment

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

Okay this makes sense (I wish there was also a way to trigger the nav/footer from that time) — but wondering if that needs a comment, or a documentation somewhere?

(I remember learning about the xv=legacy at some point, seemingly within ftl file comments; but can't find that any longer. Wondering where was the learning curve for this.)

NB: the experience value for mozorg/home is something different than the firefox/download already documented in mkdocs.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I updated the home-new.ftl and home.ftl files to use the xv links explicitly.

The real fix here is to retire the old ones. It's been long enough but that's for another issue.

Comment on lines 13 to 16
&.is-hidden {
display: none;
}

Copy link
Collaborator

Choose a reason for hiding this comment

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

IIUC this is extra, when history state is empty?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Comment on lines -119 to -121
&.is-hidden {
display: none;
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

(Hmm here too, for some reason, was that for long vs. short title?)

Copy link
Collaborator

Choose a reason for hiding this comment

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

OK can't find this any longer — it would have to come from CMS somehow.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Maybe it was copied wholesale from the cookie settings page and was only relevant there?

Copy link
Collaborator

@maureenlholland maureenlholland left a comment

Choose a reason for hiding this comment

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

1 blocking issue for ads page contact button hover styling

re-upping some of Jan's comments (I'm on the fence about considering these blocking, could be fast follow PR)

Nice we've got the button link focus contrast back 🎉
Screenshot 2025-11-04 at 1 07 42 PM

"@babel/core": "^7.28.4",
"@babel/preset-env": "^7.28.3",
"@mozilla-protocol/core": "^20.0.0",
"@mozilla-protocol/core": "^22.0.0",
Copy link
Collaborator

@maureenlholland maureenlholland Nov 4, 2025

Choose a reason for hiding this comment

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

blocking: the hover/active styling on ads page button is unhappy on this PR (working on www-dev and prod). See "Contact Sales" link above footer
Screenshot 2025-11-04 at 1 13 23 PM

There's a lot of specificity fighting on the ads pages: Protocol + M24 base + Ads styling

I tested removing link overrides from M24: https://github.com/mozilla/bedrock/blob/main/media/css/m24/base.scss#L33
But this creates other specificity problems (i.e. homepage "Learn" link goes dark green on hover)
Screenshot 2025-11-04 at 1 26 59 PM

I want to prioritize getting access to Protocol v22. So the requested change is to fix ads button only and we can create a follow up task to untangle the Protocol/M24 overrides later.

@stephaniehobson stephaniehobson dismissed maureenlholland’s stale review November 5, 2025 20:59

Review feedback addressed!

@stephaniehobson stephaniehobson merged commit 3bb8a11 into main Nov 5, 2025
5 checks passed
@stephaniehobson stephaniehobson deleted the v22 branch November 5, 2025 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Frontend HTML, CSS, JS... client side stuff Needs Review Awaiting code review WMO and FXC Code relevant to both mozilla/bedrock (www.mozilla.org) and mozmeao/springfield (www.firefox.com)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants