Deploy July 9, 2026#6156
Merged
Merged
Conversation
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
"/" now focuses the filter input on any panel that has one (Call Tree, Flame Graph, Stack Chart, Marker Chart, Marker Table, Network Chart). The shortcut is discoverable through the input placeholder, which now reads "Enter filter terms (/)". "f" is an additional undocumented shortcut with the same effect, but only on panels where "f" is not already used as a call node transform shortcut (i.e. Marker Chart, Marker Table and Network Chart). It is opt-in via a new alsoFocusOnF prop on PanelSearch. Both shortcuts are no-ops when the user is already typing in an input, textarea or contenteditable element, and when modifier keys are held.
…), Dutch (nl), Italian (it) Co-authored-by: Théo Chevalier <theo@theochevalier.org> (fr) Co-authored-by: Pin-guang Chen <petercpg@mail.moztw.org> (zh-TW) Co-authored-by: Fjoerfoks <fryskefirefox@gmail.com> (nl) Co-authored-by: Francesco Lodolo [:flod] <flod+pontoon@mozilla.com> (it)
Co-authored-by: Jim Spentzos <jimspentzos2000@gmail.com> (el)
Co-authored-by: Fjoerfoks <fryskefirefox@gmail.com> (fy-NL)
Co-authored-by: Michael Köhler <michael.koehler1@gmx.de> (de)
Co-authored-by: Ian Neal <iann_bugzilla@blueyonder.co.uk> (en-GB)
Co-authored-by: Valery Ledovskoy <valery@ledovskoy.com> (ru)
Now we use `-1` (instead of `null`) to indicate that a stack node is a root. This only changes the derived `StackTable`; the `RawStackTable` stored in the files still uses a regular array with nulls.
It's not used by any TreeView users yet. The next commit will use it for the marker table. The intention is to also use it for the function list.
The sort is also persisted in the URL.
Co-authored-by: Melo46 <melo@carmu.com> (ia)
Replace `RawStackTable.prefix` with a `prefixOffset` column. For each stack i, `prefixOffset[i] === 0` means i is a root, and `prefixOffset[i] === k` (with k > 0) means i's parent is at index i - k. All values are non-negative because the stack table is stored in topological order. This results in large size savings after gzipping, because chains of `1,1,1,1` compress much better than chains of `123,124,125,126`. It's common to have these "immediate precedent is the prefix" chains because of how the stack table is usually created: You have a list of frames and you want to make a stack node for it. You find an existing stack node for a prefix that already exists, and then you create the other stack nodes for the remainder. Those new stack nodes form such a chain. The `prefixOffset` change is only made for the `RawStackTable`, i.e. for what we store in the file. The derived `StackTable` still uses `prefix`, with `-1` indicating roots.
…urrent index) (#6089) Another new version on top of #6087: - v66: Change stackTable.prefix to prefixOffset (with 0 for root nodes and `i - prefix[i]` offsets for non-roots) Here's how this change impacts profile sizes and loading times on this profile: https://storage.googleapis.com/profiler-get-symbols-fixtures/large-speedometer3-profile.json.gz (with [this corresponding size profile](https://share.firefox.dev/49IHi9U)) | Version | .jslb.gz size | .jslb size | Load time | Profile of it loading | |---------|---------------|------------|-------------|-----------------------------------| | 64 | 122 MB | 605 MB | 7.6 seconds | https://share.firefox.dev/4ogUKba | | 65 | 125 MB | 544 MB | 6.0 seconds | https://share.firefox.dev/3Qopiem | | 66 | 89 MB | 468 MB | 5.3 seconds | https://share.firefox.dev/49JetKx | 125 MB -> 89 MB on the compressed size! That's a 29% reduction!
## Summary Adds a GitHub Actions workflow that automatically inserts profiler preview links into PR descriptions when they are missing. The workflow: - Runs on `pull_request_target` - Checks whether the PR body already has a deploy preview link - Looks for profiler/share links in the PR body or linked issue body/comments - Resolves `share.firefox.dev` links to the final profiler path - Adds `[Main] | [Deploy preview]` links to the PR description ## Testing - `node --test .github/scripts/add-preview-links.test.mjs` - `node --check .github/scripts/add-preview-links.mjs` - `node --check .github/scripts/add-preview-links.test.mjs` - Live-tested on my fork with a temporary issue and PR; the workflow successfully updated the PR body with the expected preview links.
[Main](https://main--perf-html.netlify.app/public/j3rs361m00gbftjqefhch0tc1efp9g9a29njj6g/marker-table/?globalTrackOrder=08917564w2&hiddenGlobalTracks=1w7&hiddenLocalTracksByPid=29712-0wj~27416-0~20056-0~30980-0~25772-0w8~23896-0w8~33136-0w8~33348-0w8~27304-0w7~27784-02wo&thread=0&v=16) | [Deploy](https://deploy-preview-6083--perf-html.netlify.app/public/j3rs361m00gbftjqefhch0tc1efp9g9a29njj6g/marker-table/?globalTrackOrder=08917564w2&hiddenGlobalTracks=1w7&hiddenLocalTracksByPid=29712-0wj~27416-0~20056-0~30980-0~25772-0w8~23896-0w8~33136-0w8~33348-0w8~27304-0w7~27784-02wo&thread=0&v=16) --- This uses some code from #4265 but also reimplements a lot of it.
… flame graph code. For the non-inverted call node info, the two are equivalent. But if we want to use the flame graph on an inverted call node info, such as for the "called by" view in the function list, the old code would not work because the callNodeTable is always the non-inverted call node table. So this change removes one barrier for inverted flame graphs.
startsAtBottom={true} is the regular flame graph layout.
startsAtBottom={false} can be used for icicle-style flame graphs.
This PR extracts some ideas from #6090. But it doesn't add UI to show an inverted flame graph. I'm planning to have an upside-down flame graph in the function list (for the callers of the selected function), so the function list PR depends on this one.
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
<!-- profiler-preview-links:start --> [Main](https://main--perf-html.netlify.app/) | [Deploy preview](https://deploy-preview-6141--perf-html.netlify.app/) <!-- profiler-preview-links:end --> I noticed incorrect highlighting in the source view for a .ts file (from a source map).
Signed-off-by: loongtao.zhang <loongtao.zhang@outlook.com> Co-authored-by: Nazım Can Altınova <canaltinova@gmail.com>
Very long source file URLs broke the source code error overlay. The URL was rendered as one unbreakable token that pushed the box past its max-width horizontally. This commit fixes that so it doesn't show the whole url and makes sure that the wrapping happens properly.
This is mostly a cleanup commit. For every command action we pretty much had the same code at the end. This patch adds a shared `runCommand` function that sends the command and prints the formatted result in one place to reduce the code duplication.
Co-authored-by: ravmn <ravmn@ravmn.cl> (es-CL)
Signed-off-by: loongtao.zhang <loongtao.zhang@outlook.com>
<!-- profiler-preview-links:start --> [Main](https://main--perf-html.netlify.app/) | [Deploy preview](https://deploy-preview-6150--perf-html.netlify.app/) <!-- profiler-preview-links:end --> add color-scheme meta so that allow disable dark-reader. Since firefox-profiler already has a dark theme, you can disable datareader for a better visual experience. before: <img width="918" height="206" alt="image" src="https://github.com/user-attachments/assets/09cc2ee6-e6b9-44b6-80ce-8f42852821b2" /> after: <img width="738" height="130" alt="image" src="https://github.com/user-attachments/assets/23a9e243-bde6-434f-98b7-f4566cd2e6c2" /> Oddly enough, before this patch was applied, dark-reader sometimes recognized dark mode and sometimes it didn't. However, this patch gives dark-reader a deterministic behavior in any case.
…lameGraph As requested by the maintainer, this makes the invert state distinct for the call tree and flame graph panels so they default independently to non-inverted when switching tabs.
…ts in the cli codebase (#6145)
<img width="468" height="186" alt="image" src="https://github.com/user-attachments/assets/0227c0fa-271f-47f4-b88d-a6152bb1f4ff" /> add a invert callstack checkbox. before: <img width="3806" height="732" alt="image" src="https://github.com/user-attachments/assets/f531607a-321b-4289-823b-149f1985ef30" /> after: <img width="3834" height="776" alt="image" src="https://github.com/user-attachments/assets/bf9dd906-a04d-4b9d-82e5-e3cc43990a2f" /> fix #6077
## Summary - The preview-link bot now will follow referenced PRs as well as issues. - Let it reuse paths from existing Main and Deploy preview links. - Keep broken share.firefox.dev links non-fatal so the bot can keep looking or fall back to `/`. ## Example If PR `#6137` says `Follow-up to #6017`, and `#6017` has: ```markdown [Main](https://main--perf-html.netlify.app/public/abc/) ``` then the bot can add this to PR `#6137`: ```markdown [Main](https://main--perf-html.netlify.app/public/abc/) | [Deploy preview](https://deploy-preview-6137--perf-html.netlify.app/public/abc/) ``` ## Test ```bash node --test .github/scripts/add-preview-links.test.mjs ```
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: Nazım Can Altınova <canaltinova@gmail.com> (tr)
Updated locales: be, de, el, en-CA, en-GB, es-CL, fr, fur, fy-NL, ia, it, kab, nl, pt-BR, ru, sr, sv-SE, tr, uk, zh-CN, zh-TW.
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.
Main | Deploy preview
Changes:
[Nazım Can Altınova] Bump profiler-cli version to 0.4.0 (#6132)
[Florian Quèze] Add "/" and "f" keyboard shortcuts to focus the panel filter box (#6025)
[Markus Stange] Change profile.shared.stackTable.prefix to prefixOffset (delta from current index) (#6089)
[Sky Ning] Add workflow to insert PR preview links (#6133)
[Markus Stange] Implement column sorting in the marker table (#6083)
[Markus Stange] Make it easier to create upside-down flame graphs (#6128)
[Markus Stange] Use appropriate highlighter dialects for ts + jsx (#6141)
[cathaysia] style: add .editorconfig (#6142)
[Nazım Can Altınova] Prevent long source URLs from overflowing the code error overlay (#6147)
[Nazım Can Altınova] Extract a runCommand helper for profiler-cli command handlers (#6148)
[cathaysia] feat(theme): add color-scheme meta (#6150)
[Nazım Can Altınova] Add an early throw for the this.querier and remove the non-null asserts in the cli codebase (#6145)
[cathaysia] feat: invert call stack in flame graph to render as icicle graph (#6090)
[skylarkning] Improve preview link discovery (#6149)
[Nazım Can Altınova] 🔃 Sync: l10n -> main (July 9, 2026) (#6155)
And special thanks to our localizers:
de: Michael Köhler
el: Jim Spentzos
en-GB: Ian Neal
es-CL: ravmn
fr: Théo Chevalier
fy-NL: Fjoerfoks
ia: Melo46
it: Francesco Lodolo [:flod]
nl: Fjoerfoks
ru: Valery Ledovskoy
tr: Nazım Can Altınova
zh-TW: Pin-guang Chen