Skip to content

fix: harden OpenAI translation requests - #15229

Open
benceruleanlu wants to merge 2 commits into
bl/i18n-automation-reliabilityfrom
bl/i18n-openai-client-contract
Open

fix: harden OpenAI translation requests#15229
benceruleanlu wants to merge 2 commits into
bl/i18n-automation-reliabilityfrom
bl/i18n-openai-client-contract

Conversation

@benceruleanlu

@benceruleanlu benceruleanlu commented Aug 13, 2026

Copy link
Copy Markdown
Member

Stacked on #15228.

Summary

Harden the OpenAI translation client contract and expose actual request/token usage.

Changes

  • What: Derive reasoning effort from the SDK, bisect truncated batches, and report initial batches, HTTP requests, and token usage.

Truncated batches (finish_reason: "length") now split in half and retry each side instead of re-sending an identical request that will truncate again; a truncated single-item batch fails with the existing "lower maxItemsPerRequest" message.

A batch response containing a non-string value keeps its valid strings — the affected ids fall through as missing and are re-sent with a retryNote by the existing translateLocaleItems rounds, rather than failing the whole locale. response_format: { type: 'json_object' } guarantees parseable JSON, not schema adherence, so null and numeric echoes remain possible.

Malformed-response retries drop from 3 to 1. That inner loop re-sends a byte-identical prompt, so repeats past the first are unlikely to change the outcome; content failures still get maxTranslationRounds: 3 feedback-carrying attempts through the retry-note path. SDK network retries stay at 3, where retrying an identical request is correct.

The translation preflight counts locales with pending items instead of every configured locale.

Review Focus

The truncation bisect has no split-depth or run-wide request cap. Worst case per chunk is bounded (~2n leaf calls, each with its own retry budget) but unbounded-feeling for a script that spends money; the usage line reports it only after the fact.

Validation:

  • mise exec -- pnpm test:unit scripts/i18n/update-locales.test.ts --run (26 passed)
  • mise exec -- pnpm typecheck:scripts
  • mise exec -- pnpm typecheck
  • mise exec -- pnpm lint
  • mise exec -- pnpm knip
  • mise exec -- pnpm format:check

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: b8d269b1-6d5a-4b14-8052-66fc00c25ae0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown

🎭 Playwright: ✅ 1814 passed, 0 failed · 2 flaky

📊 Browser Reports
  • chromium: View Report (✅ 1793 / ❌ 0 / ⚠️ 2 / ⏭️ 5)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 18 / ❌ 0 / ⚠️ 0 / ⏭️ 0)

📦 Bundle: 8.85 MB gzip

Details

Summary

  • Raw size: 37.3 MB
  • Gzip: 8.85 MB
  • Brotli: 6.19 MB
  • Bundles: 439 current • 439 added
    Baseline artifact not found; showing current bundle sizes only.

Category Glance
Vendor & Third-Party 16.8 MB · Other 14.2 MB · Data & Services 3.52 MB · Graph Workspace 1.37 MB · Panels & Settings 565 kB · Utilities & Hooks 550 kB · + 5 more

App Entry Points — 3.71 kB

Main entry bundles and manifests

File Size Gzip Brotli
assets/index-CaYKsml3.js (new) 3.71 kB 1.86 kB 1.6 kB

Status: 1 added

Graph Workspace — 1.37 MB

Graph editor runtime, canvas, workflow orchestration

File Size Gzip Brotli
assets/GraphView-K1HmSvod.js (new) 1.36 MB 297 kB 223 kB
assets/WidgetCompositor-BhV83121.js (new) 8.17 kB 2.76 kB 2.46 kB
assets/workflow-B3xkz5Kx.js (new) 1.01 kB 508 B 420 B

Status: 3 added

Views & Navigation — 124 kB

Top-level views, pages, and routed surfaces

File Size Gzip Brotli
assets/CloudSurveyView-CR8cFoLh.js (new) 25 kB 6.24 kB 5.52 kB
assets/CloudLayoutView-CqDnHmxo.js (new) 21.8 kB 6.57 kB 5.75 kB
assets/OAuthConsentView-B6YA0kwR.js (new) 15.5 kB 4.26 kB 3.71 kB
assets/UserCheckView-BIIyEJ6N.js (new) 8.75 kB 2.19 kB 1.91 kB
assets/CloudLoginView-D-Iyt_NF.js (new) 8.74 kB 2.55 kB 2.26 kB
assets/useCloudAuthPage-ClVgpwrj.js (new) 7.08 kB 2.52 kB 2.2 kB
assets/CloudSignupView-C3WtAapD.js (new) 6.96 kB 2.28 kB 2 kB
assets/WidgetTextPreview-c0qZuGGP.js (new) 6.07 kB 2.13 kB 1.9 kB
assets/CloudSubscriptionRedirectView-hGffGYaz.js (new) 6.05 kB 2.25 kB 1.96 kB
assets/UserSelectView-Br4idrA4.js (new) 5.49 kB 1.96 kB 1.71 kB
assets/CloudForgotPasswordView-BYUVJJxz.js (new) 4.97 kB 1.72 kB 1.49 kB
assets/CloudAuthTimeoutView-bjxdQJ4P.js (new) 4.43 kB 1.54 kB 1.34 kB
assets/OAuthLayoutView-DT2AT2wm.js (new) 1.31 kB 701 B 587 B
assets/CloudSorryContactSupportView-kNDO55x3.js (new) 1.14 kB 579 B 504 B
assets/video-split-screen-CNFWB03A.js (new) 595 B 362 B 299 B
assets/layout-CSmyoW6_.js (new) 403 B 252 B 207 B
assets/WidgetTextPreview-C6kXgZBV.js (new) 131 B 100 B 90 B

Status: 17 added

Panels & Settings — 565 kB

Configuration panels, inspectors, and settings screens

File Size Gzip Brotli
assets/KeybindingPanel-BbR6FOEq.js (new) 49.4 kB 9.95 kB 8.8 kB
assets/settings-Du8MHruG.js (new) 39.6 kB 9.66 kB 7.93 kB
assets/settings-mkYpqm8E.js (new) 35.2 kB 8.6 kB 7.24 kB
assets/SecretsPanel-BmDGcrL0.js (new) 33.7 kB 7.87 kB 6.91 kB
assets/settings-C7eLoO4D.js (new) 33.4 kB 8.43 kB 6.89 kB
assets/settings-l9qo4SWq.js (new) 32.9 kB 8.46 kB 7.02 kB
assets/settings-D401de9y.js (new) 31.3 kB 8.71 kB 7.3 kB
assets/settings-h_rkpPt_.js (new) 30.7 kB 8.34 kB 7.28 kB
assets/settings-DYxqUlrV.js (new) 29.5 kB 8.01 kB 6.86 kB
assets/settings-CZVBM34C.js (new) 29.5 kB 8.25 kB 7.17 kB
assets/settings-DFOMjiGL.js (new) 29.4 kB 8.14 kB 7.15 kB
assets/settings-BG4gNbcb.js (new) 28.6 kB 7.93 kB 6.86 kB
assets/settings-x8-cO3Ea.js (new) 28.5 kB 8.38 kB 6.96 kB
assets/settings-DgUyMtWZ.js (new) 27.1 kB 7.7 kB 6.38 kB
assets/settings-DCXleDrM.js (new) 25.1 kB 8.14 kB 6.55 kB
assets/settings-C_Ly-sWO.js (new) 24.5 kB 7.96 kB 6.2 kB
assets/CreditsPanel-DpQzCEWq.js (new) 11.5 kB 3.21 kB 2.81 kB
assets/AboutPanel-Dq5EDySA.js (new) 11.2 kB 3.03 kB 2.72 kB
assets/ExtensionPanel-CqnStzPC.js (new) 9.19 kB 2.51 kB 2.23 kB
assets/settings-DfIaePVP.js (new) 7.08 kB 1.87 kB 1.59 kB
assets/ServerConfigPanel-BKkFQolQ.js (new) 6.09 kB 1.94 kB 1.72 kB
assets/UserPanel-BPaoFJQ_.js (new) 5.73 kB 1.78 kB 1.54 kB
assets/refreshRemoteConfig-C2gW5xsk.js (new) 3.44 kB 1.33 kB 1.18 kB
assets/remoteConfig-B0RmgQ9h.js (new) 1.42 kB 675 B 561 B
assets/cloudRemoteConfig-B5PJbYfJ.js (new) 951 B 514 B 420 B
assets/refreshRemoteConfig-BDfdvW3F.js (new) 110 B 89 B 88 B

Status: 26 added

User & Accounts — 27.7 kB

Authentication, profile, and account management bundles

File Size Gzip Brotli
assets/SignUpForm-5-G2ldY8.js (new) 13.3 kB 4.52 kB 3.93 kB
assets/PasswordFields-DxW_fGtd.js (new) 4.93 kB 1.46 kB 1.29 kB
assets/auth-Cj1LJ169.js (new) 3.71 kB 1.29 kB 1.1 kB
assets/UpdatePasswordContent-Dbw8xVAT.js (new) 1.85 kB 842 B 740 B
assets/WorkspaceProfilePic-fQ5PxnHG.js (new) 1.6 kB 829 B 721 B
assets/oauthState-DmjrcfWa.js (new) 1.17 kB 478 B 406 B
assets/authClasses-CGLCAoTJ.js (new) 679 B 422 B 334 B
assets/profiler-DTaQ-5S5.js (new) 178 B 141 B 128 B
assets/authStore-kPDIi2Ow.js (new) 128 B 107 B 102 B
assets/workspaceAuthStore-DO6u0Dsd.js (new) 108 B 99 B 112 B
assets/auth-DWxuTuXy.js (new) 105 B 96 B 86 B

Status: 11 added

Editors & Dialogs — 125 kB

Modals, dialogs, drawers, and in-app editors

File Size Gzip Brotli
assets/ComfyHubPublishDialog-BOPEr0F8.js (new) 90.1 kB 19.3 kB 16.5 kB
assets/useShareDialog-BPjtzMdR.js (new) 23.9 kB 5.7 kB 5.04 kB
assets/feedbackDialog-DzP_2xmy.js (new) 4.45 kB 1.87 kB 1.59 kB
assets/useRangeEditor-Hf_IbuWa.js (new) 3.29 kB 1.14 kB 1.03 kB
assets/SubscriptionInactiveMemberDialog-3T36lwRq.js (new) 2.48 kB 998 B 851 B
assets/useLayerEditor-COdtZgjy.js (new) 1.01 kB 491 B 405 B
assets/ComfyHubPublishDialog-CQXFoaVt.js (new) 143 B 105 B 90 B
assets/useSubscriptionDialog-KgdeEFQq.js (new) 108 B 102 B 90 B

Status: 8 added

UI Components — 67.1 kB

Reusable component library chunks

File Size Gzip Brotli
assets/ComfyQueueButton-D3XmLren.js (new) 14.6 kB 3.97 kB 3.52 kB
assets/useTerminalTabs-DTCKKGDb.js (new) 11.8 kB 3.69 kB 3.28 kB
assets/InviteMembersForm-D3KLCxtC.js (new) 8.2 kB 2.72 kB 2.42 kB
assets/TopbarBadge-Dq577MyX.js (new) 7.65 kB 1.83 kB 1.62 kB
assets/ScrubableNumberInput-D4JgRtH8.js (new) 6.49 kB 2.17 kB 1.92 kB
assets/WidgetInputNumberInput-CrLta6cY.js (new) 5.83 kB 2.07 kB 1.85 kB
assets/Button-D8rCMK2y.js (new) 4.64 kB 1.62 kB 1.42 kB
assets/SubscribeButton-BYJhWBe4.js (new) 2.15 kB 970 B 848 B
assets/WidgetButton-10hAQpix.js (new) 1.93 kB 887 B 774 B
assets/Input-Dry_O4bD.js (new) 1.76 kB 872 B 765 B
assets/UserAvatar-Be3pfDFa.js (new) 1.24 kB 641 B 554 B
assets/cloudFeedbackTopbarButton-DozlsCkN.js (new) 705 B 421 B 361 B
assets/ComfyQueueButton-CULGbxNh.js (new) 128 B 99 B 89 B
assets/toggle-group-DVXGGL47.js (new) 40 B 60 B 44 B

Status: 14 added

Data & Services — 3.52 MB

Stores, services, APIs, and repositories

File Size Gzip Brotli
assets/settingStore-CyiBWLx5.js (new) 3.24 MB 753 kB 566 kB
assets/load3dService-H1vvo4wX.js (new) 132 kB 29.3 kB 24.6 kB
assets/api-DQXJ6iI3.js (new) 98.4 kB 27.3 kB 23.4 kB
assets/workflowShareService-zI4EY3dQ.js (new) 16.5 kB 4.91 kB 4.35 kB
assets/keybindingService-BbndOLsg.js (new) 6.89 kB 1.73 kB 1.5 kB
assets/releaseStore-Dh7hkqFx.js (new) 6.72 kB 2.03 kB 1.77 kB
assets/dialogStore-mTb5976f.js (new) 5.35 kB 1.64 kB 1.43 kB
assets/systemStatsStore-DWLMlFh0.js (new) 4.93 kB 1.74 kB 1.47 kB
assets/userStore-Blqs0Cgy.js (new) 2.38 kB 900 B 796 B
assets/serverConfigStore-B_zwQQFs.js (new) 2.3 kB 775 B 687 B
assets/audioService-B1Tdva2i.js (new) 1.71 kB 831 B 724 B
assets/toastStore-B_waOwkM.js (new) 841 B 395 B 343 B
assets/dialogService-Dhn5g8x3.js (new) 98 B 97 B 81 B
assets/releaseStore-DfVwil3_.js (new) 95 B 86 B 91 B
assets/settingStore-zMd8LGzy.js (new) 95 B 86 B 73 B
assets/assetsStore-d5Fupp3t.js (new) 94 B 92 B 83 B
assets/api-BGwh6TZp.js (new) 62 B 74 B 66 B

Status: 17 added

Utilities & Hooks — 550 kB

Helpers, composables, and utility bundles

File Size Gzip Brotli
assets/useConflictDetection-Dla5rJiq.js (new) 236 kB 53 kB 43.2 kB
assets/useLayerEditorSession-DioNwnPw.js (new) 158 kB 40.8 kB 34.3 kB
assets/useLoad3d-Q_PIceSZ.js (new) 25.8 kB 5.81 kB 5.15 kB
assets/useLoad3dViewer-BkKp7PFJ.js (new) 21.2 kB 4.98 kB 4.37 kB
assets/useImageQuiet-Cm_jUHJ-.js (new) 19.1 kB 6.12 kB 5.27 kB
assets/formatUtil-CNG-Br4i.js (new) 16.2 kB 5.46 kB 4.81 kB
assets/useImageCrop-Cwugf3Vk.js (new) 14.9 kB 3.42 kB 2.99 kB
assets/useDowngradeToPersonal-BDaT568W.js (new) 10.9 kB 2.75 kB 2.36 kB
assets/useFeatureFlags-C1Ab7vdt.js (new) 6.99 kB 2 kB 1.72 kB
assets/curveUtils-CMFtfKRr.js (new) 3.79 kB 1.26 kB 1.11 kB
assets/useTransformState-kcVecowX.js (new) 3.54 kB 1.55 kB 1.29 kB
assets/useCompositorLayers-DInKdT7a.js (new) 2.94 kB 897 B 805 B
assets/useSurveyEligibility-g1bxnz-H.js (new) 2.89 kB 1.11 kB 919 B
assets/useExternalLink-CsEhjLT6.js (new) 2.85 kB 1.07 kB 923 B
assets/assetPreviewUtil-DAhR8Q6d.js (new) 2.35 kB 971 B 845 B
assets/useFeatureUsageTracker-DOEWwNcv.js (new) 2.07 kB 911 B 772 B
assets/downloadUtil-C2gjXuW3.js (new) 2.04 kB 907 B 728 B
assets/useTypeformEmbed-DgS6lnhj.js (new) 2.02 kB 1.03 kB 853 B
assets/useUpstreamValue-6ht0S2bh.js (new) 1.99 kB 758 B 684 B
assets/useWorkspaceTierLabel-aaGu8uVi.js (new) 1.93 kB 813 B 698 B
assets/markdownRendererUtil-llRXLHTo.js (new) 1.53 kB 799 B 692 B
assets/useErrorHandling-CTWgMd88.js (new) 1.49 kB 616 B 529 B
assets/errorUtil-CBAEQ_e4.js (new) 1.23 kB 578 B 478 B
assets/hdrFormatUtil-CnRXb_Cj.js (new) 1.03 kB 485 B 390 B
assets/histogramUtil-nwm_kqcs.js (new) 921 B 539 B 457 B
assets/useModalLiftedZIndex-cRwoPvNn.js (new) 908 B 553 B 511 B
assets/subscriptionCheckoutUtil-DOy8odSs.js (new) 877 B 522 B 438 B
assets/useTextFileContent-Bm-ixZo5.js (new) 841 B 427 B 376 B
assets/useClickDragGuard-C9dEHod_.js (new) 773 B 372 B 333 B
assets/useSessionCookie-DZRnZaIN.js (new) 652 B 338 B 291 B
assets/_plugin-vue_export-helper-DEKQMRQ4.js (new) 365 B 255 B 216 B
assets/envUtil-D9umgS8T.js (new) 333 B 213 B 178 B
assets/useLoad3d-0cQVYNWY.js (new) 311 B 164 B 148 B
assets/SkeletonUtils-uc7PBd52.js (new) 133 B 111 B 108 B
assets/useSessionCookie-B-BJosGe.js (new) 101 B 86 B 77 B
assets/useFeatureFlags-CHFQbVbA.js (new) 98 B 85 B 82 B
assets/useLoad3dViewer-DWlSFLW8.js (new) 98 B 85 B 83 B
assets/useCurrentUser-DOMQivYF.js (new) 94 B 95 B 85 B

Status: 38 added

Vendor & Third-Party — 16.8 MB

External libraries and shared vendor chunks

File Size Gzip Brotli
assets/vendor-three-BNBNm62f.js (new) 7.09 MB 2.18 MB 1.02 MB
assets/vendor-other-DM6QvB0c.js (new) 2.23 MB 483 kB 380 kB
assets/vendor-primevue-CTrQSWXs.js (new) 1.69 MB 306 kB 184 kB
assets/vendor-firebase-DZ9gHliD.js (new) 1.15 MB 233 kB 186 kB
assets/vendor-tiptap-CRth4-B-.js (new) 747 kB 184 kB 148 kB
assets/vendor-reka-ui-D1e1IYG7.js (new) 563 kB 102 kB 77.3 kB
assets/vendor-ag-psd-iN-PK2Jv.js (new) 545 kB 113 kB 91.2 kB
assets/vendor-datadog-CR3rU1mS.js (new) 528 kB 126 kB 102 kB
assets/vendor-chart-hciqepb7.js (new) 412 kB 100 kB 83 kB
assets/vendor-xterm-tvYwlZkL.js (new) 380 kB 75.9 kB 61.2 kB
assets/vendor-vue-core-yudC0Byk.js (new) 349 kB 87.4 kB 73.6 kB
assets/vendor-yjs-CbNkqTUJ.js (new) 278 kB 60.9 kB 50.7 kB
assets/vendor-sentry-lRf-PDYw.js (new) 238 kB 56.7 kB 47.5 kB
assets/vendor-vueuse-BAJp6gzS.js (new) 150 kB 37.7 kB 32.3 kB
assets/vendor-i18n-BNoYHpCR.js (new) 128 kB 29 kB 24.8 kB
assets/vendor-markdown-DQZfBP8x.js (new) 121 kB 30.3 kB 26.6 kB
assets/vendor-axios-I_gyl9iu.js (new) 119 kB 32 kB 27.4 kB
assets/vendor-zod-DMTwNxpJ.js (new) 106 kB 18.9 kB 16.1 kB

Status: 18 added

Other — 14.2 MB

Bundles that do not match a named category

File Size Gzip Brotli
assets/nodeDefs-DJncJqM3.js (new) 761 kB 127 kB 86.3 kB
assets/nodeDefs-CpkVJBoz.js (new) 700 kB 115 kB 80.1 kB
assets/nodeDefs-B6RvNLh0.js (new) 693 kB 118 kB 82.5 kB
assets/nodeDefs-BTcb6VPF.js (new) 636 kB 114 kB 79.4 kB
assets/nodeDefs-Cqvlii7j.js (new) 633 kB 109 kB 77.3 kB
assets/nodeDefs-ctNGELIv.js (new) 612 kB 112 kB 78.9 kB
assets/nodeDefs-COuQXeRc.js (new) 609 kB 111 kB 80.1 kB
assets/nodeDefs-cJbQgzfa.js (new) 602 kB 110 kB 80.5 kB
assets/nodeDefs-COqBgFtH.js (new) 600 kB 108 kB 78 kB
assets/nodeDefs-CyZzIjqk.js (new) 596 kB 106 kB 77.7 kB
assets/nodeDefs-CqlxyYBJ.js (new) 593 kB 106 kB 76.9 kB
assets/nodeDefs-CsUuOUpp.js (new) 567 kB 98.8 kB 72.3 kB
assets/nodeDefs-CyuI0uEL.js (new) 550 kB 110 kB 76.8 kB
assets/nodeDefs-CU3YafMu.js (new) 545 kB 108 kB 75.3 kB
assets/main-Ub70wlYB.js (new) 323 kB 79.8 kB 61.9 kB
assets/main-DrCz2UPc.js (new) 289 kB 72.3 kB 57.5 kB
assets/main-DjXGc5-u.js (new) 274 kB 71.6 kB 56.6 kB
assets/main-D2VI9Zum.js (new) 265 kB 70.9 kB 55.7 kB
assets/main-D0DYIY6J.js (new) 256 kB 68.6 kB 54.9 kB
assets/main-C4mQZFtQ.js (new) 241 kB 69.5 kB 57.4 kB
assets/main-DCNYc_Q8.js (new) 239 kB 68.4 kB 54.6 kB
assets/main-EfuGA8is.js (new) 233 kB 67.7 kB 55.8 kB
assets/main-QXmcpGfd.js (new) 230 kB 67.9 kB 56.3 kB
assets/main-jwnbHe2t.js (new) 228 kB 66.8 kB 55.6 kB
assets/main-BClbBnzH.js (new) 225 kB 65.7 kB 55.1 kB
assets/main-BxBS43pb.js (new) 207 kB 60.1 kB 50.4 kB
assets/main-B3N4wc59.js (new) 203 kB 66.7 kB 52.7 kB
assets/main-pHRK9r-1.js (new) 200 kB 66.3 kB 52.4 kB
assets/core-CcCJyxEk.js (new) 115 kB 29.7 kB 25.1 kB
assets/OBJLoader2WorkerModule-DTMpvldF.js (new) 109 kB 27.1 kB 21.9 kB
assets/WidgetSelect-CKHQHxd6.js (new) 88.8 kB 20.1 kB 17.2 kB
assets/SubscriptionPanelContentWorkspace-Dr3tr1aZ.js (new) 80 kB 15.8 kB 13.6 kB
assets/Load3D-BdQc_Cul.js (new) 71.3 kB 11.7 kB 9.98 kB
assets/WidgetVideoEdit-CNzSCuz6.js (new) 67.5 kB 15.7 kB 13.9 kB
assets/SubscriptionTransitionPreviewWorkspace-CLemRR4Q.js (new) 66.5 kB 13.4 kB 11.7 kB
assets/WorkspaceSettingsPanelContent-DfoARsWk.js (new) 58.2 kB 12.4 kB 10.8 kB
assets/Preview3d-oBQ1M3Rs.js (new) 50.9 kB 8.32 kB 7.25 kB
assets/main-DLzqqqg8.js (new) 45.3 kB 13.2 kB 11.4 kB
assets/SubscriptionRequiredDialogContentUnified-CUApn57O.js (new) 42.6 kB 9.36 kB 8.16 kB
assets/LayerEditorContent-Btd48EUv.js (new) 42.5 kB 9.62 kB 8.42 kB
assets/nodeDefs-C1w7DDtA.js (new) 39.2 kB 10.1 kB 8.75 kB
assets/WidgetBoundingBoxes-DIm6yXNf.js (new) 33.7 kB 9.16 kB 8.13 kB
assets/WidgetPainter-CxkXsZgh.js (new) 32.6 kB 7.88 kB 6.97 kB
assets/Load3dViewerContent-DwjIzCjY.js (new) 30.8 kB 6.29 kB 5.45 kB
assets/HdrViewerContent-DKq3Hdh1.js (new) 29.8 kB 8.25 kB 7.27 kB
assets/ColorPicker-DVuyaO-B.js (new) 29.2 kB 7.58 kB 6.67 kB
assets/SubscriptionRequiredDialogContent-BTT0eeXX.js (new) 26.9 kB 6.36 kB 5.6 kB
assets/SubscriptionRequiredDialogContentWorkspace-Dp0wYMIK.js (new) 25.1 kB 5.79 kB 5.1 kB
assets/CreditsTile-C3W9TiZB.js (new) 24.9 kB 6.65 kB 5.83 kB
assets/initHostTelemetry-CZ-_vLgs.js (new) 24.5 kB 5.82 kB 4.83 kB
assets/load3d-CJN9XV0v.js (new) 22.2 kB 5.41 kB 4.68 kB
assets/CurrentUserPopoverWorkspace-D_vhbxz9.js (new) 21.5 kB 4.85 kB 4.31 kB
assets/SignInContent-BuI8eo7W.js (new) 20.6 kB 5.17 kB 4.53 kB
assets/commands-BKN6fRVa.js (new) 18.6 kB 4 kB 3.09 kB
assets/DialogHeader-Dk6Kmvng.js (new) 17.5 kB 5.28 kB 4.61 kB
assets/commands-D2b4SpmW.js (new) 17.3 kB 3.69 kB 2.85 kB
assets/commands-gx4P-ybS.js (new) 17.3 kB 3.76 kB 2.96 kB
assets/commands-DrmQsqDP.js (new) 17.3 kB 3.59 kB 2.82 kB
assets/commands-lpkD8Jr0.js (new) 16.7 kB 3.79 kB 2.98 kB
assets/WidgetRecordAudio-Znuq5-FJ.js (new) 16.6 kB 4.6 kB 4.1 kB
assets/commands-CGE1NEkE.js (new) 16.4 kB 3.54 kB 2.92 kB
assets/i18n-DUjCLvYw.js (new) 15.9 kB 4.3 kB 3.6 kB
assets/commands-Bym53ZK-.js (new) 15.9 kB 3.5 kB 2.87 kB
assets/commands-D_uHBcHD.js (new) 15.9 kB 3.42 kB 2.78 kB
assets/commands-DYFW3wAz.js (new) 15.8 kB 3.39 kB 2.78 kB
assets/commands-XyP6YuDv.js (new) 15.7 kB 3.65 kB 2.84 kB
assets/commands-B3vhE5a3.js (new) 15.5 kB 3.25 kB 2.68 kB
assets/commands-DM9rmOop.js (new) 15.4 kB 3.18 kB 2.69 kB
assets/commands-4qWg2NAn.js (new) 15 kB 3.59 kB 2.71 kB
assets/commands-9uJVV2DI.js (new) 14.8 kB 3.53 kB 2.64 kB
assets/WidgetInputNumber-Csqnc8xp.js (new) 13.9 kB 3.63 kB 3.21 kB
assets/WidgetRange-CI_lPLU4.js (new) 13.7 kB 3.55 kB 3.13 kB
assets/WaveAudioPlayer-DErp5v_j.js (new) 12.8 kB 3.46 kB 3.05 kB
assets/WidgetCurve-muRXbq6Y.js (new) 11.2 kB 3.47 kB 3.14 kB
assets/AudioPreviewPlayer-BX6rQN-A.js (new) 10.6 kB 3.05 kB 2.72 kB
assets/meshy-C5eznzGL.js (new) 10.5 kB 4.72 kB 4.15 kB
assets/TeamWorkspacesDialogContent-D-Yz5GmH.js (new) 10.3 kB 2.97 kB 2.63 kB
assets/SelectValue-a1Tqx-7a.js (new) 10.2 kB 2.48 kB 2.2 kB
assets/onboardingCloudRoutes-BJ5EOu9K.js (new) 9.39 kB 2.83 kB 2.41 kB
assets/ideogram-CPAcI9VN.js (new) 9.21 kB 4.28 kB 3.67 kB
assets/types-Bk23msdr.js (new) 9.16 kB 2.9 kB 2.37 kB
assets/Load3DConfiguration-4NCCdGU-.js (new) 8.91 kB 2.61 kB 2.3 kB
assets/comfy-logo-BxADqrWH.js (new) 8.6 kB 3.84 kB 3.24 kB
assets/WidgetImageCrop-C5BN4uG7.js (new) 8.49 kB 2.65 kB 2.34 kB
assets/SetMemberCreditLimitDialogContent-CyN0cvh9.js (new) 8.47 kB 2.34 kB 2.05 kB
assets/nodeTemplates-8zQdEkRK.js (new) 8.32 kB 2.86 kB 2.51 kB
assets/WidgetImageCompare-CuxMACcG.js (new) 8.13 kB 2.3 kB 2.02 kB
assets/NightlySurveyController-LzICW8Ws.js (new) 7.5 kB 2.55 kB 2.25 kB
assets/Popover-CBCBUnWm.js (new) 7.48 kB 2.68 kB 2.36 kB
assets/CloudRunButtonWrapper-BjLVpkDm.js (new) 6.84 kB 2.18 kB 1.91 kB
assets/gemini-DxvHIIpm.js (new) 6.76 kB 1.18 kB 986 B
assets/commands-C9_85oGd.js (new) 6.53 kB 1.54 kB 1.31 kB
assets/WidgetWithControl-_vZVaVqU.js (new) 6.44 kB 2.63 kB 2.31 kB
assets/missingModelMetadata-Bl9hQ6Qi.js (new) 6.17 kB 2.13 kB 1.86 kB
assets/AnimationControls-CtllWymA.js (new) 6.1 kB 1.85 kB 1.63 kB
assets/CancelSubscriptionDialogContent-CBQuWyZM.js (new) 5.97 kB 1.98 kB 1.75 kB
assets/main-C48xY5P2.js (new) 5.92 kB 1.9 kB 1.61 kB
assets/load3dPreviewExtensions-BkerzjZ9.js (new) 5.88 kB 1.81 kB 1.6 kB
assets/DowngradeRemoveMembersDialogContent-BPA7i-Hd.js (new) 5.58 kB 1.89 kB 1.64 kB
assets/minimax-B3NM3ir2.js (new) 5.44 kB 2.48 kB 2.15 kB
assets/launchCancellationFlow-CQMSNJTJ.js (new) 5.18 kB 1.78 kB 1.57 kB
assets/CreateWorkspaceDialogContent-DsfeT4TB.js (new) 5.12 kB 1.79 kB 1.55 kB
assets/CloudNotificationContent-CoOPRA17.js (new) 5.05 kB 1.76 kB 1.51 kB
assets/ChangeMemberRoleDialogContent-U7qXf9pn.js (new) 4.97 kB 1.64 kB 1.43 kB
assets/InviteMemberDialogContent-DIU31iGZ.js (new) 4.96 kB 1.64 kB 1.44 kB
assets/EditWorkspaceDialogContent-0C8n85G0.js (new) 4.93 kB 1.76 kB 1.53 kB
assets/PaletteSwatchRow-B-Ru-mfe.js (new) 4.86 kB 1.87 kB 1.66 kB
assets/grain-DpjNtV4-.js (new) 4.83 kB 1.32 kB 975 B
assets/WidgetTextarea-CN16aVCs.js (new) 4.81 kB 1.87 kB 1.64 kB
assets/saveMesh-BRJc-MDy.js (new) 4.76 kB 1.52 kB 1.34 kB
assets/WorkspacePanelContent-4FfdYqfy.js (new) 4.74 kB 1.63 kB 1.44 kB
assets/brightness-contrast-D4ZrSTJK.js (new) 4.61 kB 1.56 kB 1.39 kB
assets/ValueControlPopover-D1gpYKr0.js (new) 4.49 kB 1.55 kB 1.38 kB
assets/ToggleGroupItem-CedKLrAZ.js (new) 4.14 kB 1.41 kB 1.25 kB
assets/ApiNodesSignInContent-CU-tTCRo.js (new) 4.08 kB 1.31 kB 1.17 kB
assets/Slider-gYmu-6Xc.js (new) 3.91 kB 1.43 kB 1.25 kB
assets/DeleteWorkspaceDialogContent-B9GvOzyv.js (new) 3.84 kB 1.44 kB 1.24 kB
assets/WidgetBoundingBox-DHE_RJSX.js (new) 3.76 kB 1.03 kB 900 B
assets/RemoveMemberDialogContent-DYjY09iq.js (new) 3.76 kB 1.39 kB 1.21 kB
assets/WidgetGalleria-BCG27W3j.js (new) 3.75 kB 1.45 kB 1.29 kB
assets/RevokeInviteDialogContent-Bk_pKxTP.js (new) 3.67 kB 1.39 kB 1.21 kB
assets/LeaveWorkspaceDialogContent-COrVIKxp.js (new) 3.67 kB 1.39 kB 1.19 kB
assets/tencent-DcxX2XL4.js (new) 3.63 kB 1.69 kB 1.49 kB
assets/WidgetToggleSwitch-IbZX_epq.js (new) 3.56 kB 1.3 kB 1.14 kB
assets/hitpaw-C0NOpgD2.js (new) 3.51 kB 1.75 kB 1.5 kB
assets/InviteMemberUpsellDialogContent-BPA4RJme.js (new) 3.47 kB 1.24 kB 1.09 kB
assets/sora-CahMvg3l.js (new) 3.46 kB 1.81 kB 1.56 kB
assets/workspaceCheckoutTelemetry-D9AvxDRM.js (new) 3.4 kB 1.52 kB 1.32 kB
assets/GlobalToast-CeLW0gKj.js (new) 3.25 kB 1.3 kB 1.11 kB
assets/Media3DTop-K_XHlIVV.js (new) 3.21 kB 1.27 kB 1.11 kB
assets/openai-cmoqR7c6.js (new) 3.21 kB 1.55 kB 1.38 kB
assets/get-video-components-Ft-NLDFC.js (new) 3.09 kB 1.37 kB 1.21 kB
assets/pixverse-CHKZYPBx.js (new) 3.08 kB 1.48 kB 1.28 kB
assets/kling-2U9Sap30.js (new) 3.08 kB 1.14 kB 973 B
assets/image-invert-CvSik4TT.js (new) 3.07 kB 1.03 kB 853 B
assets/WidgetMarkdown-DfbocEb7.js (new) 3.07 kB 1.26 kB 1.1 kB
assets/WidgetInputText-BWZwWTwX.js (new) 3.01 kB 1.26 kB 1.14 kB
assets/MediaVideoTop-tpKsgZUQ.js (new) 2.96 kB 1.19 kB 1.04 kB
assets/rodin-D99hR298.js (new) 2.93 kB 1.41 kB 1.23 kB
assets/load3dAdvanced-CFh7fwUf.js (new) 2.82 kB 1.1 kB 955 B
assets/ErrorPanelSurveyCta-CBy5P8bC.js (new) 2.64 kB 1.14 kB 1.01 kB
assets/wan-B-4QUtRI.js (new) 2.62 kB 1.28 kB 1.13 kB
assets/loadExternalScript-Bah6Al85.js (new) 2.59 kB 913 B 744 B
assets/Switch-DxGEzj-o.js (new) 2.49 kB 1.09 kB 969 B
assets/image-outpainting-DPutOHdl.js (new) 2.47 kB 1.13 kB 978 B
assets/image-outpaint-CuZDQ-s9.js (new) 2.46 kB 1.12 kB 976 B
assets/SubscribeToRun-Dz8VyvZs.js (new) 2.39 kB 1.03 kB 909 B
assets/tripo-BJxtNDyf.js (new) 2.38 kB 1.12 kB 989 B
assets/WidgetLayoutField-gqC5HiqE.js (new) 2.38 kB 1.03 kB 903 B
assets/WidgetChart-DhIozH2z.js (new) 2.36 kB 1 kB 864 B
assets/ltxv-CREe9jI1.js (new) 2.35 kB 1.2 kB 1.05 kB
assets/luma-CKtjQHSe.js (new) 2.32 kB 595 B 505 B
assets/image-inpaint-D-VnZoJS.js (new) 2.29 kB 1.07 kB 919 B
assets/vidu-DouVPJS-.js (new) 2.12 kB 1.02 kB 876 B
assets/rolldown-runtime-xtsTai4I.js (new) 2.07 kB 947 B 814 B
assets/TopBarHeader-DrGsbvUy.js (new) 2.01 kB 843 B 730 B
assets/video-inpaint-B0ovAfX_.js (new) 1.99 kB 957 B 823 B
assets/moonvalley-marey-DKF4OIv2.js (new) 1.98 kB 870 B 777 B
assets/image-to-layers-DCdlgpAV.js (new) 1.95 kB 868 B 705 B
assets/MediaImageTop-DVdFkMJE.js (new) 1.95 kB 927 B 795 B
assets/claude-COhIiCXc.js (new) 1.85 kB 1.03 kB 895 B
assets/text-to-audio-DpKEmv6s.js (new) 1.84 kB 860 B 735 B
assets/TypeformEmbed-DaGPjMO9.js (new) 1.83 kB 810 B 713 B
assets/anthropic-BWmduUeu.js (new) 1.79 kB 1 kB 871 B
assets/wavespeed-Cf_Y-WE-.js (new) 1.78 kB 953 B 808 B
assets/MediaTextTop-DJyhV4a3.js (new) 1.77 kB 853 B 727 B
assets/pin-BBhiJ-Ro.js (new) 1.75 kB 981 B 849 B
assets/bria-01tswOT4.js (new) 1.74 kB 863 B 746 B
assets/auto-E0RPASnx.js (new) 1.7 kB 619 B 548 B
assets/video-interpolation-E1ZYZfjz.js (new) 1.7 kB 816 B 702 B
assets/WidgetColorPicker-BKw7fh7J.js (new) 1.69 kB 756 B 671 B
assets/voice-clone-CLECE4e1.js (new) 1.67 kB 878 B 709 B
assets/image-select-object-segmentation-pTwgE7RS.js (new) 1.66 kB 822 B 709 B
assets/Loader-DUmcO9m4.js (new) 1.64 kB 782 B 712 B
assets/WidgetColors-JukJ-xzC.js (new) 1.63 kB 805 B 708 B
assets/MediaAudioTop-DBN23UoW.js (new) 1.62 kB 807 B 668 B
assets/veo-CGwt9Auf.js (new) 1.62 kB 843 B 751 B
assets/stability-ai-GsPHcQLg.js (new) 1.61 kB 819 B 709 B
assets/bytedance-BAE74qy_.js (new) 1.61 kB 852 B 745 B
assets/pose-to-image-BvUGgc9H.js (new) 1.58 kB 819 B 689 B
assets/Textarea-DGRWK7cp.js (new) 1.56 kB 812 B 714 B
assets/image-collage-e-ttxsAp.js (new) 1.55 kB 613 B 493 B
assets/signInSchema-Cj1n3t4N.js (new) 1.55 kB 555 B 513 B
assets/webviewDetection-G_eepi8c.js (new) 1.52 kB 613 B 548 B
assets/image-to-3d-DZ2fsCrF.js (new) 1.52 kB 764 B 659 B
assets/pose-to-video-C6gVRnB7.js (new) 1.5 kB 785 B 667 B
assets/comfyCredits-QD6D3aQ0.js (new) 1.48 kB 530 B 462 B
assets/widgetPropFilter-C6CiCSHV.js (new) 1.47 kB 670 B 547 B
assets/VideoPlayOverlay-D2wYJwv2.js (new) 1.46 kB 730 B 645 B
assets/image-vectorize-BPJBhZHU.js (new) 1.42 kB 683 B 594 B
assets/reve-D4nsQmOA.js (new) 1.41 kB 736 B 571 B
assets/video-upscale-DHzmQ_zv.js (new) 1.4 kB 698 B 598 B
assets/comfy-c-rvqaaLz6.js (new) 1.4 kB 795 B 689 B
assets/image-edit-D9ce-d34.js (new) 1.34 kB 701 B 609 B
assets/grok-Bn_ZS4mR.js (new) 1.34 kB 794 B 666 B
assets/runway-dTJ-BZlC.js (new) 1.34 kB 748 B 645 B
assets/depth-to-image-CVaRR23Y.js (new) 1.33 kB 718 B 616 B
assets/image-ai-edit-Bmy-5CCv.js (new) 1.33 kB 622 B 531 B
assets/canny-to-image-DcTSZY12.js (new) 1.32 kB 687 B 593 B
assets/video-select-object-segmentation-BXcZZs7A.js (new) 1.31 kB 688 B 570 B
assets/image-depth-DkhlVZog.js (new) 1.28 kB 681 B 590 B
assets/image-to-image-BqSVcceo.js (new) 1.26 kB 638 B 551 B
assets/depth-to-video-i-UPkQlp.js (new) 1.25 kB 682 B 587 B
assets/text-to-3d-CP_26bwF.js (new) 1.24 kB 650 B 565 B
assets/ButtonGroup-D1QIwxch.js (new) 1.24 kB 645 B 562 B
assets/canny-to-video-Cn0VChNR.js (new) 1.24 kB 657 B 564 B
assets/ai-model-C8iGlxMz.js (new) 1.19 kB 575 B 501 B
assets/3d-decomp-RjA0gFmA.js (new) 1.19 kB 597 B 514 B
assets/DialogClose-gJ1XljK8.js (new) 1.18 kB 611 B 548 B
assets/image-to-video-jztf067S.js (new) 1.18 kB 621 B 529 B
assets/mask-cDEa-6-s.js (new) 1.16 kB 500 B 436 B
assets/batch-images-node-zQB_peEw.js (new) 1.13 kB 597 B 508 B
assets/image-canny-B3ZrILNA.js (new) 1.13 kB 604 B 515 B
assets/canny-J_xT5t3B.js (new) 1.11 kB 595 B 514 B
assets/image-batch-DMOK_HMA.js (new) 1.11 kB 591 B 501 B
assets/recraft-DZ2oKkMO.js (new) 1.1 kB 556 B 484 B
assets/image-upscale-nq0-_m-2.js (new) 1.05 kB 558 B 473 B
assets/video-edit-DoAUmDnG.js (new) 1.04 kB 593 B 503 B
assets/MediaOtherTop-Bih2juu_.js (new) 1.02 kB 574 B 464 B
assets/extensions-blocks-Dl5rqs4I.js (new) 1.02 kB 543 B 460 B
assets/glow-QcBFWyCA.js (new) 1.02 kB 468 B 402 B
assets/nodeTypes-Bwqk5SXD.js (new) 1.01 kB 447 B 381 B
assets/template-rnD0AK7u.js (new) 993 B 498 B 426 B
assets/video-trim-DqUDHzQc.js (new) 977 B 509 B 437 B
assets/image-remove-background-Cg3Xau6F.js (new) 975 B 525 B 445 B
assets/frames-to-video-CZ7-VxFj.js (new) 955 B 535 B 448 B
assets/file-output-CQ0ZWFnN.js (new) 943 B 545 B 468 B
assets/image-compare-DdB4fbII.js (new) 943 B 537 B 460 B
assets/open-ai-chat-node-BaQlo11G.js (new) 942 B 518 B 440 B
assets/dial-JJKuN71R.js (new) 941 B 474 B 407 B
assets/cloudSessionCookie-CRdRIfip.js (new) 933 B 432 B 378 B
assets/cloudBadges-DX8Y46FY.js (new) 922 B 515 B 467 B
assets/ComfyOrgHeader-DHnXyu2w.js (new) 906 B 496 B 432 B
assets/image-rotate-BZVAXcdZ.js (new) 899 B 499 B 431 B
assets/magnific-DyoOXzaM.js (new) 894 B 441 B 380 B
assets/image-captioning-DreocsxD.js (new) 891 B 489 B 416 B
assets/lora-loader-CqTfu1TX.js (new) 845 B 518 B 441 B
assets/load-3d-ChaXqnVx.js (new) 844 B 503 B 432 B
assets/save-3d-CYwbkXZ2.js (new) 838 B 499 B 427 B
assets/video-slice-RfomFSXB.js (new) 833 B 452 B 380 B
assets/load3dSerialize-BIPv2l0M.js (new) 832 B 393 B 336 B
assets/video-extract-frame-DpM1yIqF.js (new) 832 B 459 B 382 B
assets/credits-rxDHmus9.js (new) 821 B 358 B 302 B
assets/channels-CWzr-AGk.js (new) 808 B 392 B 324 B
assets/text-to-image-CkeH6vgx.js (new) 763 B 468 B 389 B
assets/Load3DAdvanced-BJakcxYy.js (new) 761 B 421 B 358 B
assets/bfl-D0kEkSSj.js (new) 745 B 454 B 384 B
assets/chromatic-aberration-AddZTK2j.js (new) 740 B 420 B 356 B
assets/image-blur-2EtiuWuI.js (new) 718 B 429 B 360 B
assets/quiver-DVpoQpQ5.js (new) 694 B 430 B 364 B
assets/image-shader-DWifxCrB.js (new) 685 B 398 B 336 B
assets/text-to-video-BecNw9zw.js (new) 685 B 436 B 365 B
assets/devFeatureFlagOverride-D9x6Noj0.js (new) 680 B 427 B 354 B
assets/video-enhance-BQCy6-3e.js (new) 671 B 412 B 344 B
assets/image-sharpen-BSWKHqeL.js (new) 662 B 414 B 351 B
assets/send-CCfAcvOS.js (new) 658 B 410 B 336 B
assets/video-captioning-DEya6ZKv.js (new) 628 B 390 B 329 B
assets/topaz-DRomf3uD.js (new) 618 B 389 B 337 B
assets/node-9_S0T5yn.js (new) 554 B 400 B 345 B
assets/subscriptionCancellationTelemetry-BF-Zq8Rx.js (new) 546 B 333 B 287 B
assets/load-video-CGUIEnct.js (new) 518 B 348 B 296 B
assets/widgetTypes-Cf58xZw1.js (new) 514 B 280 B 272 B
assets/save-video-BJqLQPeC.js (new) 512 B 348 B 292 B
assets/vRekaZIndex-DE5prqA2.js (new) 505 B 331 B 273 B
assets/telemetry-IkzvF0TI.js (new) 499 B 299 B 243 B
assets/text-prompt-enhance-Bmq8gDVO.js (new) 492 B 339 B 280 B
assets/load-audio-epQbRZsp.js (new) 460 B 320 B 268 B
assets/save-audio-DZVtSVp_.js (new) 454 B 319 B 265 B
assets/nightlyBadges-C3kQcRqd.js (new) 411 B 272 B 231 B
assets/src-CZvY4J5n.js (new) 407 B 290 B 245 B
assets/elevenlabs-BVR3dQ8G.js (new) 388 B 286 B 232 B
assets/play-BFqV6tIE.js (new) 369 B 256 B 225 B
assets/cloud-subscription-DJ2DFeD9.js (new) 223 B 154 B 133 B
assets/comfy-logo-single-B7u6lN8V.js (new) 217 B 154 B 117 B
assets/Load3dViewerContent-DO4xX4-S.js (new) 137 B 103 B 91 B
assets/WidgetBoundingBox-CkSvQALG.js (new) 131 B 100 B 107 B
assets/missingModelMetadata-DgI1rzlM.js (new) 125 B 103 B 98 B
assets/Load3DAdvanced-C1-Dq5SV.js (new) 122 B 97 B 90 B
assets/types-t0xJOOCt.js (new) 120 B 124 B 83 B
assets/WidgetLegacy-COhl9ObB.js (new) 117 B 106 B 103 B
assets/workflowDraftStoreV2-CUiKm3cS.js (new) 112 B 101 B 111 B
assets/Load3D-Bk_ebQ92.js (new) 98 B 89 B 87 B
assets/i18n-jyVBRlrl.js (new) 97 B 92 B 85 B
assets/dist-Bp3Fn1Wt.js (new) 96 B 102 B 91 B
assets/startRecording-BOV6MsgY.js (new) 95 B 96 B 92 B
assets/changeTracker-IQ-4RK6B.js (new) 91 B 93 B 88 B

Status: 286 added

⚡ Performance Report

canvas-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 66.3 MB heap
canvas-mouse-sweep: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 46.4 MB heap
canvas-zoom-sweep: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 69.1 MB heap
dom-widget-clipping: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 50.9 MB heap
large-graph-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 69.2 MB heap
large-graph-pan: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 60.1 MB heap
large-graph-zoom: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 64.2 MB heap
minimap-idle: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 70.7 MB heap
subgraph-dom-widget-clipping: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 51.6 MB heap
subgraph-idle: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 66.6 MB heap
subgraph-mouse-sweep: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 58.1 MB heap
subgraph-transition-enter: · 60.0 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 128ms TBT · 71.9 MB heap
viewport-pan-sweep: · 60.0 avg FPS · 59.7 P5 FPS ✅ (target: ≥52) · 0ms TBT · 68.5 MB heap
vue-large-graph-idle: · 56.2 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 0ms TBT · 159.6 MB heap
vue-large-graph-pan: · 56.2 avg FPS · 59.5 P5 FPS ✅ (target: ≥52) · 93ms TBT · 166.2 MB heap
workflow-execution: · 60.0 avg FPS · 59.9 P5 FPS ✅ (target: ≥52) · 0ms TBT · 64.6 MB heap

ℹ️ No baseline found — significance unavailable.

Absolute values
Metric Value
canvas-idle: avg frame time 17ms
canvas-idle: p95 frame time 17ms
canvas-idle: layout duration 0ms
canvas-idle: style recalc duration 9ms
canvas-idle: layout count 0
canvas-idle: style recalc count 10
canvas-idle: task duration 575ms
canvas-idle: script duration 11ms
canvas-idle: TBT 0ms
canvas-idle: heap used 66.3 MB
canvas-idle: DOM nodes 20
canvas-idle: event listeners 4
canvas-mouse-sweep: avg frame time 17ms
canvas-mouse-sweep: p95 frame time 17ms
canvas-mouse-sweep: layout duration 4ms
canvas-mouse-sweep: style recalc duration 39ms
canvas-mouse-sweep: layout count 12
canvas-mouse-sweep: style recalc count 76
canvas-mouse-sweep: task duration 918ms
canvas-mouse-sweep: script duration 112ms
canvas-mouse-sweep: TBT 0ms
canvas-mouse-sweep: heap used 46.4 MB
canvas-mouse-sweep: DOM nodes -282
canvas-mouse-sweep: event listeners -153
canvas-zoom-sweep: avg frame time 17ms
canvas-zoom-sweep: p95 frame time 17ms
canvas-zoom-sweep: layout duration 1ms
canvas-zoom-sweep: style recalc duration 17ms
canvas-zoom-sweep: layout count 6
canvas-zoom-sweep: style recalc count 31
canvas-zoom-sweep: task duration 390ms
canvas-zoom-sweep: script duration 11ms
canvas-zoom-sweep: TBT 0ms
canvas-zoom-sweep: heap used 69.1 MB
canvas-zoom-sweep: DOM nodes 76
canvas-zoom-sweep: event listeners 19
dom-widget-clipping: avg frame time 17ms
dom-widget-clipping: p95 frame time 17ms
dom-widget-clipping: layout duration 0ms
dom-widget-clipping: style recalc duration 10ms
dom-widget-clipping: layout count 0
dom-widget-clipping: style recalc count 12
dom-widget-clipping: task duration 398ms
dom-widget-clipping: script duration 56ms
dom-widget-clipping: TBT 0ms
dom-widget-clipping: heap used 50.9 MB
dom-widget-clipping: DOM nodes 20
dom-widget-clipping: event listeners 0
large-graph-idle: avg frame time 17ms
large-graph-idle: p95 frame time 17ms
large-graph-idle: layout duration 0ms
large-graph-idle: style recalc duration 7ms
large-graph-idle: layout count 0
large-graph-idle: style recalc count 9
large-graph-idle: task duration 641ms
large-graph-idle: script duration 17ms
large-graph-idle: TBT 0ms
large-graph-idle: heap used 69.2 MB
large-graph-idle: DOM nodes -282
large-graph-idle: event listeners -149
large-graph-pan: avg frame time 17ms
large-graph-pan: p95 frame time 17ms
large-graph-pan: layout duration 0ms
large-graph-pan: style recalc duration 15ms
large-graph-pan: layout count 0
large-graph-pan: style recalc count 69
large-graph-pan: task duration 1182ms
large-graph-pan: script duration 314ms
large-graph-pan: TBT 0ms
large-graph-pan: heap used 60.1 MB
large-graph-pan: DOM nodes -283
large-graph-pan: event listeners -163
large-graph-zoom: avg frame time 17ms
large-graph-zoom: p95 frame time 17ms
large-graph-zoom: layout duration 8ms
large-graph-zoom: style recalc duration 16ms
large-graph-zoom: layout count 60
large-graph-zoom: style recalc count 66
large-graph-zoom: task duration 1373ms
large-graph-zoom: script duration 382ms
large-graph-zoom: TBT 0ms
large-graph-zoom: heap used 64.2 MB
large-graph-zoom: DOM nodes -137
large-graph-zoom: event listeners -73
minimap-idle: avg frame time 17ms
minimap-idle: p95 frame time 17ms
minimap-idle: layout duration 0ms
minimap-idle: style recalc duration 7ms
minimap-idle: layout count 0
minimap-idle: style recalc count 8
minimap-idle: task duration 654ms
minimap-idle: script duration 16ms
minimap-idle: TBT 0ms
minimap-idle: heap used 70.7 MB
minimap-idle: DOM nodes -284
minimap-idle: event listeners -148
subgraph-dom-widget-clipping: avg frame time 17ms
subgraph-dom-widget-clipping: p95 frame time 17ms
subgraph-dom-widget-clipping: layout duration 0ms
subgraph-dom-widget-clipping: style recalc duration 12ms
subgraph-dom-widget-clipping: layout count 0
subgraph-dom-widget-clipping: style recalc count 48
subgraph-dom-widget-clipping: task duration 414ms
subgraph-dom-widget-clipping: script duration 123ms
subgraph-dom-widget-clipping: TBT 0ms
subgraph-dom-widget-clipping: heap used 51.6 MB
subgraph-dom-widget-clipping: DOM nodes 21
subgraph-dom-widget-clipping: event listeners 6
subgraph-idle: avg frame time 17ms
subgraph-idle: p95 frame time 17ms
subgraph-idle: layout duration 0ms
subgraph-idle: style recalc duration 8ms
subgraph-idle: layout count 0
subgraph-idle: style recalc count 10
subgraph-idle: task duration 478ms
subgraph-idle: script duration 8ms
subgraph-idle: TBT 0ms
subgraph-idle: heap used 66.6 MB
subgraph-idle: DOM nodes 19
subgraph-idle: event listeners 4
subgraph-mouse-sweep: avg frame time 17ms
subgraph-mouse-sweep: p95 frame time 17ms
subgraph-mouse-sweep: layout duration 5ms
subgraph-mouse-sweep: style recalc duration 37ms
subgraph-mouse-sweep: layout count 16
subgraph-mouse-sweep: style recalc count 77
subgraph-mouse-sweep: task duration 765ms
subgraph-mouse-sweep: script duration 85ms
subgraph-mouse-sweep: TBT 0ms
subgraph-mouse-sweep: heap used 58.1 MB
subgraph-mouse-sweep: DOM nodes 62
subgraph-mouse-sweep: event listeners 4
subgraph-transition-enter: avg frame time 17ms
subgraph-transition-enter: p95 frame time 17ms
subgraph-transition-enter: layout duration 11ms
subgraph-transition-enter: style recalc duration 30ms
subgraph-transition-enter: layout count 13
subgraph-transition-enter: style recalc count 18
subgraph-transition-enter: task duration 1019ms
subgraph-transition-enter: script duration 19ms
subgraph-transition-enter: TBT 128ms
subgraph-transition-enter: heap used 71.9 MB
subgraph-transition-enter: DOM nodes 13673
subgraph-transition-enter: event listeners 2375
viewport-pan-sweep: avg frame time 17ms
viewport-pan-sweep: p95 frame time 17ms
viewport-pan-sweep: layout duration 0ms
viewport-pan-sweep: style recalc duration 42ms
viewport-pan-sweep: layout count 0
viewport-pan-sweep: style recalc count 249
viewport-pan-sweep: task duration 4158ms
viewport-pan-sweep: script duration 963ms
viewport-pan-sweep: TBT 0ms
viewport-pan-sweep: heap used 68.5 MB
viewport-pan-sweep: DOM nodes -282
viewport-pan-sweep: event listeners -148
vue-large-graph-idle: avg frame time 18ms
vue-large-graph-idle: p95 frame time 17ms
vue-large-graph-idle: layout duration 0ms
vue-large-graph-idle: style recalc duration 0ms
vue-large-graph-idle: layout count 0
vue-large-graph-idle: style recalc count 0
vue-large-graph-idle: task duration 17622ms
vue-large-graph-idle: script duration 152ms
vue-large-graph-idle: TBT 0ms
vue-large-graph-idle: heap used 159.6 MB
vue-large-graph-idle: DOM nodes -8312
vue-large-graph-idle: event listeners -16387
vue-large-graph-pan: avg frame time 18ms
vue-large-graph-pan: p95 frame time 17ms
vue-large-graph-pan: layout duration 0ms
vue-large-graph-pan: style recalc duration 22ms
vue-large-graph-pan: layout count 0
vue-large-graph-pan: style recalc count 173
vue-large-graph-pan: task duration 21197ms
vue-large-graph-pan: script duration 441ms
vue-large-graph-pan: TBT 93ms
vue-large-graph-pan: heap used 166.2 MB
vue-large-graph-pan: DOM nodes -8312
vue-large-graph-pan: event listeners -16384
workflow-execution: avg frame time 17ms
workflow-execution: p95 frame time 17ms
workflow-execution: layout duration 1ms
workflow-execution: style recalc duration 17ms
workflow-execution: layout count 3
workflow-execution: style recalc count 11
workflow-execution: task duration 96ms
workflow-execution: script duration 6ms
workflow-execution: TBT 0ms
workflow-execution: heap used 64.6 MB
workflow-execution: DOM nodes 118
workflow-execution: event listeners 73
Raw data
{
  "timestamp": "2026-08-15T00:54:25.148Z",
  "gitSha": "089bc1e51814e267e4e58b211c27685d9a67a1da",
  "branch": "bl/i18n-openai-client-contract",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2154.305000000022,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 10.991,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 652.686,
      "heapDeltaBytes": 4975252,
      "heapUsedBytes": 69410100,
      "domNodes": 22,
      "jsHeapTotalBytes": 25427968,
      "scriptDurationMs": 12.39,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "canvas-idle",
      "durationMs": 2017.2829999999635,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.958999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 496.82400000000007,
      "heapDeltaBytes": 4993460,
      "heapUsedBytes": 69527404,
      "domNodes": 18,
      "jsHeapTotalBytes": 24379392,
      "scriptDurationMs": 8.788999999999998,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1884.6410000000446,
      "styleRecalcs": 75,
      "styleRecalcDurationMs": 37.856,
      "layouts": 12,
      "layoutDurationMs": 3.7849999999999993,
      "taskDurationMs": 900.606,
      "heapDeltaBytes": -16045620,
      "heapUsedBytes": 48435128,
      "domNodes": -281,
      "jsHeapTotalBytes": 23040000,
      "scriptDurationMs": 108.749,
      "eventListeners": -153,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1904.7390000000632,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 40.99,
      "layouts": 12,
      "layoutDurationMs": 3.9439999999999995,
      "taskDurationMs": 936.1500000000001,
      "heapDeltaBytes": -15599668,
      "heapUsedBytes": 48887696,
      "domNodes": -282,
      "jsHeapTotalBytes": 23302144,
      "scriptDurationMs": 114.86000000000001,
      "eventListeners": -153,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1721.576999999968,
      "styleRecalcs": 32,
      "styleRecalcDurationMs": 16.214,
      "layouts": 6,
      "layoutDurationMs": 0.6680000000000001,
      "taskDurationMs": 366.475,
      "heapDeltaBytes": 7916476,
      "heapUsedBytes": 72352020,
      "domNodes": 77,
      "jsHeapTotalBytes": 24641536,
      "scriptDurationMs": 10,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "canvas-zoom-sweep",
      "durationMs": 1751.7259999999624,
      "styleRecalcs": 30,
      "styleRecalcDurationMs": 17.693,
      "layouts": 6,
      "layoutDurationMs": 0.6719999999999998,
      "taskDurationMs": 414.006,
      "heapDeltaBytes": 8042228,
      "heapUsedBytes": 72629860,
      "domNodes": 75,
      "jsHeapTotalBytes": 24903680,
      "scriptDurationMs": 12.584999999999999,
      "eventListeners": 19,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 624.2770000000064,
      "styleRecalcs": 13,
      "styleRecalcDurationMs": 8.941999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 392.93699999999995,
      "heapDeltaBytes": -11099364,
      "heapUsedBytes": 53511216,
      "domNodes": 22,
      "jsHeapTotalBytes": 25165824,
      "scriptDurationMs": 55.615,
      "eventListeners": 0,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 607.7810000000454,
      "styleRecalcs": 11,
      "styleRecalcDurationMs": 10.899,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 402.14799999999997,
      "heapDeltaBytes": -11324864,
      "heapUsedBytes": 53220352,
      "domNodes": 18,
      "jsHeapTotalBytes": 24903680,
      "scriptDurationMs": 57.00600000000001,
      "eventListeners": 0,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2037.842000000012,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 7.162000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 600.365,
      "heapDeltaBytes": 12695600,
      "heapUsedBytes": 72292060,
      "domNodes": -281,
      "jsHeapTotalBytes": 2719744,
      "scriptDurationMs": 15.047999999999998,
      "eventListeners": -149,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-idle",
      "durationMs": 2041.439999999966,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 7.195999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 681.7200000000001,
      "heapDeltaBytes": 12916404,
      "heapUsedBytes": 72895340,
      "domNodes": -283,
      "jsHeapTotalBytes": 3506176,
      "scriptDurationMs": 19.324,
      "eventListeners": -149,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2170.659999999998,
      "styleRecalcs": 68,
      "styleRecalcDurationMs": 14.253999999999996,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1157.543,
      "heapDeltaBytes": -7084360,
      "heapUsedBytes": 54353836,
      "domNodes": -282,
      "jsHeapTotalBytes": 3768320,
      "scriptDurationMs": 312.67499999999995,
      "eventListeners": -177,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-pan",
      "durationMs": 2188.5859999999866,
      "styleRecalcs": 69,
      "styleRecalcDurationMs": 15.935,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 1207.0159999999998,
      "heapDeltaBytes": 10791052,
      "heapUsedBytes": 71594080,
      "domNodes": -283,
      "jsHeapTotalBytes": 3436544,
      "scriptDurationMs": 314.73699999999997,
      "eventListeners": -149,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66999999999998,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3147.498999999982,
      "styleRecalcs": 65,
      "styleRecalcDurationMs": 15.377000000000002,
      "layouts": 60,
      "layoutDurationMs": 8.357999999999999,
      "taskDurationMs": 1375.334,
      "heapDeltaBytes": -6264208,
      "heapUsedBytes": 55451600,
      "domNodes": -287,
      "jsHeapTotalBytes": 2719744,
      "scriptDurationMs": 377.85999999999996,
      "eventListeners": -153,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "large-graph-zoom",
      "durationMs": 3161.654999999996,
      "styleRecalcs": 66,
      "styleRecalcDurationMs": 17.005,
      "layouts": 60,
      "layoutDurationMs": 8.570999999999998,
      "taskDurationMs": 1370.942,
      "heapDeltaBytes": 17293056,
      "heapUsedBytes": 79081720,
      "domNodes": 14,
      "jsHeapTotalBytes": 5505024,
      "scriptDurationMs": 386.797,
      "eventListeners": 8,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    },
    {
      "name": "minimap-idle",
      "durationMs": 2032.794000000024,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 7.677999999999997,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 623.4699999999999,
      "heapDeltaBytes": 13229640,
      "heapUsedBytes": 74550712,
      "domNodes": -285,
      "jsHeapTotalBytes": 2457600,
      "scriptDurationMs": 14.176000000000002,
      "eventListeners": -147,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "minimap-idle",
      "durationMs": 2043.3309999999665,
      "styleRecalcs": 7,
      "styleRecalcDurationMs": 6.6160000000000005,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 685.222,
      "heapDeltaBytes": 12613752,
      "heapUsedBytes": 73684284,
      "domNodes": -282,
      "jsHeapTotalBytes": 1933312,
      "scriptDurationMs": 17.531,
      "eventListeners": -149,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 590.7230000000254,
      "styleRecalcs": 47,
      "styleRecalcDurationMs": 10.72,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 401.021,
      "heapDeltaBytes": -10794020,
      "heapUsedBytes": 53860628,
      "domNodes": 20,
      "jsHeapTotalBytes": 26214400,
      "scriptDurationMs": 118.241,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 628.5030000000233,
      "styleRecalcs": 48,
      "styleRecalcDurationMs": 12.551000000000002,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 427.12800000000004,
      "heapDeltaBytes": -10218328,
      "heapUsedBytes": 54248020,
      "domNodes": 22,
      "jsHeapTotalBytes": 25690112,
      "scriptDurationMs": 126.83800000000001,
      "eventListeners": 6,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.670000000000012,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2003.4239999999954,
      "styleRecalcs": 10,
      "styleRecalcDurationMs": 7.582,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 466.70899999999995,
      "heapDeltaBytes": 4984376,
      "heapUsedBytes": 69730508,
      "domNodes": 20,
      "jsHeapTotalBytes": 24641536,
      "scriptDurationMs": 7.308999999999999,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2005.0119999999652,
      "styleRecalcs": 9,
      "styleRecalcDurationMs": 8.154,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 488.77500000000003,
      "heapDeltaBytes": 5240116,
      "heapUsedBytes": 69970384,
      "domNodes": 18,
      "jsHeapTotalBytes": 25165824,
      "scriptDurationMs": 7.838000000000001,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1693.6979999999835,
      "styleRecalcs": 76,
      "styleRecalcDurationMs": 35.642,
      "layouts": 16,
      "layoutDurationMs": 4.559,
      "taskDurationMs": 741.2520000000001,
      "heapDeltaBytes": -4096276,
      "heapUsedBytes": 60740308,
      "domNodes": 61,
      "jsHeapTotalBytes": 24903680,
      "scriptDurationMs": 80.891,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1696.0520000000088,
      "styleRecalcs": 77,
      "styleRecalcDurationMs": 37.81699999999999,
      "layouts": 16,
      "layoutDurationMs": 4.864999999999999,
      "taskDurationMs": 789.732,
      "heapDeltaBytes": -3677016,
      "heapUsedBytes": 61160184,
      "domNodes": 63,
      "jsHeapTotalBytes": 24903680,
      "scriptDurationMs": 89.048,
      "eventListeners": 4,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "subgraph-transition-enter",
      "durationMs": 1400.699999999972,
      "styleRecalcs": 18,
      "styleRecalcDurationMs": 29.959,
      "layouts": 13,
      "layoutDurationMs": 11.439000000000002,
      "taskDurationMs": 1018.7169999999999,
      "heapDeltaBytes": -7804740,
      "heapUsedBytes": 75421428,
      "domNodes": 13673,
      "jsHeapTotalBytes": 12582912,
      "scriptDurationMs": 18.597999999999995,
      "eventListeners": 2375,
      "totalBlockingTimeMs": 128,
      "frameDurationMs": 16.66333333333335,
      "p95FrameDurationMs": 16.800000000000182
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8275.041999999985,
      "styleRecalcs": 249,
      "styleRecalcDurationMs": 41.562000000000005,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4133.612,
      "heapDeltaBytes": 14182388,
      "heapUsedBytes": 74455500,
      "domNodes": -283,
      "jsHeapTotalBytes": 3960832,
      "scriptDurationMs": 959.083,
      "eventListeners": -133,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "viewport-pan-sweep",
      "durationMs": 8248.353999999948,
      "styleRecalcs": 249,
      "styleRecalcDurationMs": 42.111000000000004,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 4182.603999999999,
      "heapDeltaBytes": 9286196,
      "heapUsedBytes": 69255372,
      "domNodes": -281,
      "jsHeapTotalBytes": 3436544,
      "scriptDurationMs": 966.5780000000001,
      "eventListeners": -163,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.80000000000109
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 18347.053000000018,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 17430.695,
      "heapDeltaBytes": -42838144,
      "heapUsedBytes": 167442732,
      "domNodes": -8312,
      "jsHeapTotalBytes": -10948608,
      "scriptDurationMs": 157.67999999999998,
      "eventListeners": -16387,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-idle",
      "durationMs": 18732.56900000001,
      "styleRecalcs": 0,
      "styleRecalcDurationMs": 0,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 17813.164,
      "heapDeltaBytes": -30535796,
      "heapUsedBytes": 167285884,
      "domNodes": -8312,
      "jsHeapTotalBytes": -13012992,
      "scriptDurationMs": 146.436,
      "eventListeners": -16387,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 17.780000000000047,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 21490.553999999975,
      "styleRecalcs": 166,
      "styleRecalcDurationMs": 20.828999999999986,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 20839.317000000003,
      "heapDeltaBytes": -47316172,
      "heapUsedBytes": 163379880,
      "domNodes": -8312,
      "jsHeapTotalBytes": -14622720,
      "scriptDurationMs": 460.844,
      "eventListeners": -16383,
      "totalBlockingTimeMs": 103,
      "frameDurationMs": 17.779999999999927,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "vue-large-graph-pan",
      "durationMs": 22157.036999999946,
      "styleRecalcs": 179,
      "styleRecalcDurationMs": 22.919000000000022,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 21555.512,
      "heapDeltaBytes": -12169268,
      "heapUsedBytes": 185253724,
      "domNodes": -8312,
      "jsHeapTotalBytes": -11804672,
      "scriptDurationMs": 420.27899999999994,
      "eventListeners": -16385,
      "totalBlockingTimeMs": 83,
      "frameDurationMs": 17.776666666666642,
      "p95FrameDurationMs": 16.799999999999272
    },
    {
      "name": "workflow-execution",
      "durationMs": 107.516999999973,
      "styleRecalcs": 8,
      "styleRecalcDurationMs": 14.396,
      "layouts": 2,
      "layoutDurationMs": 0.49200000000000005,
      "taskDurationMs": 78.779,
      "heapDeltaBytes": 3161144,
      "heapUsedBytes": 66787944,
      "domNodes": 113,
      "jsHeapTotalBytes": 3145728,
      "scriptDurationMs": 5.606999999999999,
      "eventListeners": 49,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.700000000000728
    },
    {
      "name": "workflow-execution",
      "durationMs": 455.01600000000053,
      "styleRecalcs": 14,
      "styleRecalcDurationMs": 20.549000000000003,
      "layouts": 3,
      "layoutDurationMs": 0.8049999999999999,
      "taskDurationMs": 112.644,
      "heapDeltaBytes": 4928348,
      "heapUsedBytes": 68679572,
      "domNodes": 123,
      "jsHeapTotalBytes": 5242880,
      "scriptDurationMs": 7.357000000000001,
      "eventListeners": 97,
      "totalBlockingTimeMs": 0,
      "frameDurationMs": 16.666666666666668,
      "p95FrameDurationMs": 16.699999999999818
    }
  ]
}

@github-actions github-actions Bot added the risk:R2 PR risk grade (advisory shadow check; grader-owned) label Aug 14, 2026
@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@                       Coverage Diff                        @@
##           bl/i18n-automation-reliability   #15229    +/-   ##
================================================================
  Coverage                           81.87%   81.87%            
================================================================
  Files                                1884     1884            
  Lines                              118158   118158            
  Branches                            36173    35703   -470     
================================================================
  Hits                                96742    96742            
  Misses                              20962    20962            
  Partials                              454      454            
Flag Coverage Δ
unit 72.84% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@benceruleanlu
benceruleanlu force-pushed the bl/i18n-openai-client-contract branch from 66d728d to ea943db Compare August 14, 2026 23:16
@benceruleanlu
benceruleanlu force-pushed the bl/i18n-openai-client-contract branch from ea943db to 532abef Compare August 14, 2026 23:54
@benceruleanlu
benceruleanlu marked this pull request as ready for review August 15, 2026 00:12
@benceruleanlu
benceruleanlu requested a review from a team August 15, 2026 00:12
@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Aug 15, 2026
@benceruleanlu
benceruleanlu force-pushed the bl/i18n-openai-client-contract branch from aa4f9d5 to ad6a441 Compare August 15, 2026 00:12
Keep valid strings when a batch response contains a non-string value so the
missing ids route through the existing retry-note rounds instead of failing
the locale. Cut malformed-response retries to one, and report the locales
that actually have pending work in the translation preflight.
@benceruleanlu
benceruleanlu force-pushed the bl/i18n-openai-client-contract branch from ad6a441 to ba3590f Compare August 15, 2026 00:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:R2 PR risk grade (advisory shadow check; grader-owned) size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants