Repository navigation
Add a stormbox-react workload - #595
Merged
Merged
Conversation
✅ Deploy Preview for webkit-speedometer-preview ready!Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify project configuration. |
camillobruni
approved these changes
Nov 13, 2026
mstange
pushed a commit
to mozilla/Speedometer
that referenced
this pull request
Nov 13, 2026
Stormbox-React's ScrollMessageList step drives the list through the scrollTop, scrollHeight and clientHeight accessors on PageElement. This warms them up like the other PageElement methods. From WebKit#595 (2846a0b). The accessors themselves are already on sp4-exp via the ChatRoom-React virtualization commit.
Bas-moz
approved these changes
Nov 13, 2026
A React clone of the Stormbox webmail front end with a generated mailbox; nine steps cover folders, scrolling, reading, tagging, bulk actions, filtering, deleting, composing and theme switching.
…st is at the top for the next step The virtualizer re-applies its last scrollToIndex target on later frames; leaving it on row 0 keeps that from scrolling the list, and closing the tag popover, during StarAndTagMessages.
…List scrolls Assigning scrollTop on the wrapper only set an expando, and clientHeight and scrollHeight were undefined, so the step never moved the list and measured ~0ms. The accessors match the ones in the ChatRoom virtualization commit, and the warmup suite now exercises them.
Port of stormbox-react 6970a48. FolderTree, ListHeader and MessageListRow inlined the dangerouslySetInnerHTML icon pattern instead of using the existing RawIcon helper. Route them through RawIcon so raw HTML injection of trusted assets lives in one place. Rendered DOM is unchanged.
…svgr Port of stormbox-react ca4a39a. Replace the `?raw` SVG imports and innerHTML injection with `?react` components. RawIcon becomes SvgIcon and takes a component instead of an HTML string; it keeps the same aria-hidden wrapper span so the existing CSS (which styles the inner [fill="context-fill"] / [fill="context-stroke"] paths) still applies. SVGR is run without SVGO, so all attributes survive. This changes the DOM work done per icon (React element creation instead of one innerHTML parse), so Stormbox-React results are not comparable across this commit.
Port of stormbox-react 289f522. plaintext-html.ts built an HTML string that MessageView ran through DOMPurify and injected with dangerouslySetInnerHTML. Replace it with plaintext-body.tsx, which returns React nodes: nested <blockquote>s for quote levels and <a> elements for links found by linkifyjs's tokenizer. React's escaping makes the output safe, so the DOMPurify pass is gone; link hrefs are still checked against ALLOWED_URI_REGEXP. Markup is identical to the old path for every generated plaintext body. Links with disallowed schemes (e.g. ftp:) now render as plain text rather than as an href-less <a> left behind by DOMPurify. Drops the now-unused linkify-string dependency. As with the icon change, Stormbox-React results are not comparable across this commit.
…Stormbox-Vue The svgr and plaintext-body ports made the README's "copied verbatim" list for src/utils/ wrong and changed what the workload does compared with Stormbox and Stormbox-Vue. Fix the list and note the difference, including that React-vs-Vue comparisons now include it.
jrmuizel
force-pushed
the
stormbox-refactor
branch
from
November 13, 2026 16:50
df99b75 to
d0cee54
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a test based on the React port of the Thunderbird webmail client: https://github.com/thunderbird/stormbox