From 18ca391aa5cfe584a5aafae1584a8bf397ce2dec Mon Sep 17 00:00:00 2001 From: Pontoon Date: Wed, 10 Sep 2025 14:11:47 +0000 Subject: [PATCH 01/63] Pontoon/Firefox Profiler: Update Turkish (tr) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Selim Şumlu (tr) --- locales/tr/app.ftl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/locales/tr/app.ftl b/locales/tr/app.ftl index ab0346a690..4adb0ed5a4 100644 --- a/locales/tr/app.ftl +++ b/locales/tr/app.ftl @@ -74,6 +74,8 @@ CallNodeContextMenu--transform-focus-subtree = Yalnızca alt ağaca odaklan # $categoryName (String) - Name of the category to focus on. CallNodeContextMenu--transform-focus-category = { $categoryName } kategorisine odaklan .title = Seçilen düğümle aynı kategorideki düğümlere odaklanarak diğer kategorilere ait tüm düğümleri birleştirir. +CallNodeContextMenu--transform-collapse-function-subtree = Fonksiyonu daralt + .title = Bir fonksiyonu daraltmak o fonksiyonun çağırdığı her şeyi kaldıracak ve bütün süreyi fonskiyona atayacaktır. Bu işlem, analiz edilmesi gerekmeyen kodlara çağrı yapan bir profilin basitleştirilmesini sağlayabilir. # This is used as the context menu item to apply the "Collapse resource" transform. # Variables: # $nameForResource (String) - Name of the resource to collapse. @@ -96,6 +98,12 @@ CallNodeContextMenu--copy-script-url = Betik URL’sini kopyala CallNodeContextMenu--copy-stack = Yığını kopyala CallNodeContextMenu--show-the-function-in-devtools = Fonksiyonu geliştirici araçlarında göster +## CallTree +## This is the component for Call Tree panel. + +CallTree--tracing-ms-total = Çalışma süresi (ms) + .title = “Toplam” çalışma süresi, bu fonksiyonun yığında gözlemlendiği tüm sürenin özetini içerir. Bu süre, fonksiyonun kendisinin çalıştığı süreyi ve bu fonksiyondan çağırılanların sürelerini içerir. + ## Call tree "badges" (icons) with tooltips ## ## These inlining badges are displayed in the call tree in front of some @@ -256,6 +264,12 @@ Home--chrome-extension-recording-instructions = IdleSearchField--search-input = .placeholder = Filtre terimlerini girin +## JsTracerSettings +## JSTracer is an experimental feature and it's currently disabled. See Bug 1565788. + +JsTracerSettings--show-only-self-time = Yalnızca öz süreyi göster + .title = Yalnızca çağrı düğümünde harcanan zamanı göster, alt düğümleri göz ardı et. + ## ListOfPublishedProfiles ## This is the component that displays all the profiles the user has uploaded. ## It's displayed both in the homepage and in the uploaded recordings page. @@ -687,7 +701,9 @@ TrackNameButton--hide-process = ## the UI. To learn more about it, visit: ## https://profiler.firefox.com/docs/#/./memory-allocations?id=memory-track +TrackMemoryGraph--relative-memory-at-this-time = bu süredeki göreli bellek TrackMemoryGraph--memory-range-in-graph = grafikteki bellek aralığı +TrackMemoryGraph--allocations-and-deallocations-since-the-previous-sample = önceki örnekten beri yapılan atamalar ve serbest bırakmalar ## TrackPower ## This is used to show the power used by the CPU and other chips in a computer, From cadb9e4bbcc5b543bd5db7876d19d44e212cd210 Mon Sep 17 00:00:00 2001 From: Pontoon Date: Thu, 11 Sep 2025 14:31:47 +0000 Subject: [PATCH 02/63] Pontoon/Firefox Profiler: Update Turkish (tr) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Selim Şumlu (tr) --- locales/tr/app.ftl | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/locales/tr/app.ftl b/locales/tr/app.ftl index 4adb0ed5a4..64df3c9977 100644 --- a/locales/tr/app.ftl +++ b/locales/tr/app.ftl @@ -103,6 +103,8 @@ CallNodeContextMenu--show-the-function-in-devtools = Fonksiyonu geliştirici ara CallTree--tracing-ms-total = Çalışma süresi (ms) .title = “Toplam” çalışma süresi, bu fonksiyonun yığında gözlemlendiği tüm sürenin özetini içerir. Bu süre, fonksiyonun kendisinin çalıştığı süreyi ve bu fonksiyondan çağırılanların sürelerini içerir. +CallTree--tracing-ms-self = Öz (ms) + .title = “Öz” süre yalnızca fonksiyonun yığının sonunda olduğu süreyi içerir. Eğer fonksiyon başka fonksiyonları çağırmışsa diğer fonksiyonların süresi dahil değildir. Öz süre, programda asıl nerede zaman harcandığını anlamak için faydalıdır. ## Call tree "badges" (icons) with tooltips ## @@ -137,6 +139,8 @@ CallTreeSidebar--call-node-details = Çağrı düğümü ayrıntıları CallTreeSidebar--traced-running-time = .label = İzlenen çalışma süresi +CallTreeSidebar--traced-self-time = + .label = İzlenen öz süre CallTreeSidebar--running-time = .label = Çalışma süresi CallTreeSidebar--self-time = @@ -241,6 +245,13 @@ Home--profile-firefox-android-instructions = # of the "Enable Firefox Profiler menu button" button. Home--enable-button-unavailable = .title = Bu profilleyici örneği WebChannel’a bağlanamadığı için profilleyici menü düğmesini etkinleştiremez. +# The word WebChannel, the pref name, and the string "about:config" should not be translated. +# This message can be seen on https://main--perf-html.netlify.app/ . +Home--web-channel-unavailable = Bu profilleyici örneği WebChannel’a bağlanamadı. Genellikle bunun sebebi, devtools.performance.recording.ui-base-url tercihinde belirtilenden farklı bir sunucuda çalışmasıdır. Bu örnekle yeni profiller kaydetmek ve profilleyici menü düğmesinin programatik kontrolünü bu örneğe vermek isterseniz about:config adresine gidip tercihinizi değiştirebilirsiniz. +Home--record-instructions = + Profillemeyi başlatmak için profilleme düğmesine tıklayın veya + klavye kısayollarını kullanın. Profil kaydedilirken simge maviye dönüşür. + Verileri profiler.firefox.com’a yüklemek için Kaydet’e tıklayın. Home--instructions-content = Performans profilleri yalnızca { -firefox-brand-name } ile kaydedilebilir. Ancak mevcut profiller herhangi bir modern tarayıcıda görüntülenebilir. @@ -251,6 +262,9 @@ Home--additional-content-title = Mevcut profilleri yükleyin Home--additional-content-content = Profil dosyasını buraya sürükleyip bırakarak yükleyebilirsiniz ya da: Home--compare-recordings-info = Ayrıca kayıtları karşılaştırabilirsiniz. Karşılaştırma arayüzünü aç. Home--your-recent-uploaded-recordings-title = Son yüklediğiniz kayıtlar +# We replace the elements such as and with links to the +# documentation to use these tools. +Home--load-files-from-other-tools2 = { -profiler-brand-name } ayrıca Linux perf, Android SimplePerf, Chrome performans paneli, Android Studio gibi diğer profilleyicilerden ve dhat biçimini veya Google’ın trace etkinliğini biçimini kullanan herhangi bir dosyadan profilleri içe aktarabilir. Kendi içe aktarıcınızı yazmayı öğrenin. Home--install-chrome-extension = Chrome uzantısını yükle Home--chrome-extension-instructions = Chrome’daki performans profillerini kaydedip { -profiler-brand-name }’da analiz etmek için Chrome { -profiler-brand-name } uzantısını kullanabilirsiniz. Uzantıyı Chrome Web Store'dan yükleyebilirsiniz. Home--chrome-extension-recording-instructions = From 4c8feb5cb6578ed1ebef05380e0fd99013c8bdec Mon Sep 17 00:00:00 2001 From: Pontoon Date: Sun, 14 Sep 2025 14:02:21 +0000 Subject: [PATCH 03/63] Pontoon/Firefox Profiler: Update Turkish (tr) Co-authored-by: Grk (tr) --- locales/tr/app.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/tr/app.ftl b/locales/tr/app.ftl index 64df3c9977..9dd6141bef 100644 --- a/locales/tr/app.ftl +++ b/locales/tr/app.ftl @@ -264,7 +264,7 @@ Home--compare-recordings-info = Ayrıca kayıtları karşılaştırabilirsiniz. Home--your-recent-uploaded-recordings-title = Son yüklediğiniz kayıtlar # We replace the elements such as and with links to the # documentation to use these tools. -Home--load-files-from-other-tools2 = { -profiler-brand-name } ayrıca Linux perf, Android SimplePerf, Chrome performans paneli, Android Studio gibi diğer profilleyicilerden ve dhat biçimini veya Google’ın trace etkinliğini biçimini kullanan herhangi bir dosyadan profilleri içe aktarabilir. Kendi içe aktarıcınızı yazmayı öğrenin. +Home--load-files-from-other-tools2 = { -profiler-brand-name } ayrıca Linux perf, Android SimplePerf, Chrome performans paneli, Android Studio gibi diğer profilleyicilerden ve dhat biçimini veya Google’ın trace etkinliği biçimini kullanan herhangi bir dosyadan profilleri içe aktarabilir. Kendi içe aktarıcınızı yazmayı öğrenin. Home--install-chrome-extension = Chrome uzantısını yükle Home--chrome-extension-instructions = Chrome’daki performans profillerini kaydedip { -profiler-brand-name }’da analiz etmek için Chrome { -profiler-brand-name } uzantısını kullanabilirsiniz. Uzantıyı Chrome Web Store'dan yükleyebilirsiniz. Home--chrome-extension-recording-instructions = From f57bd2bfbad805130b4f437e928103f0d1368ebb Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 17 Sep 2025 06:11:11 +0000 Subject: [PATCH 04/63] Update all Yarn dependencies (2025-09-17) --- package.json | 12 ++--- yarn.lock | 139 +++++++++++++++++++++++---------------------------- 2 files changed, 69 insertions(+), 82 deletions(-) diff --git a/package.json b/package.json index c5697c654a..d39d446051 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "namedtuplemap": "^1.0.0", "photon-colors": "^3.3.2", "protobufjs": "^7.5.4", - "query-string": "^9.2.2", + "query-string": "^9.3.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-intersection-observer": "^9.16.0", @@ -107,8 +107,8 @@ }, "devDependencies": { "@babel/cli": "^7.28.3", - "@babel/core": "^7.28.3", - "@babel/eslint-parser": "^7.28.0", + "@babel/core": "^7.28.4", + "@babel/eslint-parser": "^7.28.4", "@babel/eslint-plugin": "^7.27.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/preset-env": "^7.28.3", @@ -122,7 +122,7 @@ "@types/common-tags": "^1.8.4", "@types/jest": "^30.0.0", "@types/minimist": "^1.2.5", - "@types/node": "^22.18.1", + "@types/node": "^22.18.5", "@types/query-string": "^6.3.0", "@types/react": "^18.3.24", "@types/react-dom": "^18.3.1", @@ -160,7 +160,7 @@ "fetch-mock": "^12.5.4", "file-loader": "^6.2.0", "glob": "^11.0.3", - "globals": "^16.3.0", + "globals": "^16.4.0", "html-webpack-plugin": "^5.6.4", "husky": "^4.3.8", "jest": "^30.1.3", @@ -180,7 +180,7 @@ "raw-loader": "^4.0.2", "rimraf": "^5.0.10", "style-loader": "^4.0.0", - "stylelint": "^16.23.1", + "stylelint": "^16.24.0", "stylelint-config-idiomatic-order": "^10.0.0", "stylelint-config-standard": "^39.0.0", "typescript": "^5.8.3", diff --git a/yarn.lock b/yarn.lock index a76769b140..6d38cbff50 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20,14 +20,6 @@ resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.0.tgz#728c484f4e10df03d5a3acd0d8adcbbebff8ad63" integrity sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ== -"@ampproject/remapping@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - "@apideck/better-ajv-errors@^0.3.1": version "0.3.6" resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz#957d4c28e886a64a8141f7522783be65733ff097" @@ -78,31 +70,31 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.0.tgz#9fc6fd58c2a6a15243cd13983224968392070790" integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw== -"@babel/core@^7.23.9", "@babel/core@^7.24.4", "@babel/core@^7.27.4", "@babel/core@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.3.tgz#aceddde69c5d1def69b839d09efa3e3ff59c97cb" - integrity sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ== +"@babel/core@^7.23.9", "@babel/core@^7.24.4", "@babel/core@^7.27.4", "@babel/core@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.4.tgz#12a550b8794452df4c8b084f95003bce1742d496" + integrity sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA== dependencies: - "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.27.1" "@babel/generator" "^7.28.3" "@babel/helper-compilation-targets" "^7.27.2" "@babel/helper-module-transforms" "^7.28.3" - "@babel/helpers" "^7.28.3" - "@babel/parser" "^7.28.3" + "@babel/helpers" "^7.28.4" + "@babel/parser" "^7.28.4" "@babel/template" "^7.27.2" - "@babel/traverse" "^7.28.3" - "@babel/types" "^7.28.2" + "@babel/traverse" "^7.28.4" + "@babel/types" "^7.28.4" + "@jridgewell/remapping" "^2.3.5" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/eslint-parser@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.28.0.tgz#c1b3fbba070f5bac32e3d02f244201add4afdd6e" - integrity sha512-N4ntErOlKvcbTt01rr5wj3y55xnIdx1ymrfIr8C2WnM1Y9glFgWaGDEULJIazOX3XM9NRzhfJ6zZnQ1sBNWU+w== +"@babel/eslint-parser@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.28.4.tgz#80dd86e0aeaae9704411a044db60e1ae6477d93f" + integrity sha512-Aa+yDiH87980jR6zvRfFuCR1+dLb00vBydhTL+zI992Rz/wQhSvuxjmOOuJOgO3XmakO6RykRGD2S1mq1AtgHA== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" @@ -269,20 +261,20 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helpers@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.3.tgz#b83156c0a2232c133d1b535dd5d3452119c7e441" - integrity sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw== +"@babel/helpers@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827" + integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w== dependencies: "@babel/template" "^7.27.2" - "@babel/types" "^7.28.2" + "@babel/types" "^7.28.4" -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.3.tgz#d2d25b814621bca5fe9d172bc93792547e7a2a71" - integrity sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA== +"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.4.tgz#da25d4643532890932cc03f7705fe19637e03fa8" + integrity sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg== dependencies: - "@babel/types" "^7.28.2" + "@babel/types" "^7.28.4" "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1": version "7.27.1" @@ -1035,23 +1027,23 @@ "@babel/parser" "^7.27.2" "@babel/types" "^7.27.1" -"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.3.tgz#6911a10795d2cce43ec6a28cffc440cca2593434" - integrity sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ== +"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.4.tgz#8d456101b96ab175d487249f60680221692b958b" + integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ== dependencies: "@babel/code-frame" "^7.27.1" "@babel/generator" "^7.28.3" "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.3" + "@babel/parser" "^7.28.4" "@babel/template" "^7.27.2" - "@babel/types" "^7.28.2" + "@babel/types" "^7.28.4" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.28.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.2.tgz#da9db0856a9a88e0a13b019881d7513588cf712b" - integrity sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.4", "@babel/types@^7.3.0", "@babel/types@^7.4.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.4.tgz#0a4e618f4c60a7cd6c11cb2d48060e4dbe38ac3a" + integrity sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q== dependencies: "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.27.1" @@ -1617,20 +1609,20 @@ "@types/yargs" "^17.0.33" chalk "^4.1.2" -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" + integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.12": - version "0.3.12" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz#2234ce26c62889f03db3d7fea43c1932ab3e927b" - integrity sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg== +"@jridgewell/remapping@^2.3.5": + version "2.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" + integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/resolve-uri@^3.1.0": @@ -1638,11 +1630,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== -"@jridgewell/set-array@^1.0.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - "@jridgewell/source-map@^0.3.3": version "0.3.5" resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" @@ -1651,7 +1638,7 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": version "1.5.4" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7" integrity sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw== @@ -2329,10 +2316,10 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@>=13.7.0", "@types/node@^22.18.1": - version "22.18.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.18.1.tgz#cc85ee6999b2a2928739281d2f56ff410a140c52" - integrity sha512-rzSDyhn4cYznVG+PCzGe1lwuMYJrcBS1fc3JqSa2PvtABwWo+dZ1ij5OVok3tqfpEBCBoaR4d7upFJk73HRJDw== +"@types/node@*", "@types/node@>=13.7.0", "@types/node@^22.18.5": + version "22.18.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.18.5.tgz#6b90a0087660cce4e956c3932c7f4357ef06bccf" + integrity sha512-g9BpPfJvxYBXUWI9bV37j6d6LTMNQ88hPwdWWUeYZnMhlo66FIg9gCc1/DZb15QylJSKwOZjwrckvOTWpOiChg== dependencies: undici-types "~6.21.0" @@ -5355,7 +5342,7 @@ fetch-mock@^12.5.4: glob-to-regexp "^0.4.1" regexparam "^3.0.0" -file-entry-cache@^10.1.3: +file-entry-cache@^10.1.4: version "10.1.4" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-10.1.4.tgz#1e81441517dc33ba5fe14421d96dc5fe7e37e820" integrity sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA== @@ -5778,10 +5765,10 @@ globals@^14.0.0: resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== -globals@^16.3.0: - version "16.3.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-16.3.0.tgz#66118e765ddaf9e2d880f7e17658543f93f1f667" - integrity sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ== +globals@^16.4.0: + version "16.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-16.4.0.tgz#574bc7e72993d40cf27cf6c241f324ee77808e51" + integrity sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw== globalthis@^1.0.4: version "1.0.4" @@ -10103,10 +10090,10 @@ qs@6.13.0, qs@^6.12.3, qs@^6.5.2: dependencies: side-channel "^1.0.6" -query-string@*, query-string@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-9.2.2.tgz#a0104824edfdd2c1db2f18af71cef7abf6a3b20f" - integrity sha512-pDSIZJ9sFuOp6VnD+5IkakSVf+rICAuuU88Hcsr6AKL0QtxSIfVuKiVP2oahFI7tk3CRSexwV+Ya6MOoTxzg9g== +query-string@*, query-string@^9.3.0: + version "9.3.0" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-9.3.0.tgz#f2d60d6b4442cb445f374b5ff749b937b2cccd03" + integrity sha512-IQHOQ9aauHAApwAaUYifpEyLHv6fpVGVkMOnwPzcDScLjbLj8tLsILn6unSW79NafOw1llh8oK7Gd0VwmXBFmA== dependencies: decode-uri-component "^0.4.1" filter-obj "^5.1.0" @@ -11554,10 +11541,10 @@ stylelint-order@^6.0.2: postcss "^8.4.32" postcss-sorting "^8.0.2" -stylelint@^16.23.1: - version "16.23.1" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-16.23.1.tgz#e5f5ee173adf989db0855b825e66f9ccdde3c78a" - integrity sha512-dNvDTsKV1U2YtiUDfe9d2gp902veFeo3ecCWdGlmLm2WFrAV0+L5LoOj/qHSBABQwMsZPJwfC4bf39mQm1S5zw== +stylelint@^16.24.0: + version "16.24.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-16.24.0.tgz#a436920636732b496a55665997f2804d1d63b5b6" + integrity sha512-7ksgz3zJaSbTUGr/ujMXvLVKdDhLbGl3R/3arNudH7z88+XZZGNLMTepsY28WlnvEFcuOmUe7fg40Q3lfhOfSQ== dependencies: "@csstools/css-parser-algorithms" "^3.0.5" "@csstools/css-tokenizer" "^3.0.4" @@ -11572,7 +11559,7 @@ stylelint@^16.23.1: debug "^4.4.1" fast-glob "^3.3.3" fastest-levenshtein "^1.0.16" - file-entry-cache "^10.1.3" + file-entry-cache "^10.1.4" global-modules "^2.0.0" globby "^11.1.0" globjoin "^0.1.4" From e6232d6007d8a5716d321cf27ee1a5567f502c3a Mon Sep 17 00:00:00 2001 From: Markus Stange Date: Mon, 8 Sep 2025 11:39:42 -0400 Subject: [PATCH 05/63] Combine the checkbox toggle handlers. --- src/components/app/MenuButtons/Publish.tsx | 25 ++++++---------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/src/components/app/MenuButtons/Publish.tsx b/src/components/app/MenuButtons/Publish.tsx index 596419c087..36198bd73f 100644 --- a/src/components/app/MenuButtons/Publish.tsx +++ b/src/components/app/MenuButtons/Publish.tsx @@ -83,23 +83,11 @@ class MenuButtonsPublishImpl extends React.PureComponent< PublishState > { override state = { compressError: null, prevCompressedPromise: null }; - _toggles: { [K in keyof CheckedSharingOptions]: () => void } = { - includeHiddenThreads: () => - this.props.toggleCheckedSharingOptions('includeHiddenThreads'), - includeAllTabs: () => - this.props.toggleCheckedSharingOptions('includeAllTabs'), - includeFullTimeRange: () => - this.props.toggleCheckedSharingOptions('includeFullTimeRange'), - includeScreenshots: () => - this.props.toggleCheckedSharingOptions('includeScreenshots'), - includeUrls: () => this.props.toggleCheckedSharingOptions('includeUrls'), - includeExtension: () => - this.props.toggleCheckedSharingOptions('includeExtension'), - includePreferenceValues: () => - this.props.toggleCheckedSharingOptions('includePreferenceValues'), - includePrivateBrowsingData: () => - this.props.toggleCheckedSharingOptions('includePrivateBrowsingData'), - }; + + _onCheckboxChange = (e: React.ChangeEvent) => { + const sharingOption = e.target.name as keyof CheckedSharingOptions; + this.props.toggleCheckedSharingOptions(sharingOption); + } _renderCheckbox( slug: keyof CheckedSharingOptions, @@ -107,14 +95,13 @@ class MenuButtonsPublishImpl extends React.PureComponent< additionalContent?: React.ReactNode ) { const { checkedSharingOptions } = this.props; - const toggle = this._toggles[slug]; return (