{
  "commits": {
    "079065d33b0b": {
      "author": "Norisz Fay",
      "avatar": "https://www.gravatar.com/avatar/e060837184d7bb06925d038b8c16a828?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit dc20335f97f970ec390ae3b3d00ac25a7e8fa37f.\n\nRevert \"Bug 2056134 - Part 5: Add tests. r=bthrall\"\n\nThis reverts commit 4f7ca5ec2eceb4cf1d34d1afed234e50a65c5cde.\n\nRevert \"Bug 2056134 - Part 4: Use pre-calculated fallback encoding for the classic script disk cache MIME-Type. r=bthrall\"\n\nThis reverts commit ca43921a55957dbc3ae09f0b85b2f7f740b2ac46.\n\nRevert \"Bug 2056134 - Part 3: Use pre-calculated fallback encoding for the in-memory cache key. r=bthrall\"\n\nThis reverts commit 4bfbd49f19cb87b7bdf35f4b70b016a699fe37c1.\n\nRevert \"Bug 2056134 - Part 2: Pre-calculate the fallback encoding for the classic script source. r=bthrall,dom-worker-reviewers,edenchuang\"\n\nThis reverts commit 10184ec04cafc257786697ce1269acad694f36b4.\n\nRevert \"Bug 2056134 - Part 1: Include the hint charset into the cache key string for the ChromeUtils.getCachedJavaScriptSource. r=bthrall,devtools-reviewers,jdescottes\"\n\nThis reverts commit b62c79358e5da14d009dccf0ff0c083084391cc5.",
      "email": "nfay@mozilla.com",
      "hash": "079065d33b0b788f93395938d10660927761dceb",
      "subject": "Revert \"Bug 2056134: apply code formatting via Lando\" for causing failures @ script-charset-03.html"
    },
    "1b546bb3fbcc": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 1288aae0c463b68934ef19c0874603ee25de265a.\n\nRevert \"Bug 2057032 - Make vpn onboarding wait past WarmingUp r=android-reviewers,jonalmeida\"\n\nThis reverts commit e2f893c81ce36b7ac3d533dd6fdc2d493eeb4d75.",
      "email": "rperta@mozilla.com",
      "hash": "1b546bb3fbcc4bae8e1d557fabd99014c69c5208",
      "subject": "Revert \"Bug 2058646, Bug 2057032 - Account initialization clean up r=jonalmeida,android-reviewers,gmalekpour\" for causing fenix failures"
    },
    "1efbe2f75d8b": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 4d414e10a2a03d5a82f045f19dcd3649aae4ae73.",
      "email": "smolnar@mozilla.com",
      "hash": "1efbe2f75d8b32277a66c29b85b2c5061429cc08",
      "subject": "Revert \"Bug 2044416 - Create backgroundtasks using backgroundtaskbuilder on windows msix packages. r=nrishel,browser-installer-reviewers,iholmes,cdupuis\" for causing rust vendor failures."
    },
    "55546d52ebab": {
      "author": "Norisz Fay",
      "avatar": "https://www.gravatar.com/avatar/e060837184d7bb06925d038b8c16a828?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 6481f0f4f8cc98c8ef305c17b6bab2f7c4161f04.\n\nRevert \"Bug 2059053 - Part 2: Disallow retrieving push subscription in partitioned worker r=asuth\"\n\nThis reverts commit 64633df4508e639b633c77c6fa1739ce017194e8.\n\nRevert \"Bug 2059053 - Part 1: Add tests for push subscribes r=asuth\"\n\nThis reverts commit 36da4bcf80727fbf0791d788ca5a4ae2d7d6d697.",
      "email": "nfay@mozilla.com",
      "hash": "55546d52ebab608273d58bc6b8ef133b6abfba10",
      "subject": "Revert \"Bug 2059053: apply code formatting via Lando\" for causing mochitest failure @ test_register.html"
    },
    "605c66370103": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit d30421a675d12cea73b89d0a1f02592303a505c0.\n\nRevert \"Bug 2056134 - Part 5: Add tests. r=bthrall\"\n\nThis reverts commit 4db39a2b64d448be244a4ccb48c57d447660833a.\n\nRevert \"Bug 2056134 - Part 4: Use pre-calculated fallback encoding for the classic script disk cache MIME-Type. r=bthrall\"\n\nThis reverts commit 35708466e6914e54d53fdb16942bc909ef5105ce.\n\nRevert \"Bug 2056134 - Part 3: Use pre-calculated fallback encoding for the in-memory cache key. r=bthrall\"\n\nThis reverts commit 3bc114b80d4575607576539533abb1a04f98770a.\n\nRevert \"Bug 2056134 - Part 2: Pre-calculate the fallback encoding for the classic script source. r=bthrall,dom-worker-reviewers,edenchuang\"\n\nThis reverts commit 8d79d70e8ee7e53d225617ffdf95c0c4e6423aea.\n\nRevert \"Bug 2056134 - Part 1: Include the hint charset into the cache key string for the ChromeUtils.getCachedJavaScriptSource. r=bthrall,devtools-reviewers,jdescottes\"\n\nThis reverts commit faca6ff8806493322fd7475aa2883708980aad30.",
      "email": "rperta@mozilla.com",
      "hash": "605c66370103e3088e7229b2e938c1e23319104c",
      "subject": "Revert \"Bug 2056134: apply code formatting via Lando\" for causing bc failures at bc failures"
    },
    "D299863": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299863",
      "clUrl": "https://phabricator.services.mozilla.com/D299863",
      "description": "This stack will implement a new l10n driver alongside the legacy\nrecursive-make one. This flag selects which implementation is\nused. The env var takes precedence over the `--disable-legacy-l10n`\nflag to make diffoscope testing easier.\n\nIn the end, this is all temporary and will be removed when we\nrip out the legacy l10n implementation for good.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299863",
      "email": "ahochheiden@mozilla.com",
      "hash": "fbedc6278261b31c7a8a5618ff99e71939fd0644",
      "subject": "Bug 2038810 - Part 1 - Add `--disable-legacy-l10n` configure flag r=firefox-build-system-reviewers,glandium,sergesanspaille"
    },
    "D299864": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299864",
      "clUrl": "https://phabricator.services.mozilla.com/D299864",
      "description": "Adds the data structures and read/write helpers for\n`l10n-manifest.json`, the file the emitter writes durnig configure\nand the staging action reads at command time. This commit is\njust the container dataclasses and the rest comes in later parts.\n\n`MOZ_L10N_AB_CD_PLACEHOLDER` lets the emitter capture jar.mn\ncontent at parse time with `@AB_CD@` already substituted, so\none configure run covers every locale we could possibly stage.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299864",
      "email": "ahochheiden@mozilla.com",
      "hash": "37df7c8c8532ac2615414a8577c32dfe6ea7674c",
      "subject": "Bug 2038810 - Part 2 - Add `l10n_manifest` r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D299865": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299865",
      "clUrl": "https://phabricator.services.mozilla.com/D299865",
      "description": "`LOCALE_PP_DEFINES` maps a preprocessor define\nto a per-locale lookup table (exact ab_cd or fnmatch\npattern). It's first used in the next part.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299865",
      "email": "ahochheiden@mozilla.com",
      "hash": "7a8c50dc717a90c2ac66e6c8bf64c3c3d4e62d9a",
      "subject": "Bug 2038810 - Part 3 - Add `LOCALE_PP_DEFINES` r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D299866": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299866",
      "clUrl": "https://phabricator.services.mozilla.com/D299866",
      "description": "We walk `moz.build` contexts at emit time and yield one\n`L10nManifestContext` for each context with localized content.\nThe build backend collects them and writes `l10n-manifest.json`\nunder `topobjdir`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299866",
      "email": "ahochheiden@mozilla.com",
      "hash": "247ebac267ec3d3a7ab1c6ebcc0797078b7968c4",
      "subject": "Bug 2038810 - Part 4 - Generate `l10n-manifest.json` r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D299867": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299867",
      "clUrl": "https://phabricator.services.mozilla.com/D299867",
      "description": "Adds a `py_action` that builds the per-locale merge tree. Wipes the\nmerge dir, runs `python -m moz.l10n.bin.build`, and copies hunspell\ndictionaries that `bin.build` doesn't handle.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299867",
      "email": "ahochheiden@mozilla.com",
      "hash": "89ca298a05f4ac5e513c4e5cea2aa8d4eef33906",
      "subject": "Bug 2038810 - Part 5 - Add `l10n_merge` action r=sylvestre"
    },
    "D299868": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299868",
      "clUrl": "https://phabricator.services.mozilla.com/D299868",
      "description": "Adds a `py_action` skeleton that stages a locale into\n`\u003ctopobjdir\u003e/dist/xpi-stage/locale-\u003cab_cd\u003e/`. Loads\n`l10n-manifest.json`, walks contexts, and dispatches to a per-context\nstager that later parts of this stack fill in.\n\nAdds the runtime resolver for `LOCALE_PP_DEFINES`. Exact `ab_cd`\nkeys win, with fnmatch patterns as fallback.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299868",
      "email": "ahochheiden@mozilla.com",
      "hash": "5d9291e81d309927bec02c00df02db9227b3d797",
      "subject": "Bug 2038810 - Part 6 - Add `l10n_stage` skeleton and `LOCALE_PP_DEFINES` resolution r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D299869": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299869",
      "clUrl": "https://phabricator.services.mozilla.com/D299869",
      "description": "Gated to `langpack` mode (`chrome` mode multi-locale builds only stage\nchrome). `LOCALIZED_PP_FILES` runs through the preprocessor with\n`LOCALE_PP_DEFINES` resolved for the current locale.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299869",
      "email": "ahochheiden@mozilla.com",
      "hash": "3a1e0d450eff94601a544364d556fd7d2f22a5cf",
      "subject": "Bug 2038810 - Part 7 - Stage `LOCALIZED_FILES` and `LOCALIZED_PP_FILES` r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D299870": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299870",
      "clUrl": "https://phabricator.services.mozilla.com/D299870",
      "description": "Gated to `langpack` mode. Gen scripts run before\n`LOCALIZED_FILES`/`LOCALIZED_PP_FILES` so `!output` references\nresolve. Output names accept `{AB_CD}` and `{AB_rCD}` placeholders.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299870",
      "email": "ahochheiden@mozilla.com",
      "hash": "9187b751778a01e9ec3e866b97197ea3b45609e2",
      "subject": "Bug 2038810 - Part 8 - Run `LOCALIZED_GENERATED_FILES` scripts r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D299871": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299871",
      "clUrl": "https://phabricator.services.mozilla.com/D299871",
      "description": "Runs in both `langpack` and `chrome` modes since multi-locale builds\npackage chrome content into the en-US dist tree alongside langpack\nstaging. Sections with any `% locale` chrome.manifest line (or\n`[localization]` blocks) stage all entries. Other sections only\nstage entries explicitly marked `%`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299871",
      "email": "ahochheiden@mozilla.com",
      "hash": "63e2e2dfae0f32642491d32c585c1e3d06b9c193",
      "subject": "Bug 2038810 - Part 9 - Stage `jar.mn` locale entries r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D299872": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299872",
      "clUrl": "https://phabricator.services.mozilla.com/D299872",
      "description": "Collects chrome.manifest entries during jar.mn staging and writes\nthem after all contexts finish. Chrome mode merges existing lines\nso multi-locale runs accumulate per-locale entries on top of the\nen-US baseline. Langpack mode also writes the per-locale\n`res/multilocale.txt` consumed by toolkit's omni.ja.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299872",
      "email": "ahochheiden@mozilla.com",
      "hash": "c93ee3852f0d4564e6ecf2ff5bc273c287f98b27",
      "subject": "Bug 2038810 - Part 10 - Assemble per-locale `chrome.manifest` files r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D299873": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299873",
      "clUrl": "https://phabricator.services.mozilla.com/D299873",
      "description": "Adds `ANDROID_MARKETPLACE_AB_CD` and `IOS_MARKETPLACE_AB_CD` as\n`LOCALE_PP_DEFINES` so the new l10n driver can resolve them at staging\ntime. The equivalent `MAKE_JARS_FLAGS` defines in `Makefile.in` stay in\nplace because the legacy make driver is still the default\n(`MOZ_USE_LEGACY_L10N`). The make side will be removed once the legacy\nl10n driver goes away.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299873",
      "email": "ahochheiden@mozilla.com",
      "hash": "43bde7866598056008f2d977d36cc65adb2abbef",
      "subject": "Bug 2038810 - Part 11 - Add `LOCALE_PP_DEFINES` for `app-marketplace-icons` r=sylvestre"
    },
    "D299874": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299874",
      "clUrl": "https://phabricator.services.mozilla.com/D299874",
      "description": "Wraps the two legacy langpack `py_action` calls (`langpack_manifest`\nand `zip`) into one to reduce Python overhead per locale.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299874",
      "email": "ahochheiden@mozilla.com",
      "hash": "1cad29ef2766e0df9a9769b4f964bfc5b505bebc",
      "subject": "Bug 2038810 - Part 12 - Add `package_langpack` action r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D299875": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299875",
      "clUrl": "https://phabricator.services.mozilla.com/D299875",
      "description": "Handles the full l10n repackaging step (unpack en-US, l10n-repack,\npackage, move output). Superset of the legacy `l10n-repack.py`,\nwhich we'll delete once the legacy l10n driver is gone.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299875",
      "email": "ahochheiden@mozilla.com",
      "hash": "3d9dd5ca64f46e726f280c14667eac9141d7fc94",
      "subject": "Bug 2038810 - Part 13 - Add `l10n_repackage` action r=sylvestre"
    },
    "D299876": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D299876",
      "clUrl": "https://phabricator.services.mozilla.com/D299876",
      "description": "Adds an `ifndef MOZ_USE_LEGACY_L10N` branch in each `l10n-%`,\n`chrome-%`, `merge-%`, `repackage-zip-%`, and `package-langpack-%`\nrecipe so `l10n_stage`, `l10n_merge`, `l10n_repackage`, and\n`package_langpack` run when the gate is unset or falsy. The legacy\nrecursive-make path stays as the default for now.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299876",
      "email": "ahochheiden@mozilla.com",
      "hash": "bfa462403422b573d020c6687fa7ff4a40589fdc",
      "subject": "Bug 2038810 - Part 14 - Wire up new Python `l10n` actions so they run when `MOZ_USE_LEGACY_L10N` is false r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D304521": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D304521",
      "clUrl": "https://phabricator.services.mozilla.com/D304521",
      "description": "The error and warning markers extracted from the resource usage profiles are\nwritten to a {harness}-{date}-errors.json daily file, so that the dashboard can\nbreak errors and warnings down by test, by message and by Bugzilla component.\n\nThe data is columnar: on top of the shared string tables, a messages table\ninterns each unique (marker name, message text, file, line, component) so a line\nand file are stored once per distinct message. Occurrences are grouped by (test,\nmessage) with per-group taskIdIds/counts sub-arrays, and the ascending taskIdIds\nare delta-encoded, so the test and message are stored once per group rather than\nonce per (test, task, message) occurrence.\n\nMarkers are folded into an accumulator as each job completes so that a full day's\nmarkers are never all held in memory at once. Building this file is allowed to\nfail without costing us the day's timings, resource usage and stats.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D304521",
      "email": "florian@queze.net",
      "hash": "6fac89edf7a09af2bcf465321e14f3004fed5c47",
      "subject": "Bug 2044646 - Generate daily error and warning marker data files from resource usage profiles, r=ahal."
    },
    "D306284": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D306284",
      "clUrl": "https://phabricator.services.mozilla.com/D306284",
      "description": "The TSan Error marker that mozsystemmonitor emits differs from the other\ndiagnostic markers: it carries no message, file or line, but the kind of the TSan\nreport, the label of the stack the error was reported for, and that stack.\n\nSynthesize the message as \"{kind}: {label}\", and take the file and line from the\nfirst repository frame of the stack, resolved through the profile's stackTable,\nframeTable and funcTable. The frames at the leaves are skipped: they are crash and\nruntime machinery (MOZ_Crash, the TSan runtime, libc) that no Bugzilla component\nowns.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D306284",
      "email": "florian@queze.net",
      "hash": "ff604e0850ea0c086b6d02df72ad0a5d2de771b3",
      "subject": "Bug 2044646 - Extract TSan Error markers from resource usage profiles, r=ahal."
    },
    "D313887": {
      "author": "mike a",
      "avatar": "https://www.gravatar.com/avatar/fdb71788c694eea6a9e8a29cddd6e606?d=identicon\u0026s=64",
      "cl": "D313887",
      "clUrl": "https://phabricator.services.mozilla.com/D313887",
      "description": "Adding NoAccount state for the onboarding to distinguish between fxa\nmanager initializing and having no account at the app start.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313887",
      "email": "mavduevskiy@mozilla.com",
      "hash": "e2f893c81ce36b7ac3d533dd6fdc2d493eeb4d75",
      "subject": "Bug 2057032 - Make vpn onboarding wait past WarmingUp r=android-reviewers,jonalmeida"
    },
    "D314290": {
      "author": "mayankleoboy1",
      "avatar": "https://www.gravatar.com/avatar/5ce84f7ec7214e92e88ac71d71c63049?d=identicon\u0026s=64",
      "cl": "D314290",
      "clUrl": "https://phabricator.services.mozilla.com/D314290",
      "description": "SVGAnimationElement::GetTimeContainer walks the ancestor chain up to the\nouter svg element on every call, and nothing caches the result.\nDoSampleAt called it three times and then called RegisterMilestone, which\ncalled it a fourth, all for the same answer.\n\nResolve it once at the top of DoSampleAt and pass it down. The container\ncannot change over the call: the state machine only queues time events\nasynchronously, so no script runs that could rebind the element, and the\nexisting code already relied on the three calls agreeing. RegisterMilestone\nasserts that any container it is handed is the one it would have resolved\nitself.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314290",
      "email": "mayankleoboy1@gmail.com",
      "hash": "580b63d20423b75a0b4c1ec1b52f8dfa3cd8d1c3",
      "subject": "Bug 2058772 - Resolve the SMIL time container once per sample. r=emilio"
    },
    "D314535": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314535",
      "clUrl": "https://phabricator.services.mozilla.com/D314535",
      "description": "ibus added a new value, `2`, to `IBUS_ENABLE_SYNC_MODE` and only `1`\nis the synchronous mode. So, we need to update the logic here.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314535",
      "email": "masayuki@d-toybox.com",
      "hash": "a5f2612c5cd24d547110d4347a4ea5109222eada",
      "subject": "Bug 2051354 - part 1: Update `IsIBusInSyncMode()` for the newer ibus r=m_kato"
    },
    "D314536": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314536",
      "clUrl": "https://phabricator.services.mozilla.com/D314536",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314536",
      "email": "masayuki@d-toybox.com",
      "hash": "b82d237369097f352d3b7548bab8fdcd484b8db7",
      "subject": "Bug 2051354 - part 2: Improve Logging of `IMContextWrapper` r=m_kato"
    },
    "D314537": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314537",
      "clUrl": "https://phabricator.services.mozilla.com/D314537",
      "description": "We don't map any `keyval` values to `KEY_NAME_INDEX_USE_STRING` because\nthere are too big number of values which introduce text input.\nTherefore, we need to make it return `KEY_NAME_INDEX_USE_STRING` since\nit's unclear whether it won't return `KEY_NAME_INDEX_USE_STRING` and\nactually there are some wrong users. [1][2][3].\n\n1. https://searchfox.org/firefox-main/rev/3b3f727963c10fe58e6e72c15989ad0e35dbf832/widget/gtk/IMContextWrapper.cpp#1644-1645\n2. https://searchfox.org/firefox-main/rev/3b3f727963c10fe58e6e72c15989ad0e35dbf832/widget/gtk/IMContextWrapper.cpp#1756-1757\n3. https://searchfox.org/firefox-main/rev/3b3f727963c10fe58e6e72c15989ad0e35dbf832/widget/gtk/IMContextWrapper.cpp#1908-1909\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314537",
      "email": "masayuki@d-toybox.com",
      "hash": "843ce87c23ebb72ed5d437bf23d03a30d57e5c5b",
      "subject": "Bug 2051354 - part 3: Make `KeymapWrapper::ComputeDOMKeyNameIndex` return `KEY_NAME_INDEX_USE_STRING` r=m_kato"
    },
    "D314538": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314538",
      "clUrl": "https://phabricator.services.mozilla.com/D314538",
      "description": "Currently, we use `eKeyPress` event for a commit composition without\ncomposing state if:\n* the commit string is a non-BMP character\n* the commit string matches with the source key press event's `keyval`\n\nThe former was for a safe. We synthesized a set of composition events\nas its fallback. However, we stopped doing that in bug 1712269 for the\ncompatibility with Chromium and consistency with Firefox for macOS.\nHowever, on Linux, this case is used more frequently and the fallback\npath causes only `beforeinput` and `input` so that web apps may fail\nto handle that like Microsoft Word. Additionally, we already dispatch\nmultiple `eKeyPress` events after a `eKeyDown`. Therefore, we should\nuse the path for a grapheme cluster for the safe in these days.\n\nThe latter was for the safe. However, IIRC, some keyboard layouts\nimplemented with IME does not modify the keyboard layout but overrides\nwith the commit event without composing state. So, I think we don't need\nthis restriction now.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314538",
      "email": "masayuki@d-toybox.com",
      "hash": "1f58747dff10c8f95f38ec5e39d4ad65448a1370",
      "subject": "Bug 2051354 - part 4: Relax to dispatch `eKeyPress` events for typing a grapheme cluster r=m_kato"
    },
    "D314539": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314539",
      "clUrl": "https://phabricator.services.mozilla.com/D314539",
      "description": "We changed not to dispatch a set of composition events to commit a\ncharacter in bug 1712269 for the consistency with macOS and Chrome.\nHowever, the new behavior causes only `beforeinput` and `input`\nevents without any user input event except `Process` key value\nkeyboard events. That makes Microsoft Word fail to manage a text\ninput transaction for their undo manager.\n\nAdditionally, on Linux, this behavior is typically used by normal\ntyping of non-ASCII characters by ibus. Therefore, we should use\n`eKeyPress` more on Linux. Now, we do that if we receive a commit signal\nwithout composing state if and only if we're calling\n`gtk_im_context_filter_keypress()`. This is enough for Ubuntu and\nDebian users.\n\nHowever, surprisingly, ibus behaves differently in some environments\nwhen typing a character without composing state.\n\nBasically, it works as on Ubuntu and Debian:\n1. Filter the first `GDK_KEY_PRESS`\n2. Synthesize the same event as the filtered one\n3. While a call of `gtk_im_context_filter_keypress()`, send composition signals\n\nHowever, on Linux Mint:\n1. Filter the first `GDK_KEY_PRESS`\n2. Send composition signals\n\nSo, the copy of the first event is not sent as expected. Therefore, we\nneed to pick the `GDK_KEY_PRESS` event up from the copies of the first\nevents which were filtered by IME.\n\n(Even on Linux Mint, `GDK_KEY_RELEASE` events are handled with\nsynthesizing a copy of the first `GDK_KEY_RELEASE`.)\n\nHowever, in this case, we don't dispatch `eKeyPress` events because\nwe are not calling `gtk_im_context_filter_keypress()`. So, no fallback\n`eKeyPress` event dispatcher is not there.\n\nTo solve this issue, this patch makes `GDKEventKeyQueue` manages the\nfiltered event state with 3 states.\n1. Whether the synthesized event is received\n2. Whether a composition signal is received\n3. Whether the synthesized event is processed completely\n\nThen, `OnKeyEvent` considers whether the received event is unexpected\nsynthesized event which does not have `IBUS_IGNORED_MASK` flag with\nchecking whether it's not handled nor processed.\n\nEach composition signal mark the handling event or the oldest\nnon-processed `GDK_KEY_PRESS` event in the queue as handled.\n\n`OnKeyEvent` removes handled events from the queue if its synthesized\nevent hasn't been received but it's already been handled by a signal\nhandler.\n\nFinally, we should dispatch `eKeyPress` event if we receive a commit\nsignal without composing state even when it's not called during a call\nof `gtk_im_context_filter_keypress()`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314539",
      "email": "masayuki@d-toybox.com",
      "hash": "c28639085ffd8b820d677b330c53654a5a0a2f72",
      "subject": "Bug 2051354 - part 5: Support asynchronous IME handling of ibus better r=m_kato"
    },
    "D314577": {
      "author": "Tooru Fujisawa",
      "avatar": "https://www.gravatar.com/avatar/0432a84805ea7033f4646049963e3bf1?d=identicon\u0026s=64",
      "cl": "D314577",
      "clUrl": "https://phabricator.services.mozilla.com/D314577",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314577",
      "email": "arai_a@mac.com",
      "hash": "b62c79358e5da14d009dccf0ff0c083084391cc5",
      "subject": "Bug 2056134 - Part 1: Include the hint charset into the cache key string for the ChromeUtils.getCachedJavaScriptSource. r=bthrall,devtools-reviewers,jdescottes"
    },
    "D314578": {
      "author": "Tooru Fujisawa",
      "avatar": "https://www.gravatar.com/avatar/0432a84805ea7033f4646049963e3bf1?d=identicon\u0026s=64",
      "cl": "D314578",
      "clUrl": "https://phabricator.services.mozilla.com/D314578",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314578",
      "email": "arai_a@mac.com",
      "hash": "10184ec04cafc257786697ce1269acad694f36b4",
      "subject": "Bug 2056134 - Part 2: Pre-calculate the fallback encoding for the classic script source. r=bthrall,dom-worker-reviewers,edenchuang"
    },
    "D314579": {
      "author": "Tooru Fujisawa",
      "avatar": "https://www.gravatar.com/avatar/0432a84805ea7033f4646049963e3bf1?d=identicon\u0026s=64",
      "cl": "D314579",
      "clUrl": "https://phabricator.services.mozilla.com/D314579",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314579",
      "email": "arai_a@mac.com",
      "hash": "4bfbd49f19cb87b7bdf35f4b70b016a699fe37c1",
      "subject": "Bug 2056134 - Part 3: Use pre-calculated fallback encoding for the in-memory cache key. r=bthrall"
    },
    "D314580": {
      "author": "Tooru Fujisawa",
      "avatar": "https://www.gravatar.com/avatar/0432a84805ea7033f4646049963e3bf1?d=identicon\u0026s=64",
      "cl": "D314580",
      "clUrl": "https://phabricator.services.mozilla.com/D314580",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314580",
      "email": "arai_a@mac.com",
      "hash": "ca43921a55957dbc3ae09f0b85b2f7f740b2ac46",
      "subject": "Bug 2056134 - Part 4: Use pre-calculated fallback encoding for the classic script disk cache MIME-Type. r=bthrall"
    },
    "D314581": {
      "author": "Tooru Fujisawa",
      "avatar": "https://www.gravatar.com/avatar/0432a84805ea7033f4646049963e3bf1?d=identicon\u0026s=64",
      "cl": "D314581",
      "clUrl": "https://phabricator.services.mozilla.com/D314581",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314581",
      "email": "arai_a@mac.com",
      "hash": "4f7ca5ec2eceb4cf1d34d1afed234e50a65c5cde",
      "subject": "Bug 2056134 - Part 5: Add tests. r=bthrall"
    },
    "D314743": {
      "author": "mike a",
      "avatar": "https://www.gravatar.com/avatar/fdb71788c694eea6a9e8a29cddd6e606?d=identicon\u0026s=64",
      "cl": "D314743",
      "clUrl": "https://phabricator.services.mozilla.com/D314743",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314743",
      "email": "mavduevskiy@mozilla.com",
      "hash": "1288aae0c463b68934ef19c0874603ee25de265a",
      "subject": "Bug 2058646 - Account initialization clean up r=jonalmeida,android-reviewers,gmalekpour"
    },
    "D314967": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D314967",
      "clUrl": "https://phabricator.services.mozilla.com/D314967",
      "description": "Each worker pushed every result it processed into an array that it sent back in\nthe final \"finished\" message, but the main thread collects the results from the\n\"jobComplete\" messages as they arrive and ignores the \"finished\" payload. Each\nworker was thus holding a second copy of all the results it had processed until\nthe end of the run.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314967",
      "email": "florian@queze.net",
      "hash": "df25ca068e75176a0218795b5c9bf31de7bf0c9f",
      "subject": "Bug 2044646 - Stop keeping a copy of every job result in the profile workers, r=ahal."
    },
    "D314968": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D314968",
      "clUrl": "https://phabricator.services.mozilla.com/D314968",
      "description": "mozsystemmonitor emits a marker for each C++ warning, C++ assertion,\nconsole.error, console.warn, JavaScript error and JavaScript warning it sees in\nthe log of a test job. Collect them into the job results, normalized so that the\nsame diagnostic seen in different jobs is a single message. On a sample of 188\nprofiles this takes the number of distinct messages from 962 down to 398, and the\nnumber of distinct source paths from 211 down to 153:\n\n- The message text loses pointer addresses, UUIDs, timings and large ids, and the\n  process ids that the shutdown hang warnings would otherwise contribute one\n  message per process for. Process ids are only 4 or 5 digits long, so they have\n  to be recognized from the words around them.\n- A source path loses the directory the file was read from, which names the build\n  or test worker and sometimes the task, and uses forward slashes, so that the\n  same file has one path whatever platform the test ran on. The paths quoted in a\n  message get the same treatment.\n- A file of the profile of the instance under test is named relative to\n  \"\u003cprofile\u003e\", as both the profile directory and the temporary directory it sits\n  in have a random, platform specific name. A URL scheme in front of the path is\n  kept, so that a jar URL stays well formed.\n- The manifest name prefix that xpcshell adds to the test id of tests in a dupe\n  manifest is stripped in a helper shared with extractTestTimings, so that a test\n  has the same identity in the marker data as in the timing data.\n\nNothing consumes the markers yet.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314968",
      "email": "florian@queze.net",
      "hash": "0bfc9491d26d0e0c90e666eb9e9e1478c4482a74",
      "subject": "Bug 2044646 - Extract error and warning markers from resource usage profiles, r=ahal."
    },
    "D314969": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D314969",
      "clUrl": "https://phabricator.services.mozilla.com/D314969",
      "description": "createDataTables and sortStringTablesByFrequency each mix code that is specific\nto the test timing data with code that any of our columnar files needs: string\ntables and their interning primitive, the taskInfo and testInfo side tables, and\nthe frequency sorting of the tables with the index remapping that follows. Move\nthe latter to createColumnarTables, createFrequencyCounts, sortTablesByFrequency,\nremapTaskInfo and remapTestInfo, so that the error and warning marker file can\nuse them instead of duplicating them.\n\nThe generated files keep the same contents. Two details of their layout change:\nthe string tables specific to the timing data now come last in the `tables`\nobject, and table entries with the same reference count are now ordered by\ncodepoint rather than with String.localeCompare, so that the order no longer\ndepends on the locale of the machine the file was generated on. The row order of\ntestInfo and of the occurrences still depends on the order in which the jobs were\nprocessed, which varies from one run to the next.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314969",
      "email": "florian@queze.net",
      "hash": "62f4b6577ec24fea96e07d8d9a9e3d09ae737ba3",
      "subject": "Bug 2044646 - Share the columnar table code between the data files we generate, r=ahal."
    },
    "D314970": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D314970",
      "clUrl": "https://phabricator.services.mozilla.com/D314970",
      "description": "The dashboard needs to know how noisy a day was, and for which kind of\ndiagnostic, without downloading that day's errors file, and needs to know which\ndays have an errors file at all, as the days generated before we produced one\nnever will.\n\nBreak the occurrence total that the errors file's metadata carried down per marker\nname, and report the same breakdown in the stats file as one array per marker\nname, next to the mochitest flavor arrays. A day that has no errors file counts 0,\nthe way a day that a mochitest flavor didn't run on does.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314970",
      "email": "florian@queze.net",
      "hash": "f28c8259521066d5fc8e059fe896efd874b03126",
      "subject": "Bug 2044646 - Report the error and warning counts of each day in the stats file, r=ahal."
    },
    "D314997": {
      "author": "Beth Rennie",
      "avatar": "https://www.gravatar.com/avatar/8dbfb17ff64ab8886097a36541232064?d=identicon\u0026s=64",
      "cl": "D314997",
      "clUrl": "https://phabricator.services.mozilla.com/D314997",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314997",
      "email": "beth@brennie.ca",
      "hash": "5e224a98d3d72acfed2089f6c120c9f7f1f39032",
      "subject": "Bug 2048762 - Use AboutRedirector for about:studies r=Gijs"
    },
    "D315099": {
      "author": "Punam Dahiya",
      "avatar": "https://www.gravatar.com/avatar/bb829b468ca71bf535f2e948861dcd7c?d=identicon\u0026s=64",
      "cl": "D315099",
      "clUrl": "https://phabricator.services.mozilla.com/D315099",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315099",
      "email": "pdahiya@mozilla.com",
      "hash": "e4249b43c57b66fbc2436a2876d3a5d0f1505fa4",
      "subject": "Bug 2058767 - Remove region gating from the SmartWindow ToU Spotlight Modal r=sachung,omc-reviewers"
    },
    "D315220": {
      "author": "Edgar Chen",
      "avatar": "https://www.gravatar.com/avatar/f65ba150a7cf6313efc23c96c9206cd8?d=identicon\u0026s=64",
      "cl": "D315220",
      "clUrl": "https://phabricator.services.mozilla.com/D315220",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315220",
      "email": "echen@mozilla.com",
      "hash": "0ef4372cc766ed0042139fc330f152ddfdb63ca2",
      "subject": "Bug 2057130 - Validate principal and filter type properly; r=tschuster"
    },
    "D315265": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D315265",
      "clUrl": "https://phabricator.services.mozilla.com/D315265",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315265",
      "email": "tnikkel@gmail.com",
      "hash": "4b6ed767f4f3b4b0e11689201452295aa3d22e56",
      "subject": "Bug 2057899. Fix test skip cond for browser_test_swipe_gesture.js. r=hiro"
    },
    "D315346": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D315346",
      "clUrl": "https://phabricator.services.mozilla.com/D315346",
      "description": "The test clicked #fullscreen-exit-button from the MozDOMFullscreen:Entered\nhandler, ie. while nsGlobalWindowOuter::SetWidgetFullscreen still has the chrome\nrefresh driver frozen. No refresh tick can happen there, so the accessibility\ntree update queued when the warning popover was shown never ran, and the\nforceRefreshDriverTick() fallback in AccessibilityUtils silently did nothing.\nThe exit button had no accessible, and the a11y checks failed on the click.\n\nWaiting for FullscreenWarningOnScreen instead puts the click after the refresh\ndriver has been thawed and the accessibility tree updated.\n\nThis also re-enables the test on the Nova configuration, where the same failure\nwas skipped for bug 2057924.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315346",
      "email": "florian@queze.net",
      "hash": "a21abb649db0e1e851565470a86a8d5db4b129d1",
      "subject": "Bug 2056646 - Wait for the fullscreen warning animation before clicking its exit button, r=firefox-desktop-core-reviewers ,Gijs."
    },
    "D315369": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D315369",
      "clUrl": "https://phabricator.services.mozilla.com/D315369",
      "description": "The 28701 jobs of 2026-07-29 produce 42631 distinct mochitest marker messages, but\nmost of them are a diagnostic another job also hit, with a number that changed from\none job to the next. Normalizing six more kinds of run-specific data takes them down\nto 12869, and the distinct source paths from 3083 to 1332:\n\n- Process ids in the \"processId 1628\" and \"pid = 10164\" forms. The rule so far\n  needed whitespace before \"id\", so the QM_TRY failures and the \"content process\n  childID = 10 pid = 10164 crashed without leaving a minidump behind\" warning\n  contributed 17008 messages on their own.\n- The port httpd.js and the other test servers listen on, which they are given at\n  runtime, in a source path as well as in a message. Only the authority of a URL is\n  matched: a position in a stack frame (\"Front.js:335:14\") would otherwise look like\n  a host and a port.\n- The pointers a log prints without a \"0x\" prefix (\"Decoder=4d26600\"), which the\n  rule for bare hex addresses missed as they are only 7 characters long. Requiring\n  both a hex letter and a digit keeps a word and a bug number from being read as an\n  address.\n- Devtools actor ids (\"server0.conn0.watcher2.process1234//layout29\"), where every\n  number counts up from the start of the connection.\n- The query parameters an OAuth flow generates, and the tokens some tests put in a\n  URL.\n- The ids of a content process, a window, a browsing context or a tab, which count\n  up from the start of the job and so are shorter than the rule for large decimal\n  ids expects.\n\nThe timestamp some tests append to a URL to bypass the cache is normalized in source\npaths too. Only a query string is matched for it, as a long number elsewhere in a\npath is part of the name of a file.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315369",
      "email": "florian@queze.net",
      "hash": "d53e66d3bd1e5faaad7987fc480c509549be8d31",
      "subject": "Bug 2044646 - Normalize more run-specific data in error and warning markers, r=ahal."
    },
    "D315384": {
      "author": "John M. Schanck",
      "avatar": "https://www.gravatar.com/avatar/291ff310b7805a4159d7f46af196813e?d=identicon\u0026s=64",
      "cl": "D315384",
      "clUrl": "https://phabricator.services.mozilla.com/D315384",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315384",
      "email": "jschanck@mozilla.com",
      "hash": "c50b060d3a12b78ca8b4b7e79ee6d82b619d7068",
      "subject": "Bug 2058730 - record whether the NSS internal PKCS#11 module is in FIPS mode. r=keeler"
    },
    "D315386": {
      "author": "John M. Schanck",
      "avatar": "https://www.gravatar.com/avatar/291ff310b7805a4159d7f46af196813e?d=identicon\u0026s=64",
      "cl": "D315386",
      "clUrl": "https://phabricator.services.mozilla.com/D315386",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315386",
      "email": "jschanck@mozilla.com",
      "hash": "03e6280a0d8e47887fb3006830175af35bd7a02b",
      "subject": "Bug 2058733 - refine builtin roots module source telemetry. r=keeler"
    },
    "D315454": {
      "author": "Stephanie Cunnane",
      "avatar": "https://www.gravatar.com/avatar/b627980047a1b3a0af67aa15fa14a1dc?d=identicon\u0026s=64",
      "cl": "D315454",
      "clUrl": "https://phabricator.services.mozilla.com/D315454",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315454",
      "email": "scunnane@mozilla.com",
      "hash": "c6d6679add6cf95c75c6d5a97bb649952291f4f3",
      "subject": "Bug 2012186 - Add test coverage to ensure default search engine dropdown in about:preferences#search is closed when clicked. r=akulyk"
    },
    "D315468": {
      "author": "Hiroyuki Ikezoe",
      "avatar": "https://www.gravatar.com/avatar/9ec516861853d265a973cd0ef66735cf?d=identicon\u0026s=64",
      "cl": "D315468",
      "clUrl": "https://phabricator.services.mozilla.com/D315468",
      "description": "AutoScrollChild sent its own BrowsingContext to AutoScrollParent as part\nof the \"Autoscroll:Start\" message, but a JSWindowActorParent and its\npaired JSWindowActorChild always share the same BrowsingContext, so\nAutoScrollParent can just use its own `this.browsingContext` instead.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315468",
      "email": "hikezoe.birchill@mozilla.com",
      "hash": "f66e509a3edb278938cf02ad580e3e320fa261cb",
      "subject": "Bug 2059593 - Stop passing BrowsingContext over IPC in the AutoScroll actors. r=Gijs"
    },
    "c9f1b83187fd": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 5e224a98d3d72acfed2089f6c120c9f7f1f39032.",
      "email": "rperta@mozilla.com",
      "hash": "c9f1b83187fdb20406e30f8f6025c74099dda9c6",
      "subject": "Revert \"Bug 2048762 - Use AboutRedirector for about:studies r=Gijs\" for causing bc failures at browser_all_files_referenced.js"
    },
    "cb46d43c454d": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 7018af629ef54381e965023d4692b01f6c17fcba.",
      "email": "rperta@mozilla.com",
      "hash": "cb46d43c454dcd4ec02dc866fa2ba727e8a24a96",
      "subject": "Revert \"Bug 2025793 - Bundle newtab JSX/SCSS files during mach build and remove from tree r=mconley,sylvestre\" for causing build bustages"
    },
    "d30421a675d1": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "d30421a675d12cea73b89d0a1f02592303a505c0",
      "subject": "Bug 2056134: apply code formatting via Lando"
    },
    "dc20335f97f9": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "dc20335f97f970ec390ae3b3d00ac25a7e8fa37f",
      "subject": "Bug 2056134: apply code formatting via Lando"
    }
  },
  "date": "2026-07-31",
  "days": 1,
  "generatedAt": "2026-07-31T22:05:52Z",
  "markdown": "## Highlights\n- **Build** Firefox's localization pipeline got a major rebuild, adding a full non-legacy l10n action stack and a configure switch to decouple packaging from old tooling. [Phab D299863](https://phabricator.services.mozilla.com/D299863) [Phab D299864](https://phabricator.services.mozilla.com/D299864) [Phab D299866](https://phabricator.services.mozilla.com/D299866) [Phab D299876](https://phabricator.services.mozilla.com/D299876)\n- **Web Platform** Script source caching is now charset-aware end to end, fixing cache key correctness and fallback encoding handling for classic scripts in memory and on disk. [Phab D314577](https://phabricator.services.mozilla.com/D314577) [Phab D314578](https://phabricator.services.mozilla.com/D314578) [Phab D314579](https://phabricator.services.mozilla.com/D314579) [Phab D314580](https://phabricator.services.mozilla.com/D314580)\n- **A11y** Linux text input handling got a deep IBus pass, improving async IME behavior, grapheme cluster keypress dispatch, and newer IBus compatibility. [Phab D314535](https://phabricator.services.mozilla.com/D314535) [Phab D314538](https://phabricator.services.mozilla.com/D314538) [Phab D314539](https://phabricator.services.mozilla.com/D314539)\n- **Security** NSS telemetry now records whether the internal PKCS#11 module is running in FIPS mode and refines builtin roots source reporting for better security-state visibility. [Phab D315384](https://phabricator.services.mozilla.com/D315384) [Phab D315386](https://phabricator.services.mozilla.com/D315386)\n- **Perf** The resource-usage analysis pipeline now extracts error and TSan markers, writes daily aggregates, and drops redundant in-worker result copies to cut memory overhead. [Phab D314967](https://phabricator.services.mozilla.com/D314967) [Phab D314968](https://phabricator.services.mozilla.com/D314968) [Phab D306284](https://phabricator.services.mozilla.com/D306284) [Phab D315369](https://phabricator.services.mozilla.com/D315369)\n- **UI** about:studies moved onto AboutRedirector, tightening how the page is routed inside the browser chrome. [Phab D314997](https://phabricator.services.mozilla.com/D314997)\n- **Rendering** SMIL sampling now resolves the time container once per sample, shaving repeated work from animation timing updates. [Phab D314290](https://phabricator.services.mozilla.com/D314290)\n- **Mobile** Firefox for Android cleaned up account initialization and delayed VPN onboarding until after WarmingUp, targeting startup-flow stability. [Phab D314743](https://phabricator.services.mozilla.com/D314743) [Phab D313887](https://phabricator.services.mozilla.com/D313887)\n- **Refactor** AutoScroll IPC no longer passes BrowsingContext through its actors, simplifying message plumbing in a sensitive interaction path. [Phab D315468](https://phabricator.services.mozilla.com/D315468)\n\n## What landed by area\n\n### Build and localization\n- **Build** Added a `--disable-legacy-l10n` configure flag to let the build run with the new localization flow. [Phab D299863](https://phabricator.services.mozilla.com/D299863)\n- **Build** Added a new `l10n_manifest` action as the backbone for the replacement l10n pipeline. [Phab D299864](https://phabricator.services.mozilla.com/D299864)\n- **Build** Added `LOCALE_PP_DEFINES` support for localization preprocessing. [Phab D299865](https://phabricator.services.mozilla.com/D299865)\n- **Build** Generated `l10n-manifest.json`, making locale packaging inputs explicit and machine-readable. [Phab D299866](https://phabricator.services.mozilla.com/D299866)\n- **Build** Added an `l10n_merge` action for the new packaging flow. [Phab D299867](https://phabricator.services.mozilla.com/D299867)\n- **Build** Added the `l10n_stage` skeleton and resolution of `LOCALE_PP_DEFINES`. [Phab D299868](https://phabricator.services.mozilla.com/D299868)\n- **Build** Staged `LOCALIZED_FILES` and `LOCALIZED_PP_FILES` in the new l10n path. [Phab D299869](https://phabricator.services.mozilla.com/D299869)\n- **Build** Enabled `LOCALIZED_GENERATED_FILES` scripts in localization staging. [Phab D299870](https://phabricator.services.mozilla.com/D299870)\n- **Build** Staged `jar.mn` locale entries as part of locale assembly. [Phab D299871](https://phabricator.services.mozilla.com/D299871)\n- **Build** Assembled per-locale `chrome.manifest` files in Python tooling. [Phab D299872](https://phabricator.services.mozilla.com/D299872)\n- **Build** Added `LOCALE_PP_DEFINES` handling for `app-marketplace-icons`. [Phab D299873](https://phabricator.services.mozilla.com/D299873)\n- **Build** Added a `package_langpack` action for langpack production. [Phab D299874](https://phabricator.services.mozilla.com/D299874)\n- **Build** Added an `l10n_repackage` action for locale repacks. [Phab D299875](https://phabricator.services.mozilla.com/D299875)\n- **Build** Wired the new Python `l10n` actions into regular execution when legacy l10n is disabled. [Phab D299876](https://phabricator.services.mozilla.com/D299876)\n\n### Script loading and cache correctness\n- **Web Platform** `ChromeUtils.getCachedJavaScriptSource` now includes the hint charset in its cache key string, closing a correctness gap for classic scripts. [Phab D314577](https://phabricator.services.mozilla.com/D314577)\n- **Web Platform** Classic script source now pre-calculates fallback encoding earlier in the pipeline. [Phab D314578](https://phabricator.services.mozilla.com/D314578)\n- **Perf** In-memory cache keys now use the pre-calculated fallback encoding instead of recomputing it later. [Phab D314579](https://phabricator.services.mozilla.com/D314579)\n- **Networking** Disk cache MIME type handling for classic scripts now also uses pre-calculated fallback encoding. [Phab D314580](https://phabricator.services.mozilla.com/D314580)\n- **Web Platform** Added test coverage for the charset and caching changes. [Phab D314581](https://phabricator.services.mozilla.com/D314581)\n\n### Linux input and text handling\n- **A11y** Updated `IsIBusInSyncMode()` for newer IBus behavior on Linux desktops. [Phab D314535](https://phabricator.services.mozilla.com/D314535)\n- **Refactor** Improved `IMContextWrapper` logging to make IME debugging less blind. [Phab D314536](https://phabricator.services.mozilla.com/D314536)\n- **A11y** `KeymapWrapper::ComputeDOMKeyNameIndex` can now return `KEY_NAME_INDEX_USE_STRING`, improving key mapping for complex input cases. [Phab D314537](https://phabricator.services.mozilla.com/D314537)\n- **A11y** Firefox now relaxes `eKeyPress` dispatch for grapheme cluster typing, better matching how modern IMEs emit composed text. [Phab D314538](https://phabricator.services.mozilla.com/D314538)\n- **A11y** Async IME handling around IBus was tightened further to reduce desyncs during text input. [Phab D314539](https://phabricator.services.mozilla.com/D314539)\n\n### Desktop browser UI and interaction\n- **UI** about:studies now routes through AboutRedirector instead of bespoke handling. [Phab D314997](https://phabricator.services.mozilla.com/D314997)\n- **UI** Fullscreen warning tests now wait for the warning animation to finish before clicking the exit button, reducing intermittent failures in a real user flow. [Phab D315346](https://phabricator.services.mozilla.com/D315346)\n- **UI** Added coverage to ensure the default search engine dropdown in about:preferences#search closes when clicked. [Phab D315454](https://phabricator.services.mozilla.com/D315454)\n- **Refactor** AutoScroll actors stopped sending BrowsingContext over IPC, simplifying actor communication. [Phab D315468](https://phabricator.services.mozilla.com/D315468)\n- **UI** Removed region gating from the SmartWindow ToU Spotlight modal, broadening that surface's availability. [Phab D315099](https://phabricator.services.mozilla.com/D315099)\n\n### Android and mobile flows\n- **Mobile** Cleaned up Firefox account initialization on Android. [Phab D314743](https://phabricator.services.mozilla.com/D314743)\n- **Mobile** VPN onboarding now waits until after WarmingUp, which should make startup sequencing saner on Fenix. [Phab D313887](https://phabricator.services.mozilla.com/D313887)\n- **Mobile** Fixed the skip condition for `browser_test_swipe_gesture.js`, tightening Android test expectation logic. [Phab D315265](https://phabricator.services.mozilla.com/D315265)\n\n### Security and privacy\n- **Security** Principal and filter type validation was tightened, reducing the chance of accepting mismatched inputs in a security-sensitive path. [Phab D315220](https://phabricator.services.mozilla.com/D315220)\n- **Security** NSS now records whether its internal PKCS#11 module is running in FIPS mode. [Phab D315384](https://phabricator.services.mozilla.com/D315384)\n- **Privacy** Builtin roots module source telemetry was refined for more accurate attribution of trust-store state. [Phab D315386](https://phabricator.services.mozilla.com/D315386)\n\n### Rendering and animation\n- **Rendering** SMIL time containers are now resolved once per sample instead of repeatedly during the same sampling pass. [Phab D314290](https://phabricator.services.mozilla.com/D314290)\n\n### Tooling and test infrastructure\n- **Perf** Profile workers no longer keep a copy of every job result, reducing memory pressure in analysis jobs. [Phab D314967](https://phabricator.services.mozilla.com/D314967)\n- **DevTools** Error and warning markers are now extracted from resource usage profiles for downstream analysis. [Phab D314968](https://phabricator.services.mozilla.com/D314968)\n- **Perf** Shared the columnar table implementation across generated data files, reducing duplicated plumbing. [Phab D314969](https://phabricator.services.mozilla.com/D314969)\n- **Perf** Resource usage profiles now generate daily error and warning marker data files. [Phab D304521](https://phabricator.services.mozilla.com/D304521)\n- **Perf** Stats output now reports daily error and warning counts. [Phab D314970](https://phabricator.services.mozilla.com/D314970)\n- **Perf** TSan error markers are now extracted from resource usage profiles too. [Phab D306284](https://phabricator.services.mozilla.com/D306284)\n- **Perf** More run-specific data is normalized in error and warning markers, improving comparability across runs. [Phab D315369](https://phabricator.services.mozilla.com/D315369)\n\n## Reverts \u0026 Reapplies\n- **Build** Reverted background task creation via `backgroundtaskbuilder` on Windows MSIX after rust vendor failures. [bug 2044416](https://bugzilla.mozilla.org/show_bug.cgi?id=2044416)\n- **Refactor** Reverted an auto-formatting change after bc failures, then formatting was re-applied later. [bug 2056134](https://bugzilla.mozilla.org/show_bug.cgi?id=2056134)\n- **Web Platform** Reverted the `about:studies` AboutRedirector change after browser chrome file-reference failures. [bug 2048762](https://bugzilla.mozilla.org/show_bug.cgi?id=2048762)\n- **Mobile** Reverted Android account initialization cleanup after Fenix failures. [bug 2058646](https://bugzilla.mozilla.org/show_bug.cgi?id=2058646)\n- **Build** Reverted bundling of newtab JSX and SCSS during `mach build` after build bustage. [bug 2025793](https://bugzilla.mozilla.org/show_bug.cgi?id=2025793)\n- **Refactor** Reverted another formatting-only landing after a mochitest failure in `test_register.html`. [bug 2059053](https://bugzilla.mozilla.org/show_bug.cgi?id=2059053)",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "Merge",
      "count": 1
    },
    {
      "name": "No",
      "count": 1
    }
  ],
  "since": "2026-07-31",
  "totals": {
    "commits": 59,
    "features": 57,
    "rolls": 2
  },
  "until": "2026-07-31"
}