Skip to content

refactor(featureFlags): centralize ?ff= reading with the other query-state readers - #15044

Merged
huang47 merged 1 commit into
mainfrom
glary/centralize-ff-query-reading
Aug 12, 2026
Merged

refactor(featureFlags): centralize ?ff= reading with the other query-state readers#15044
huang47 merged 1 commit into
mainfrom
glary/centralize-ff-query-reading

Conversation

@huang47

@huang47 huang47 commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Reuse Vue Router's existing query parser for ?ff= instead of parsing window.location.search independently with URLSearchParams.

Changes

  • Replace the local URLSearchParams reader in sessionFeatureFlagOverride.ts with parseQuery.
  • Preserve pre-router synchronous access, repeated ?ff= parameters, nameless clearing, typed values, persistence, and employee gating.
  • No new modules, router hooks, state, dependencies, or tests.

Fixes FE-1551

Verification

  • pnpm test:unit src/utils/sessionFeatureFlagOverride.test.ts
  • pnpm typecheck
  • pnpm lint
  • pnpm knip
  • pnpm exec oxfmt --check src/utils/sessionFeatureFlagOverride.ts

@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown

🎭 Playwright: ✅ 1804 passed, 0 failed · 1 flaky

📊 Browser Reports
  • chromium: View Report (✅ 1783 / ❌ 0 / ⚠️ 1 / ⏭️ 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)

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 08/11/2026, 10:53:28 PM UTC

Links

📦 Bundle: 8.69 MB gzip 🔴 +345 B

Details

Summary

  • Raw size: 36.7 MB baseline 36.7 MB — 🔴 +39 B
  • Gzip: 8.69 MB baseline 8.69 MB — 🔴 +345 B
  • Brotli: 6.06 MB baseline 6.06 MB — 🟢 -122 B
  • Bundles: 436 current • 436 baseline • 224 added / 224 removed

Category Glance
Vendor & Third-Party 🔴 +22 B (16.3 MB) · Other 🔴 +10 B (14 MB) · Editors & Dialogs 🔴 +2 B (125 kB) · Views & Navigation 🔴 +2 B (124 kB) · Data & Services 🔴 +1 B (3.5 MB) · Graph Workspace 🔴 +1 B (1.36 MB) · + 5 more

App Entry Points — 3.67 kB (baseline 3.67 kB) • ⚪ 0 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-CnSzcPA2.js (new) 3.67 kB 🔴 +3.67 kB 🔴 +1.84 kB 🔴 +1.6 kB
assets/index-XOO5r9j7.js (removed) 3.67 kB 🟢 -3.67 kB 🟢 -1.84 kB 🟢 -1.59 kB

Status: 1 added / 1 removed

Graph Workspace — 1.36 MB (baseline 1.36 MB) • 🔴 +1 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-DqFlVoRB.js (new) 1.35 MB 🔴 +1.35 MB 🔴 +294 kB 🔴 +221 kB
assets/GraphView-D3yn5Mn5.js (removed) 1.35 MB 🟢 -1.35 MB 🟢 -294 kB 🟢 -221 kB
assets/WidgetCompositor-APsV3PLi.js (new) 8.17 kB 🔴 +8.17 kB 🔴 +2.76 kB 🔴 +2.45 kB
assets/WidgetCompositor-CDwnhaC9.js (removed) 8.17 kB 🟢 -8.17 kB 🟢 -2.75 kB 🟢 -2.45 kB

Status: 2 added / 2 removed / 1 unchanged

Views & Navigation — 124 kB (baseline 124 kB) • 🔴 +2 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-DnZT9lSK.js (new) 25 kB 🔴 +25 kB 🔴 +6.24 kB 🔴 +5.52 kB
assets/CloudSurveyView-CY8r7DJc.js (removed) 25 kB 🟢 -25 kB 🟢 -6.24 kB 🟢 -5.52 kB
assets/CloudLayoutView-CDF0t0LC.js (new) 21.8 kB 🔴 +21.8 kB 🔴 +6.57 kB 🔴 +5.74 kB
assets/CloudLayoutView-iHzQiZCP.js (removed) 21.8 kB 🟢 -21.8 kB 🟢 -6.56 kB 🟢 -5.74 kB
assets/OAuthConsentView-D8UBYPfB.js (removed) 15.5 kB 🟢 -15.5 kB 🟢 -4.25 kB 🟢 -3.71 kB
assets/OAuthConsentView-HOyiwKQV.js (new) 15.5 kB 🔴 +15.5 kB 🔴 +4.26 kB 🔴 +3.72 kB
assets/UserCheckView-BIWhhVyV.js (new) 8.75 kB 🔴 +8.75 kB 🔴 +2.19 kB 🔴 +1.9 kB
assets/UserCheckView-D3_s53Wm.js (removed) 8.75 kB 🟢 -8.75 kB 🟢 -2.19 kB 🟢 -1.9 kB
assets/CloudLoginView-Ba_t4Vm6.js (removed) 8.74 kB 🟢 -8.74 kB 🟢 -2.55 kB 🟢 -2.26 kB
assets/CloudLoginView-DnFaHE5C.js (new) 8.74 kB 🔴 +8.74 kB 🔴 +2.55 kB 🔴 +2.26 kB
assets/useCloudAuthPage-Cl4rN7Aj.js (new) 7.08 kB 🔴 +7.08 kB 🔴 +2.52 kB 🔴 +2.19 kB
assets/useCloudAuthPage-CzgDi3Hd.js (removed) 7.08 kB 🟢 -7.08 kB 🟢 -2.51 kB 🟢 -2.2 kB
assets/CloudSignupView-3Uvd-wTV.js (new) 6.56 kB 🔴 +6.56 kB 🔴 +2.17 kB 🔴 +1.91 kB
assets/CloudSignupView-BgcK04uR.js (removed) 6.56 kB 🟢 -6.56 kB 🟢 -2.17 kB 🟢 -1.91 kB
assets/WidgetTextPreview-BIGStghl.js (removed) 6.07 kB 🟢 -6.07 kB 🟢 -2.13 kB 🟢 -1.88 kB
assets/WidgetTextPreview-D4YccdHF.js (new) 6.07 kB 🔴 +6.07 kB 🔴 +2.13 kB 🔴 +1.9 kB
assets/CloudSubscriptionRedirectView-9G_mZQ15.js (removed) 6.05 kB 🟢 -6.05 kB 🟢 -2.25 kB 🟢 -1.96 kB
assets/CloudSubscriptionRedirectView-DC_YQQ4y.js (new) 6.05 kB 🔴 +6.05 kB 🔴 +2.25 kB 🔴 +1.96 kB
assets/UserSelectView-DB4L0Eou.js (new) 5.49 kB 🔴 +5.49 kB 🔴 +1.96 kB 🔴 +1.71 kB
assets/UserSelectView-DBwXFkTr.js (removed) 5.49 kB 🟢 -5.49 kB 🟢 -1.95 kB 🟢 -1.71 kB
assets/CloudForgotPasswordView-CZ23-tXW.js (removed) 4.97 kB 🟢 -4.97 kB 🟢 -1.72 kB 🟢 -1.49 kB
assets/CloudForgotPasswordView-o-nlzvP-.js (new) 4.97 kB 🔴 +4.97 kB 🔴 +1.73 kB 🔴 +1.5 kB
assets/CloudAuthTimeoutView-Be7F598x.js (new) 4.43 kB 🔴 +4.43 kB 🔴 +1.54 kB 🔴 +1.35 kB
assets/CloudAuthTimeoutView-BKP03nHE.js (removed) 4.43 kB 🟢 -4.43 kB 🟢 -1.54 kB 🟢 -1.33 kB
assets/OAuthLayoutView-B15cnSTl.js (new) 1.31 kB 🔴 +1.31 kB 🔴 +700 B 🔴 +586 B
assets/OAuthLayoutView-CZH2_cVN.js (removed) 1.31 kB 🟢 -1.31 kB 🟢 -696 B 🟢 -600 B
assets/CloudSorryContactSupportView-BeHeiYOs.js (removed) 1.14 kB 🟢 -1.14 kB 🟢 -578 B 🟢 -502 B
assets/CloudSorryContactSupportView-kNDO55x3.js (new) 1.14 kB 🔴 +1.14 kB 🔴 +579 B 🔴 +504 B
assets/layout-BZ215wfF.js (removed) 403 B 🟢 -403 B 🟢 -251 B 🟢 -206 B
assets/layout-CSmyoW6_.js (new) 403 B 🔴 +403 B 🔴 +252 B 🔴 +207 B
assets/WidgetTextPreview-7yd7KsT8.js (new) 131 B 🔴 +131 B 🔴 +100 B 🔴 +89 B
assets/WidgetTextPreview-CLz7Xeia.js (removed) 131 B 🟢 -131 B 🟢 -100 B 🟢 -90 B

Status: 16 added / 16 removed / 1 unchanged

Panels & Settings — 565 kB (baseline 565 kB) • ⚪ 0 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/KeybindingPanel-Bb0BveK4.js (removed) 49.4 kB 🟢 -49.4 kB 🟢 -9.94 kB 🟢 -8.81 kB
assets/KeybindingPanel-By66vYJe.js (new) 49.4 kB 🔴 +49.4 kB 🔴 +9.94 kB 🔴 +8.81 kB
assets/SecretsPanel-BqIrV3fq.js (new) 33.7 kB 🔴 +33.7 kB 🔴 +7.87 kB 🔴 +6.89 kB
assets/SecretsPanel-Ce1E7eE3.js (removed) 33.7 kB 🟢 -33.7 kB 🟢 -7.87 kB 🟢 -6.9 kB
assets/CreditsPanel-CP1ioakN.js (removed) 11.5 kB 🟢 -11.5 kB 🟢 -3.2 kB 🟢 -2.82 kB
assets/CreditsPanel-We48G4GR.js (new) 11.5 kB 🔴 +11.5 kB 🔴 +3.21 kB 🔴 +2.81 kB
assets/AboutPanel-BS0YXO9I.js (new) 11.2 kB 🔴 +11.2 kB 🔴 +3.03 kB 🔴 +2.73 kB
assets/AboutPanel-BwjYnm24.js (removed) 11.2 kB 🟢 -11.2 kB 🟢 -3.02 kB 🟢 -2.73 kB
assets/ExtensionPanel-b_48rOHH.js (removed) 9.19 kB 🟢 -9.19 kB 🟢 -2.51 kB 🟢 -2.22 kB
assets/ExtensionPanel-B-i1YZHk.js (new) 9.19 kB 🔴 +9.19 kB 🔴 +2.51 kB 🔴 +2.22 kB
assets/ServerConfigPanel-5pbCS216.js (new) 6.09 kB 🔴 +6.09 kB 🔴 +1.94 kB 🔴 +1.72 kB
assets/ServerConfigPanel-X09tpH8M.js (removed) 6.09 kB 🟢 -6.09 kB 🟢 -1.93 kB 🟢 -1.72 kB
assets/UserPanel-BvHuNv5m.js (new) 5.73 kB 🔴 +5.73 kB 🔴 +1.78 kB 🔴 +1.54 kB
assets/UserPanel-ClDKUWD7.js (removed) 5.73 kB 🟢 -5.73 kB 🟢 -1.78 kB 🟢 -1.54 kB
assets/refreshRemoteConfig-CCamuBlV.js (new) 3.44 kB 🔴 +3.44 kB 🔴 +1.33 kB 🔴 +1.17 kB
assets/refreshRemoteConfig-D8EXd-u5.js (removed) 3.44 kB 🟢 -3.44 kB 🟢 -1.33 kB 🟢 -1.17 kB
assets/remoteConfig-BU1c1Uj6.js (new) 1.42 kB 🔴 +1.42 kB 🔴 +675 B 🔴 +564 B
assets/remoteConfig-DTfxsKZF.js (removed) 1.42 kB 🟢 -1.42 kB 🟢 -673 B 🟢 -562 B
assets/cloudRemoteConfig-DQrq5faH.js (new) 951 B 🔴 +951 B 🔴 +514 B 🔴 +426 B
assets/cloudRemoteConfig-oHmgZext.js (removed) 951 B 🟢 -951 B 🟢 -514 B 🟢 -420 B
assets/refreshRemoteConfig-B5UCpeyA.js (removed) 110 B 🟢 -110 B 🟢 -89 B 🟢 -77 B
assets/refreshRemoteConfig-BMt56NUI.js (new) 110 B 🔴 +110 B 🔴 +89 B 🔴 +81 B

Status: 11 added / 11 removed / 15 unchanged

User & Accounts — 27 kB (baseline 27 kB) • ⚪ 0 B

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/SignUpForm-BOzs0amc.js (removed) 12.8 kB 🟢 -12.8 kB 🟢 -4.31 kB 🟢 -3.76 kB
assets/SignUpForm-D9RHS1IW.js (new) 12.8 kB 🔴 +12.8 kB 🔴 +4.32 kB 🔴 +3.76 kB
assets/PasswordFields-B0Vurqls.js (new) 4.93 kB 🔴 +4.93 kB 🔴 +1.46 kB 🔴 +1.28 kB
assets/PasswordFields-Bdxsk26Y.js (removed) 4.93 kB 🟢 -4.93 kB 🟢 -1.46 kB 🟢 -1.3 kB
assets/auth-BhLTQWrm.js (new) 3.71 kB 🔴 +3.71 kB 🔴 +1.28 kB 🔴 +1.1 kB
assets/auth-BokyovlP.js (removed) 3.71 kB 🟢 -3.71 kB 🟢 -1.28 kB 🟢 -1.1 kB
assets/UpdatePasswordContent-1lMjX_u4.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -842 B 🟢 -733 B
assets/UpdatePasswordContent-O63_F2ZY.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +839 B 🔴 +732 B
assets/WorkspaceProfilePic-Czj-1OGy.js (removed) 1.6 kB 🟢 -1.6 kB 🟢 -828 B 🟢 -750 B
assets/WorkspaceProfilePic-fQ5PxnHG.js (new) 1.6 kB 🔴 +1.6 kB 🔴 +829 B 🔴 +721 B
assets/authStore-Cd8-yMM0.js (removed) 128 B 🟢 -128 B 🟢 -104 B 🟢 -105 B
assets/authStore-CXP3imbS.js (new) 128 B 🔴 +128 B 🔴 +104 B 🔴 +104 B
assets/workspaceAuthStore-CJAtdhBD.js (new) 108 B 🔴 +108 B 🔴 +99 B 🔴 +102 B
assets/workspaceAuthStore-DPLbsuaA.js (removed) 108 B 🟢 -108 B 🟢 -99 B 🟢 -106 B
assets/auth-D51KRwic.js (new) 105 B 🔴 +105 B 🔴 +96 B 🔴 +76 B
assets/auth-DxTd3LTI.js (removed) 105 B 🟢 -105 B 🟢 -96 B 🟢 -80 B

Status: 8 added / 8 removed / 2 unchanged

Editors & Dialogs — 125 kB (baseline 125 kB) • 🔴 +2 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyHubPublishDialog-GezaiG4D.js (new) 90.1 kB 🔴 +90.1 kB 🔴 +19.3 kB 🔴 +16.5 kB
assets/ComfyHubPublishDialog-iHePV07Q.js (removed) 90.1 kB 🟢 -90.1 kB 🟢 -19.3 kB 🟢 -16.5 kB
assets/useShareDialog-CvbMPeEF.js (new) 23.9 kB 🔴 +23.9 kB 🔴 +5.69 kB 🔴 +5.04 kB
assets/useShareDialog-n0DdFgM7.js (removed) 23.9 kB 🟢 -23.9 kB 🟢 -5.69 kB 🟢 -5.03 kB
assets/feedbackDialog-BWVdzNuL.js (new) 4.45 kB 🔴 +4.45 kB 🔴 +1.87 kB 🔴 +1.59 kB
assets/feedbackDialog-CG9J8L_R.js (removed) 4.45 kB 🟢 -4.45 kB 🟢 -1.86 kB 🟢 -1.59 kB
assets/useRangeEditor-BCIPeND7.js (removed) 3.29 kB 🟢 -3.29 kB 🟢 -1.14 kB 🟢 -1.04 kB
assets/useRangeEditor-C0pfrVHm.js (new) 3.29 kB 🔴 +3.29 kB 🔴 +1.14 kB 🔴 +1.03 kB
assets/SubscriptionInactiveMemberDialog-CjfkWeDv.js (removed) 2.48 kB 🟢 -2.48 kB 🟢 -999 B 🟢 -853 B
assets/SubscriptionInactiveMemberDialog-CKUCOkvR.js (new) 2.48 kB 🔴 +2.48 kB 🔴 +997 B 🔴 +853 B
assets/useLayerEditor-BOvxNR3T.js (removed) 1.01 kB 🟢 -1.01 kB 🟢 -491 B 🟢 -407 B
assets/useLayerEditor-C7e2Sxw5.js (new) 1.01 kB 🔴 +1.01 kB 🔴 +492 B 🔴 +405 B
assets/ComfyHubPublishDialog-BQoOitg3.js (new) 143 B 🔴 +143 B 🔴 +105 B 🔴 +91 B
assets/ComfyHubPublishDialog-CO2CuIaJ.js (removed) 143 B 🟢 -143 B 🟢 -105 B 🟢 -88 B
assets/useSubscriptionDialog-Cz5ilr39.js (new) 108 B 🔴 +108 B 🔴 +102 B 🔴 +91 B
assets/useSubscriptionDialog-DSn_VhDE.js (removed) 108 B 🟢 -108 B 🟢 -102 B 🟢 -86 B

Status: 8 added / 8 removed

UI Components — 67.1 kB (baseline 67.1 kB) • ⚪ 0 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyQueueButton-5uiTML1l.js (new) 14.6 kB 🔴 +14.6 kB 🔴 +3.97 kB 🔴 +3.53 kB
assets/ComfyQueueButton-D06o20ss.js (removed) 14.6 kB 🟢 -14.6 kB 🟢 -3.96 kB 🟢 -3.51 kB
assets/useTerminalTabs-DXmAf9kS.js (new) 11.8 kB 🔴 +11.8 kB 🔴 +3.69 kB 🔴 +3.26 kB
assets/useTerminalTabs-UiXlktCL.js (removed) 11.8 kB 🟢 -11.8 kB 🟢 -3.69 kB 🟢 -3.26 kB
assets/InviteMembersForm-CkBxrXk4.js (removed) 8.2 kB 🟢 -8.2 kB 🟢 -2.72 kB 🟢 -2.44 kB
assets/InviteMembersForm-DuISZtxP.js (new) 8.2 kB 🔴 +8.2 kB 🔴 +2.72 kB 🔴 +2.42 kB
assets/TopbarBadge-BKbaEGYU.js (new) 7.65 kB 🔴 +7.65 kB 🔴 +1.83 kB 🔴 +1.62 kB
assets/TopbarBadge-BTObHhks.js (removed) 7.65 kB 🟢 -7.65 kB 🟢 -1.83 kB 🟢 -1.62 kB
assets/ScrubableNumberInput-CFpmYT-5.js (removed) 6.49 kB 🟢 -6.49 kB 🟢 -2.17 kB 🟢 -1.91 kB
assets/ScrubableNumberInput-Ek5kxZaD.js (new) 6.49 kB 🔴 +6.49 kB 🔴 +2.17 kB 🔴 +1.92 kB
assets/WidgetInputNumberInput-BYRJ4iJy.js (new) 5.83 kB 🔴 +5.83 kB 🔴 +2.07 kB 🔴 +1.85 kB
assets/WidgetInputNumberInput-CE6Jynu_.js (removed) 5.83 kB 🟢 -5.83 kB 🟢 -2.07 kB 🟢 -1.85 kB
assets/Button-BAb1E1z4.js (removed) 4.66 kB 🟢 -4.66 kB 🟢 -1.63 kB 🟢 -1.43 kB
assets/Button-CdA2Nfob.js (new) 4.66 kB 🔴 +4.66 kB 🔴 +1.63 kB 🔴 +1.43 kB
assets/SubscribeButton-B-AzjpNE.js (removed) 2.15 kB 🟢 -2.15 kB 🟢 -966 B 🟢 -845 B
assets/SubscribeButton-C-Reld8D.js (new) 2.15 kB 🔴 +2.15 kB 🔴 +969 B 🔴 +850 B
assets/WidgetButton-BjrN-A-L.js (new) 1.93 kB 🔴 +1.93 kB 🔴 +886 B 🔴 +775 B
assets/WidgetButton-PIGhL-j2.js (removed) 1.93 kB 🟢 -1.93 kB 🟢 -888 B 🟢 -777 B
assets/Input-BcBdlwDn.js (removed) 1.76 kB 🟢 -1.76 kB 🟢 -872 B 🟢 -767 B
assets/Input-Dry_O4bD.js (new) 1.76 kB 🔴 +1.76 kB 🔴 +872 B 🔴 +765 B
assets/UserAvatar-a703wSsP.js (new) 1.24 kB 🔴 +1.24 kB 🔴 +641 B 🔴 +552 B
assets/UserAvatar-p-TFA9pt.js (removed) 1.24 kB 🟢 -1.24 kB 🟢 -641 B 🟢 -551 B
assets/cloudFeedbackTopbarButton-BmHN8VGW.js (new) 705 B 🔴 +705 B 🔴 +423 B 🔴 +359 B
assets/cloudFeedbackTopbarButton-BoTDeLiQ.js (removed) 705 B 🟢 -705 B 🟢 -423 B 🟢 -360 B
assets/ComfyQueueButton-9bhgmILl.js (new) 128 B 🔴 +128 B 🔴 +99 B 🔴 +90 B
assets/ComfyQueueButton-CWaJOYj3.js (removed) 128 B 🟢 -128 B 🟢 -99 B 🟢 -95 B
assets/toggle-group-88U7U8gq.js (new) 40 B 🔴 +40 B 🔴 +60 B 🔴 +44 B
assets/toggle-group-DXi8KFqz.js (removed) 40 B 🟢 -40 B 🟢 -60 B 🟢 -44 B

Status: 14 added / 14 removed

Data & Services — 3.5 MB (baseline 3.5 MB) • 🔴 +1 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/settingStore-DCKDYvHB.js (new) 3.22 MB 🔴 +3.22 MB 🔴 +747 kB 🔴 +562 kB
assets/settingStore-C6eSZaMK.js (removed) 3.22 MB 🟢 -3.22 MB 🟢 -747 kB 🟢 -562 kB
assets/load3dService-BalKIp-D.js (new) 132 kB 🔴 +132 kB 🔴 +29.3 kB 🔴 +24.6 kB
assets/load3dService-C2w-Rv8A.js (removed) 132 kB 🟢 -132 kB 🟢 -29.3 kB 🟢 -24.6 kB
assets/api-BmfdEs2r.js (new) 98.3 kB 🔴 +98.3 kB 🔴 +27.2 kB 🔴 +23.4 kB
assets/api-BtSYSJKL.js (removed) 98.3 kB 🟢 -98.3 kB 🟢 -27.2 kB 🟢 -23.4 kB
assets/workflowShareService-BMGV7tny.js (removed) 16.5 kB 🟢 -16.5 kB 🟢 -4.91 kB 🟢 -4.35 kB
assets/workflowShareService-YUtrO5Do.js (new) 16.5 kB 🔴 +16.5 kB 🔴 +4.91 kB 🔴 +4.35 kB
assets/keybindingService-BtuMAxfn.js (removed) 6.89 kB 🟢 -6.89 kB 🟢 -1.73 kB 🟢 -1.5 kB
assets/keybindingService-Cq46zSat.js (new) 6.89 kB 🔴 +6.89 kB 🔴 +1.73 kB 🔴 +1.5 kB
assets/releaseStore-KQzZO9C_.js (new) 6.72 kB 🔴 +6.72 kB 🔴 +2.03 kB 🔴 +1.77 kB
assets/releaseStore-odR82fVp.js (removed) 6.72 kB 🟢 -6.72 kB 🟢 -2.03 kB 🟢 -1.78 kB
assets/dialogStore-BWLPYke-.js (removed) 5.35 kB 🟢 -5.35 kB 🟢 -1.63 kB 🟢 -1.41 kB
assets/dialogStore-mTb5976f.js (new) 5.35 kB 🔴 +5.35 kB 🔴 +1.64 kB 🔴 +1.43 kB
assets/systemStatsStore-5SYIL0qd.js (new) 4.93 kB 🔴 +4.93 kB 🔴 +1.74 kB 🔴 +1.47 kB
assets/systemStatsStore-BMuWp6yw.js (removed) 4.93 kB 🟢 -4.93 kB 🟢 -1.74 kB 🟢 -1.47 kB
assets/userStore-CCco9OUK.js (removed) 2.38 kB 🟢 -2.38 kB 🟢 -898 B 🟢 -791 B
assets/userStore-DVsl2CYD.js (new) 2.38 kB 🔴 +2.38 kB 🔴 +896 B 🔴 +795 B
assets/serverConfigStore-B_zwQQFs.js (new) 2.3 kB 🔴 +2.3 kB 🔴 +775 B 🔴 +687 B
assets/serverConfigStore-CT0ay6Hl.js (removed) 2.3 kB 🟢 -2.3 kB 🟢 -776 B 🟢 -686 B
assets/audioService-CobsYg0o.js (new) 1.71 kB 🔴 +1.71 kB 🔴 +829 B 🔴 +722 B
assets/audioService-EbeBKLtk.js (removed) 1.71 kB 🟢 -1.71 kB 🟢 -828 B 🟢 -720 B
assets/toastStore-B_waOwkM.js (new) 841 B 🔴 +841 B 🔴 +395 B 🔴 +343 B
assets/toastStore-Cf-OtQmn.js (removed) 841 B 🟢 -841 B 🟢 -394 B 🟢 -348 B
assets/dialogService-BSYhgIZp.js (new) 98 B 🔴 +98 B 🔴 +97 B 🔴 +84 B
assets/dialogService-mxysN6Uy.js (removed) 98 B 🟢 -98 B 🟢 -97 B 🟢 -90 B
assets/releaseStore-8bvpyGIp.js (removed) 95 B 🟢 -95 B 🟢 -86 B 🟢 -87 B
assets/releaseStore-DISGBZe7.js (new) 95 B 🔴 +95 B 🔴 +86 B 🔴 +82 B
assets/settingStore-BcVLLmHF.js (new) 95 B 🔴 +95 B 🔴 +86 B 🔴 +81 B
assets/settingStore-bDpzPirU.js (removed) 95 B 🟢 -95 B 🟢 -86 B 🟢 -81 B
assets/assetsStore-B9lwfspg.js (removed) 94 B 🟢 -94 B 🟢 -92 B 🟢 -82 B
assets/assetsStore-DYvQMPnX.js (new) 94 B 🔴 +94 B 🔴 +92 B 🔴 +84 B
assets/api-CtmtU1zT.js (new) 62 B 🔴 +62 B 🔴 +74 B 🔴 +62 B
assets/api-qf1_O0Bw.js (removed) 62 B 🟢 -62 B 🟢 -74 B 🟢 -66 B

Status: 17 added / 17 removed

Utilities & Hooks — 550 kB (baseline 550 kB) • 🔴 +1 B

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useConflictDetection-Baf8FV4w.js (new) 236 kB 🔴 +236 kB 🔴 +53 kB 🔴 +43.1 kB
assets/useConflictDetection-BakqdX_0.js (removed) 236 kB 🟢 -236 kB 🟢 -53 kB 🟢 -43.1 kB
assets/useLayerEditorSession-2HJ_6P1w.js (new) 158 kB 🔴 +158 kB 🔴 +40.8 kB 🔴 +34.3 kB
assets/useLayerEditorSession-D94DHfvX.js (removed) 158 kB 🟢 -158 kB 🟢 -40.8 kB 🟢 -34.3 kB
assets/useLoad3d-BpwaghLF.js (new) 25.8 kB 🔴 +25.8 kB 🔴 +5.8 kB 🔴 +5.13 kB
assets/useLoad3d-DXAQH_sr.js (removed) 25.8 kB 🟢 -25.8 kB 🟢 -5.8 kB 🟢 -5.16 kB
assets/useLoad3dViewer-BThKgXOw.js (removed) 21.2 kB 🟢 -21.2 kB 🟢 -4.98 kB 🟢 -4.36 kB
assets/useLoad3dViewer-eWnvDwTz.js (new) 21.2 kB 🔴 +21.2 kB 🔴 +4.98 kB 🔴 +4.38 kB
assets/useImageQuiet-BRxdn098.js (new) 19.1 kB 🔴 +19.1 kB 🔴 +6.13 kB 🔴 +5.29 kB
assets/useImageQuiet-DnRXHr-E.js (removed) 19.1 kB 🟢 -19.1 kB 🟢 -6.13 kB 🟢 -5.28 kB
assets/useImageCrop-Cv3kU56Q.js (removed) 14.9 kB 🟢 -14.9 kB 🟢 -3.42 kB 🟢 -2.98 kB
assets/useImageCrop-uwKZIrVb.js (new) 14.9 kB 🔴 +14.9 kB 🔴 +3.42 kB 🔴 +2.98 kB
assets/useDowngradeToPersonal-BKRIWRje.js (new) 10.9 kB 🔴 +10.9 kB 🔴 +2.75 kB 🔴 +2.37 kB
assets/useDowngradeToPersonal-DSGiBluc.js (removed) 10.9 kB 🟢 -10.9 kB 🟢 -2.75 kB 🟢 -2.37 kB
assets/useFeatureFlags-BOBF2BnW.js (new) 6.99 kB 🔴 +6.99 kB 🔴 +2 kB 🔴 +1.7 kB
assets/useFeatureFlags-CBc6yI0b.js (removed) 6.99 kB 🟢 -6.99 kB 🟢 -2 kB 🟢 -1.7 kB
assets/useTransformState-DkyoHU6T.js (new) 3.54 kB 🔴 +3.54 kB 🔴 +1.55 kB 🔴 +1.29 kB
assets/useTransformState-oUoxB39V.js (removed) 3.54 kB 🟢 -3.54 kB 🟢 -1.55 kB 🟢 -1.29 kB
assets/useCompositorLayers-2ckUZK39.js (removed) 2.94 kB 🟢 -2.94 kB 🟢 -897 B 🟢 -797 B
assets/useCompositorLayers-WhD8Lz5z.js (new) 2.94 kB 🔴 +2.94 kB 🔴 +898 B 🔴 +800 B
assets/useSurveyEligibility-D93_lNuh.js (new) 2.89 kB 🔴 +2.89 kB 🔴 +1.11 kB 🔴 +919 B
assets/useSurveyEligibility-mgKCwAjQ.js (removed) 2.89 kB 🟢 -2.89 kB 🟢 -1.1 kB 🟢 -920 B
assets/useExternalLink-CwuYdLSH.js (removed) 2.85 kB 🟢 -2.85 kB 🟢 -1.07 kB 🟢 -924 B
assets/useExternalLink-Doz5SAJ5.js (new) 2.85 kB 🔴 +2.85 kB 🔴 +1.07 kB 🔴 +921 B
assets/assetPreviewUtil-B34lXYc2.js (new) 2.35 kB 🔴 +2.35 kB 🔴 +970 B 🔴 +835 B
assets/assetPreviewUtil-nawzfN9J.js (removed) 2.35 kB 🟢 -2.35 kB 🟢 -970 B 🟢 -839 B
assets/useFeatureUsageTracker-BjysIfrk.js (removed) 2.07 kB 🟢 -2.07 kB 🟢 -910 B 🟢 -772 B
assets/useFeatureUsageTracker-D2H69Cd8.js (new) 2.07 kB 🔴 +2.07 kB 🔴 +912 B 🔴 +770 B
assets/downloadUtil-B-yS3b-x.js (removed) 2.04 kB 🟢 -2.04 kB 🟢 -907 B 🟢 -728 B
assets/downloadUtil-Clkb0NJ7.js (new) 2.04 kB 🔴 +2.04 kB 🔴 +906 B 🔴 +726 B
assets/useTypeformEmbed-CAKgFgFy.js (new) 2.02 kB 🔴 +2.02 kB 🔴 +1.03 kB 🔴 +853 B
assets/useTypeformEmbed-CTn2SiMa.js (removed) 2.02 kB 🟢 -2.02 kB 🟢 -1.03 kB 🟢 -846 B
assets/useUpstreamValue-DHi_08Ey.js (removed) 1.99 kB 🟢 -1.99 kB 🟢 -758 B 🟢 -676 B
assets/useUpstreamValue-DvWgt7-0.js (new) 1.99 kB 🔴 +1.99 kB 🔴 +758 B 🔴 +677 B
assets/useWorkspaceTierLabel-CaLlMNgj.js (removed) 1.93 kB 🟢 -1.93 kB 🟢 -812 B 🟢 -698 B
assets/useWorkspaceTierLabel-CMXDyFbo.js (new) 1.93 kB 🔴 +1.93 kB 🔴 +813 B 🔴 +698 B
assets/useErrorHandling-DwoAN7aj.js (new) 1.49 kB 🔴 +1.49 kB 🔴 +614 B 🔴 +531 B
assets/useErrorHandling-VyC20cYv.js (removed) 1.49 kB 🟢 -1.49 kB 🟢 -614 B 🟢 -523 B
assets/useModalLiftedZIndex-aiowgPxC.js (new) 908 B 🔴 +908 B 🔴 +553 B 🔴 +468 B
assets/useModalLiftedZIndex-BP7MgP4N.js (removed) 908 B 🟢 -908 B 🟢 -552 B 🟢 -465 B
assets/subscriptionCheckoutUtil-CUWNcaS9.js (removed) 877 B 🟢 -877 B 🟢 -523 B 🟢 -458 B
assets/subscriptionCheckoutUtil-DQCRqeJk.js (new) 877 B 🔴 +877 B 🔴 +523 B 🔴 +437 B
assets/useTextFileContent-CqeaSSmQ.js (removed) 841 B 🟢 -841 B 🟢 -426 B 🟢 -396 B
assets/useTextFileContent-D09GLEwU.js (new) 841 B 🔴 +841 B 🔴 +427 B 🔴 +397 B
assets/useSessionCookie-CzzAFMkQ.js (removed) 652 B 🟢 -652 B 🟢 -337 B 🟢 -294 B
assets/useSessionCookie-mHqpjLWm.js (new) 652 B 🔴 +652 B 🔴 +336 B 🔴 +291 B
assets/useLoad3d-_W4Nprvn.js (removed) 311 B 🟢 -311 B 🟢 -165 B 🟢 -152 B
assets/useLoad3d-BnQ0y0-C.js (new) 311 B 🔴 +311 B 🔴 +163 B 🔴 +147 B
assets/useSessionCookie-DwbBTZmM.js (removed) 101 B 🟢 -101 B 🟢 -86 B 🟢 -83 B
assets/useSessionCookie-uruyXLge.js (new) 101 B 🔴 +101 B 🔴 +86 B 🔴 +82 B
assets/useFeatureFlags-CX8s2Axk.js (new) 98 B 🔴 +98 B 🔴 +85 B 🔴 +87 B
assets/useFeatureFlags-CYqPkbIz.js (removed) 98 B 🟢 -98 B 🟢 -85 B 🟢 -80 B
assets/useLoad3dViewer-BXUfhzXn.js (new) 98 B 🔴 +98 B 🔴 +85 B 🔴 +84 B
assets/useLoad3dViewer-CeRScJaD.js (removed) 98 B 🟢 -98 B 🟢 -85 B 🟢 -86 B
assets/useCurrentUser-C98fKHQs.js (removed) 94 B 🟢 -94 B 🟢 -95 B 🟢 -80 B
assets/useCurrentUser-DobK5b6B.js (new) 94 B 🔴 +94 B 🔴 +95 B 🔴 +86 B

Status: 28 added / 28 removed / 10 unchanged

Vendor & Third-Party — 16.3 MB (baseline 16.3 MB) • 🔴 +22 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-other-DM6QvB0c.js (new) 2.23 MB 🔴 +2.23 MB 🔴 +483 kB 🔴 +380 kB
assets/vendor-other-CpJsKsbF.js (removed) 2.23 MB 🟢 -2.23 MB 🟢 -483 kB 🟢 -380 kB
assets/vendor-primevue-B_a6l2q4.js (new) 1.69 MB 🔴 +1.69 MB 🔴 +307 kB 🔴 +185 kB
assets/vendor-primevue-D-xd9bIA.js (removed) 1.69 MB 🟢 -1.69 MB 🟢 -307 kB 🟢 -185 kB
assets/vendor-reka-ui-CLdmN_Aa.js (new) 561 kB 🔴 +561 kB 🔴 +101 kB 🔴 +77 kB
assets/vendor-reka-ui-C_7i3Aez.js (removed) 561 kB 🟢 -561 kB 🟢 -101 kB 🟢 -77 kB
assets/vendor-vue-core-yudC0Byk.js (new) 349 kB 🔴 +349 kB 🔴 +87.4 kB 🔴 +73.6 kB
assets/vendor-vue-core-CuDhPytp.js (removed) 349 kB 🟢 -349 kB 🟢 -87.4 kB 🟢 -73.5 kB
assets/vendor-vueuse-NsCQHv8x.js (new) 153 kB 🔴 +153 kB 🔴 +38.3 kB 🔴 +32.8 kB
assets/vendor-vueuse-DiUV6fCb.js (removed) 153 kB 🟢 -153 kB 🟢 -38.3 kB 🟢 -32.8 kB
assets/vendor-i18n-BNoYHpCR.js (new) 128 kB 🔴 +128 kB 🔴 +29 kB 🔴 +24.8 kB
assets/vendor-i18n-iC0IPUYP.js (removed) 128 kB 🟢 -128 kB 🟢 -29 kB 🟢 -24.8 kB

Status: 6 added / 6 removed / 11 unchanged

Other — 14 MB (baseline 14 MB) • 🔴 +10 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/core-CiEdjqmi.js (new) 115 kB 🔴 +115 kB 🔴 +29.7 kB 🔴 +25.1 kB
assets/core-IfjwmzEB.js (removed) 115 kB 🟢 -115 kB 🟢 -29.7 kB 🟢 -25.1 kB
assets/WidgetSelect-1ofnBYYn.js (new) 88.8 kB 🔴 +88.8 kB 🔴 +20.1 kB 🔴 +17.2 kB
assets/WidgetSelect-CGP-sVfH.js (removed) 88.8 kB 🟢 -88.8 kB 🟢 -20.1 kB 🟢 -17.2 kB
assets/SubscriptionPanelContentWorkspace-HespVtBk.js (new) 80 kB 🔴 +80 kB 🔴 +15.8 kB 🔴 +13.6 kB
assets/SubscriptionPanelContentWorkspace-VC791dP6.js (removed) 80 kB 🟢 -80 kB 🟢 -15.8 kB 🟢 -13.6 kB
assets/Load3D-B_n2GOf2.js (new) 71.3 kB 🔴 +71.3 kB 🔴 +11.7 kB 🔴 +9.97 kB
assets/Load3D-SyLusnyO.js (removed) 71.3 kB 🟢 -71.3 kB 🟢 -11.7 kB 🟢 -9.98 kB
assets/WidgetVideoEdit-G-KjG8BO.js (new) 67.5 kB 🔴 +67.5 kB 🔴 +15.7 kB 🔴 +13.9 kB
assets/WidgetVideoEdit-siTEbM2M.js (removed) 67.5 kB 🟢 -67.5 kB 🟢 -15.7 kB 🟢 -13.9 kB
assets/SubscriptionTransitionPreviewWorkspace-DREf5f28.js (new) 66.4 kB 🔴 +66.4 kB 🔴 +13.4 kB 🔴 +11.7 kB
assets/SubscriptionTransitionPreviewWorkspace-BTX__cuG.js (removed) 66.4 kB 🟢 -66.4 kB 🟢 -13.4 kB 🟢 -11.7 kB
assets/WorkspaceSettingsPanelContent-0HTCmyZg.js (new) 61.7 kB 🔴 +61.7 kB 🔴 +13.2 kB 🔴 +11.5 kB
assets/WorkspaceSettingsPanelContent-BpSK5x4J.js (removed) 61.7 kB 🟢 -61.7 kB 🟢 -13.2 kB 🟢 -11.5 kB
assets/Preview3d-BywSmvjk.js (new) 50.9 kB 🔴 +50.9 kB 🔴 +8.32 kB 🔴 +7.24 kB
assets/Preview3d-CsuS6AoK.js (removed) 50.9 kB 🟢 -50.9 kB 🟢 -8.31 kB 🟢 -7.24 kB
assets/main-BOV2WH42.js (new) 45.1 kB 🔴 +45.1 kB 🔴 +13.1 kB 🔴 +11.4 kB
assets/main-BtnR_D1H.js (removed) 45.1 kB 🟢 -45.1 kB 🟢 -13.1 kB 🟢 -11.4 kB
assets/SubscriptionRequiredDialogContentUnified-BSj0Uuf-.js (removed) 42.6 kB 🟢 -42.6 kB 🟢 -9.35 kB 🟢 -8.16 kB
assets/SubscriptionRequiredDialogContentUnified-CSOGs9V9.js (new) 42.6 kB 🔴 +42.6 kB 🔴 +9.36 kB 🔴 +8.16 kB
assets/LayerEditorContent-DlZUTPBR.js (new) 42.5 kB 🔴 +42.5 kB 🔴 +9.62 kB 🔴 +8.43 kB
assets/LayerEditorContent-DeRAge7Q.js (removed) 42.5 kB 🟢 -42.5 kB 🟢 -9.61 kB 🟢 -8.44 kB
assets/WidgetBoundingBoxes-DA4hZ51z.js (new) 33.7 kB 🔴 +33.7 kB 🔴 +9.16 kB 🔴 +8.13 kB
assets/WidgetBoundingBoxes-zJMzry6i.js (removed) 33.7 kB 🟢 -33.7 kB 🟢 -9.16 kB 🟢 -8.13 kB
assets/WidgetPainter-CHWx7yEr.js (removed) 32.6 kB 🟢 -32.6 kB 🟢 -7.87 kB 🟢 -6.97 kB
assets/WidgetPainter-DSo3SE23.js (new) 32.6 kB 🔴 +32.6 kB 🔴 +7.88 kB 🔴 +6.97 kB
assets/Load3dViewerContent-CrkRGtJf.js (new) 30.8 kB 🔴 +30.8 kB 🔴 +6.28 kB 🔴 +5.45 kB
assets/Load3dViewerContent-Cz_E2U6S.js (removed) 30.8 kB 🟢 -30.8 kB 🟢 -6.28 kB 🟢 -5.45 kB
assets/HdrViewerContent-NIGuFFSQ.js (removed) 29.8 kB 🟢 -29.8 kB 🟢 -8.24 kB 🟢 -7.27 kB
assets/HdrViewerContent-NV8vNY7p.js (new) 29.8 kB 🔴 +29.8 kB 🔴 +8.25 kB 🔴 +7.27 kB
assets/ColorPicker-bqsTnhNV.js (removed) 29.2 kB 🟢 -29.2 kB 🟢 -7.58 kB 🟢 -6.67 kB
assets/ColorPicker-CGK149zN.js (new) 29.2 kB 🔴 +29.2 kB 🔴 +7.59 kB 🔴 +6.67 kB
assets/SubscriptionRequiredDialogContent-BrTDIhWR.js (removed) 27 kB 🟢 -27 kB 🟢 -6.37 kB 🟢 -5.61 kB
assets/SubscriptionRequiredDialogContent-DbgeaL08.js (new) 27 kB 🔴 +27 kB 🔴 +6.38 kB 🔴 +5.6 kB
assets/SubscriptionRequiredDialogContentWorkspace--yb2Qt7c.js (removed) 25.1 kB 🟢 -25.1 kB 🟢 -5.79 kB 🟢 -5.1 kB
assets/SubscriptionRequiredDialogContentWorkspace-Cyg3K05x.js (new) 25.1 kB 🔴 +25.1 kB 🔴 +5.8 kB 🔴 +5.11 kB
assets/CreditsTile-B1lIDbRY.js (new) 24.9 kB 🔴 +24.9 kB 🔴 +6.64 kB 🔴 +5.83 kB
assets/CreditsTile-Cqtmisr1.js (removed) 24.9 kB 🟢 -24.9 kB 🟢 -6.64 kB 🟢 -5.83 kB
assets/initHostTelemetry-CF9WtFWR.js (new) 24.6 kB 🔴 +24.6 kB 🔴 +5.83 kB 🔴 +4.84 kB
assets/initHostTelemetry-DUmxyEAz.js (removed) 24.6 kB 🟢 -24.6 kB 🟢 -5.83 kB 🟢 -4.84 kB
assets/load3d-Cs3Lezgn.js (new) 22.2 kB 🔴 +22.2 kB 🔴 +5.4 kB 🔴 +4.67 kB
assets/load3d-BPUqCOP5.js (removed) 22.2 kB 🟢 -22.2 kB 🟢 -5.4 kB 🟢 -4.67 kB
assets/CurrentUserPopoverWorkspace-CYWrcgmw.js (new) 21.5 kB 🔴 +21.5 kB 🔴 +4.84 kB 🔴 +4.32 kB
assets/CurrentUserPopoverWorkspace-DHOUrG5t.js (removed) 21.5 kB 🟢 -21.5 kB 🟢 -4.84 kB 🟢 -4.32 kB
assets/SignInContent-BBOPhL4-.js (new) 20.2 kB 🔴 +20.2 kB 🔴 +5.09 kB 🔴 +4.45 kB
assets/SignInContent-DbvrRLzs.js (removed) 20.2 kB 🟢 -20.2 kB 🟢 -5.09 kB 🟢 -4.45 kB
assets/DialogHeader-BdtXhFfB.js (removed) 17.4 kB 🟢 -17.4 kB 🟢 -5.24 kB 🟢 -4.57 kB
assets/DialogHeader-DmhMK_5b.js (new) 17.4 kB 🔴 +17.4 kB 🔴 +5.24 kB 🔴 +4.58 kB
assets/WidgetRecordAudio-CvdT9yQ-.js (new) 16.6 kB 🔴 +16.6 kB 🔴 +4.6 kB 🔴 +4.1 kB
assets/WidgetRecordAudio-Bfp2S3nj.js (removed) 16.6 kB 🟢 -16.6 kB 🟢 -4.59 kB 🟢 -4.1 kB
assets/i18n-BQnT59RA.js (removed) 15.9 kB 🟢 -15.9 kB 🟢 -4.31 kB 🟢 -3.65 kB
assets/i18n-DtzrOJ3o.js (new) 15.9 kB 🔴 +15.9 kB 🔴 +4.31 kB 🔴 +3.64 kB
assets/WidgetInputNumber-CZ4Vn5-Z.js (removed) 13.9 kB 🟢 -13.9 kB 🟢 -3.63 kB 🟢 -3.21 kB
assets/WidgetInputNumber-xKepYGBF.js (new) 13.9 kB 🔴 +13.9 kB 🔴 +3.63 kB 🔴 +3.21 kB
assets/WidgetRange-CuSSDGRt.js (removed) 13.7 kB 🟢 -13.7 kB 🟢 -3.55 kB 🟢 -3.13 kB
assets/WidgetRange-D6nUWy7u.js (new) 13.7 kB 🔴 +13.7 kB 🔴 +3.55 kB 🔴 +3.13 kB
assets/WaveAudioPlayer-DiORTUyZ.js (new) 12.8 kB 🔴 +12.8 kB 🔴 +3.46 kB 🔴 +3.05 kB
assets/WaveAudioPlayer-Z2lpyUlE.js (removed) 12.8 kB 🟢 -12.8 kB 🟢 -3.47 kB 🟢 -3.05 kB
assets/WidgetCurve-BYvp7tMs.js (removed) 11.2 kB 🟢 -11.2 kB 🟢 -3.47 kB 🟢 -3.15 kB
assets/WidgetCurve-SCRWHLv5.js (new) 11.2 kB 🔴 +11.2 kB 🔴 +3.48 kB 🔴 +3.15 kB
assets/AudioPreviewPlayer-JciU0TqU.js (new) 10.6 kB 🔴 +10.6 kB 🔴 +3.05 kB 🔴 +2.72 kB
assets/AudioPreviewPlayer-oJu_mkar.js (removed) 10.6 kB 🟢 -10.6 kB 🟢 -3.05 kB 🟢 -2.72 kB
assets/TeamWorkspacesDialogContent-CpPkaxs5.js (new) 10.3 kB 🔴 +10.3 kB 🔴 +2.97 kB 🔴 +2.63 kB
assets/TeamWorkspacesDialogContent-DgPIfeyE.js (removed) 10.3 kB 🟢 -10.3 kB 🟢 -2.96 kB 🟢 -2.63 kB
assets/SelectValue-ClJkMAyB.js (new) 10.1 kB 🔴 +10.1 kB 🔴 +2.46 kB 🔴 +2.18 kB
assets/SelectValue-CwnKZtjF.js (removed) 10.1 kB 🟢 -10.1 kB 🟢 -2.46 kB 🟢 -2.17 kB
assets/onboardingCloudRoutes-BEBr1l_-.js (new) 9.33 kB 🔴 +9.33 kB 🔴 +2.85 kB 🔴 +2.42 kB
assets/onboardingCloudRoutes-BGrOH1MC.js (removed) 9.33 kB 🟢 -9.33 kB 🟢 -2.84 kB 🟢 -2.44 kB
assets/Load3DConfiguration-DFYxKABS.js (new) 8.91 kB 🔴 +8.91 kB 🔴 +2.61 kB 🔴 +2.3 kB
assets/Load3DConfiguration-SyeEznWo.js (removed) 8.91 kB 🟢 -8.91 kB 🟢 -2.61 kB 🟢 -2.29 kB
assets/WidgetImageCrop-D5Rutrip.js (removed) 8.49 kB 🟢 -8.49 kB 🟢 -2.65 kB 🟢 -2.34 kB
assets/WidgetImageCrop-ELovLnpi.js (new) 8.49 kB 🔴 +8.49 kB 🔴 +2.65 kB 🔴 +2.36 kB
assets/SetMemberCreditLimitDialogContent-CCVJ6KhL.js (removed) 8.47 kB 🟢 -8.47 kB 🟢 -2.34 kB 🟢 -2.05 kB
assets/SetMemberCreditLimitDialogContent-CTfDlfah.js (new) 8.47 kB 🔴 +8.47 kB 🔴 +2.34 kB 🔴 +2.05 kB
assets/nodeTemplates-CJO4A3SO.js (new) 8.32 kB 🔴 +8.32 kB 🔴 +2.85 kB 🔴 +2.51 kB
assets/nodeTemplates-DRfIdtiu.js (removed) 8.32 kB 🟢 -8.32 kB 🟢 -2.85 kB 🟢 -2.5 kB
assets/WidgetImageCompare-DzZgb5aj.js (removed) 8.13 kB 🟢 -8.13 kB 🟢 -2.3 kB 🟢 -2.01 kB
assets/WidgetImageCompare-S6qgDhiy.js (new) 8.13 kB 🔴 +8.13 kB 🔴 +2.3 kB 🔴 +2.02 kB
assets/NightlySurveyController-CS_CFm5_.js (new) 7.5 kB 🔴 +7.5 kB 🔴 +2.55 kB 🔴 +2.25 kB
assets/NightlySurveyController-DggerIr_.js (removed) 7.5 kB 🟢 -7.5 kB 🟢 -2.55 kB 🟢 -2.25 kB
assets/Popover-Dhi5IZyr.js (new) 7.48 kB 🔴 +7.48 kB 🔴 +2.68 kB 🔴 +2.37 kB
assets/Popover-DrTgp-Rw.js (removed) 7.48 kB 🟢 -7.48 kB 🟢 -2.68 kB 🟢 -2.38 kB
assets/CloudRunButtonWrapper-3lGB9Uey.js (new) 6.84 kB 🔴 +6.84 kB 🔴 +2.18 kB 🔴 +1.91 kB
assets/CloudRunButtonWrapper-BwBXlWZX.js (removed) 6.84 kB 🟢 -6.84 kB 🟢 -2.17 kB 🟢 -1.91 kB
assets/WidgetWithControl-3HwBdJy_.js (removed) 6.41 kB 🟢 -6.41 kB 🟢 -2.61 kB 🟢 -2.31 kB
assets/WidgetWithControl-BHcKtVi6.js (new) 6.41 kB 🔴 +6.41 kB 🔴 +2.61 kB 🔴 +2.31 kB
assets/missingModelMetadata--OsqJpnT.js (removed) 6.17 kB 🟢 -6.17 kB 🟢 -2.13 kB 🟢 -1.86 kB
assets/missingModelMetadata-DgDNGnCP.js (new) 6.17 kB 🔴 +6.17 kB 🔴 +2.13 kB 🔴 +1.86 kB
assets/AnimationControls-3mjSJgdK.js (new) 6.1 kB 🔴 +6.1 kB 🔴 +1.85 kB 🔴 +1.64 kB
assets/AnimationControls-IR_pRc6h.js (removed) 6.1 kB 🟢 -6.1 kB 🟢 -1.85 kB 🟢 -1.64 kB
assets/CancelSubscriptionDialogContent-05nEaUql.js (new) 5.97 kB 🔴 +5.97 kB 🔴 +1.98 kB 🔴 +1.75 kB
assets/CancelSubscriptionDialogContent-BwUV97Hz.js (removed) 5.97 kB 🟢 -5.97 kB 🟢 -1.98 kB 🟢 -1.75 kB
assets/load3dPreviewExtensions-Cvv0wmUc.js (new) 5.88 kB 🔴 +5.88 kB 🔴 +1.81 kB 🔴 +1.6 kB
assets/load3dPreviewExtensions-DkjUfR1v.js (removed) 5.88 kB 🟢 -5.88 kB 🟢 -1.81 kB 🟢 -1.59 kB
assets/DowngradeRemoveMembersDialogContent-CGlaZ2Eo.js (new) 5.58 kB 🔴 +5.58 kB 🔴 +1.89 kB 🔴 +1.64 kB
assets/DowngradeRemoveMembersDialogContent-iMrMfwfB.js (removed) 5.58 kB 🟢 -5.58 kB 🟢 -1.88 kB 🟢 -1.64 kB
assets/launchCancellationFlow-D7SJJXG1.js (new) 5.18 kB 🔴 +5.18 kB 🔴 +1.78 kB 🔴 +1.56 kB
assets/launchCancellationFlow-DCzGkWLN.js (removed) 5.18 kB 🟢 -5.18 kB 🟢 -1.78 kB 🟢 -1.56 kB
assets/CreateWorkspaceDialogContent-BZx1Yz3o.js (new) 5.12 kB 🔴 +5.12 kB 🔴 +1.79 kB 🔴 +1.55 kB
assets/CreateWorkspaceDialogContent-Mf-k7H0E.js (removed) 5.12 kB 🟢 -5.12 kB 🟢 -1.79 kB 🟢 -1.55 kB
assets/CloudNotificationContent-Drs4WV3e.js (new) 5.05 kB 🔴 +5.05 kB 🔴 +1.76 kB 🔴 +1.51 kB
assets/CloudNotificationContent-VqLpPD2F.js (removed) 5.05 kB 🟢 -5.05 kB 🟢 -1.76 kB 🟢 -1.5 kB
assets/ChangeMemberRoleDialogContent-0fr2FNlB.js (new) 4.97 kB 🔴 +4.97 kB 🔴 +1.64 kB 🔴 +1.42 kB
assets/ChangeMemberRoleDialogContent-Cx42NEp_.js (removed) 4.97 kB 🟢 -4.97 kB 🟢 -1.64 kB 🟢 -1.43 kB
assets/InviteMemberDialogContent-BjS6duzl.js (new) 4.96 kB 🔴 +4.96 kB 🔴 +1.64 kB 🔴 +1.45 kB
assets/InviteMemberDialogContent-Cvk_w6XX.js (removed) 4.96 kB 🟢 -4.96 kB 🟢 -1.64 kB 🟢 -1.43 kB
assets/EditWorkspaceDialogContent-186uu8yc.js (new) 4.93 kB 🔴 +4.93 kB 🔴 +1.76 kB 🔴 +1.53 kB
assets/EditWorkspaceDialogContent-pyVjw357.js (removed) 4.93 kB 🟢 -4.93 kB 🟢 -1.76 kB 🟢 -1.53 kB
assets/PaletteSwatchRow-BFrgk0Q0.js (new) 4.86 kB 🔴 +4.86 kB 🔴 +1.87 kB 🔴 +1.67 kB
assets/PaletteSwatchRow-C1Vb_yHa.js (removed) 4.86 kB 🟢 -4.86 kB 🟢 -1.86 kB 🟢 -1.66 kB
assets/WidgetTextarea-CRwIvjZr.js (new) 4.81 kB 🔴 +4.81 kB 🔴 +1.87 kB 🔴 +1.64 kB
assets/WidgetTextarea-OSf793IC.js (removed) 4.81 kB 🟢 -4.81 kB 🟢 -1.87 kB 🟢 -1.63 kB
assets/saveMesh-CU0pZuBN.js (new) 4.76 kB 🔴 +4.76 kB 🔴 +1.52 kB 🔴 +1.35 kB
assets/saveMesh-BQKpZLus.js (removed) 4.76 kB 🟢 -4.76 kB 🟢 -1.52 kB 🟢 -1.34 kB
assets/WorkspacePanelContent-CbVCODjT.js (new) 4.74 kB 🔴 +4.74 kB 🔴 +1.62 kB 🔴 +1.44 kB
assets/WorkspacePanelContent-Cz6if3Xe.js (removed) 4.74 kB 🟢 -4.74 kB 🟢 -1.63 kB 🟢 -1.43 kB
assets/ValueControlPopover-B4yrq-Fa.js (new) 4.49 kB 🔴 +4.49 kB 🔴 +1.55 kB 🔴 +1.38 kB
assets/ValueControlPopover-Vq-K8l7e.js (removed) 4.49 kB 🟢 -4.49 kB 🟢 -1.55 kB 🟢 -1.38 kB
assets/ToggleGroupItem-B1d_S8pn.js (new) 4.14 kB 🔴 +4.14 kB 🔴 +1.41 kB 🔴 +1.24 kB
assets/ToggleGroupItem-CwNixDOS.js (removed) 4.14 kB 🟢 -4.14 kB 🟢 -1.41 kB 🟢 -1.24 kB
assets/ApiNodesSignInContent-BSNdUUWQ.js (new) 4.08 kB 🔴 +4.08 kB 🔴 +1.31 kB 🔴 +1.14 kB
assets/ApiNodesSignInContent-DGCU17Fa.js (removed) 4.08 kB 🟢 -4.08 kB 🟢 -1.31 kB 🟢 -1.16 kB
assets/Slider-Cp70OY6d.js (removed) 3.91 kB 🟢 -3.91 kB 🟢 -1.43 kB 🟢 -1.25 kB
assets/Slider-xfMIC_Pn.js (new) 3.91 kB 🔴 +3.91 kB 🔴 +1.43 kB 🔴 +1.25 kB
assets/DeleteWorkspaceDialogContent-BBZNgoLf.js (removed) 3.84 kB 🟢 -3.84 kB 🟢 -1.44 kB 🟢 -1.24 kB
assets/DeleteWorkspaceDialogContent-BTxRul3f.js (new) 3.84 kB 🔴 +3.84 kB 🔴 +1.44 kB 🔴 +1.24 kB
assets/WidgetBoundingBox-5xEVZwE3.js (new) 3.76 kB 🔴 +3.76 kB 🔴 +1.03 kB 🔴 +898 B
assets/WidgetBoundingBox-DAs1NZhL.js (removed) 3.76 kB 🟢 -3.76 kB 🟢 -1.03 kB 🟢 -896 B
assets/RemoveMemberDialogContent-CAlEp2Ek.js (removed) 3.76 kB 🟢 -3.76 kB 🟢 -1.38 kB 🟢 -1.19 kB
assets/RemoveMemberDialogContent-CWxiqdRJ.js (new) 3.76 kB 🔴 +3.76 kB 🔴 +1.38 kB 🔴 +1.19 kB
assets/WidgetGalleria-BvoGaZp6.js (new) 3.75 kB 🔴 +3.75 kB 🔴 +1.45 kB 🔴 +1.3 kB
assets/WidgetGalleria-CUo1BxIO.js (removed) 3.75 kB 🟢 -3.75 kB 🟢 -1.45 kB 🟢 -1.3 kB
assets/RevokeInviteDialogContent-CCE9v-zL.js (new) 3.67 kB 🔴 +3.67 kB 🔴 +1.39 kB 🔴 +1.21 kB
assets/RevokeInviteDialogContent-CrDfR0D6.js (removed) 3.67 kB 🟢 -3.67 kB 🟢 -1.39 kB 🟢 -1.21 kB
assets/LeaveWorkspaceDialogContent-BdSCJg0D.js (removed) 3.67 kB 🟢 -3.67 kB 🟢 -1.38 kB 🟢 -1.19 kB
assets/LeaveWorkspaceDialogContent-CDRntNZc.js (new) 3.67 kB 🔴 +3.67 kB 🔴 +1.38 kB 🔴 +1.2 kB
assets/WidgetToggleSwitch-CS_psjFs.js (new) 3.56 kB 🔴 +3.56 kB 🔴 +1.3 kB 🔴 +1.15 kB
assets/WidgetToggleSwitch-x5NkDdAA.js (removed) 3.56 kB 🟢 -3.56 kB 🟢 -1.3 kB 🟢 -1.14 kB
assets/InviteMemberUpsellDialogContent-BTvxabD-.js (new) 3.47 kB 🔴 +3.47 kB 🔴 +1.24 kB 🔴 +1.09 kB
assets/InviteMemberUpsellDialogContent-BusvtrXU.js (removed) 3.47 kB 🟢 -3.47 kB 🟢 -1.24 kB 🟢 -1.09 kB
assets/workspaceCheckoutTelemetry-BXp1b0yY.js (new) 3.4 kB 🔴 +3.4 kB 🔴 +1.52 kB 🔴 +1.33 kB
assets/workspaceCheckoutTelemetry-C_ms-dTB.js (removed) 3.4 kB 🟢 -3.4 kB 🟢 -1.52 kB 🟢 -1.33 kB
assets/GlobalToast-DznrSiPI.js (new) 3.25 kB 🔴 +3.25 kB 🔴 +1.3 kB 🔴 +1.17 kB
assets/GlobalToast-BCpqrdh1.js (removed) 3.25 kB 🟢 -3.25 kB 🟢 -1.3 kB 🟢 -1.11 kB
assets/Media3DTop-C6sxIv0T.js (removed) 3.21 kB 🟢 -3.21 kB 🟢 -1.26 kB 🟢 -1.1 kB
assets/Media3DTop-D0bdTcbm.js (new) 3.21 kB 🔴 +3.21 kB 🔴 +1.26 kB 🔴 +1.11 kB
assets/WidgetMarkdown-DfbocEb7.js (new) 3.07 kB 🔴 +3.07 kB 🔴 +1.26 kB 🔴 +1.1 kB
assets/WidgetMarkdown-CTZHE7cn.js (removed) 3.07 kB 🟢 -3.07 kB 🟢 -1.26 kB 🟢 -1.1 kB
assets/WidgetInputText-DFkPdAWV.js (removed) 3.01 kB 🟢 -3.01 kB 🟢 -1.27 kB 🟢 -1.13 kB
assets/WidgetInputText-y1jmGs79.js (new) 3.01 kB 🔴 +3.01 kB 🔴 +1.26 kB 🔴 +1.13 kB
assets/MediaVideoTop-B8jzC-cF.js (new) 2.86 kB 🔴 +2.86 kB 🔴 +1.15 kB 🔴 +1.01 kB
assets/MediaVideoTop-ktoITyeO.js (removed) 2.86 kB 🟢 -2.86 kB 🟢 -1.14 kB 🟢 -1 kB
assets/load3dAdvanced-BwkGQ0ar.js (new) 2.82 kB 🔴 +2.82 kB 🔴 +1.09 kB 🔴 +954 B
assets/load3dAdvanced-CvnkN6Gg.js (removed) 2.82 kB 🟢 -2.82 kB 🟢 -1.09 kB 🟢 -950 B
assets/ErrorPanelSurveyCta-BTvGh8QK.js (new) 2.64 kB 🔴 +2.64 kB 🔴 +1.14 kB 🔴 +1.01 kB
assets/ErrorPanelSurveyCta-CBS9MoSr.js (removed) 2.64 kB 🟢 -2.64 kB 🟢 -1.14 kB 🟢 -1.01 kB
assets/Switch-D8xkGIgM.js (new) 2.49 kB 🔴 +2.49 kB 🔴 +1.09 kB 🔴 +968 B
assets/Switch-DDJdaZbW.js (removed) 2.49 kB 🟢 -2.49 kB 🟢 -1.09 kB 🟢 -940 B
assets/SubscribeToRun-B4XQiwJd.js (new) 2.39 kB 🔴 +2.39 kB 🔴 +1.03 kB 🔴 +909 B
assets/SubscribeToRun-CcMFEBB-.js (removed) 2.39 kB 🟢 -2.39 kB 🟢 -1.03 kB 🟢 -928 B
assets/WidgetLayoutField-BVLfATXc.js (removed) 2.38 kB 🟢 -2.38 kB 🟢 -1.03 kB 🟢 -924 B
assets/WidgetLayoutField-gqC5HiqE.js (new) 2.38 kB 🔴 +2.38 kB 🔴 +1.03 kB 🔴 +903 B
assets/WidgetChart-Bj7tjMYU.js (new) 2.36 kB 🔴 +2.36 kB 🔴 +1 kB 🔴 +864 B
assets/WidgetChart-Brx-nhJ7.js (removed) 2.36 kB 🟢 -2.36 kB 🟢 -998 B 🟢 -863 B
assets/TopBarHeader-BkLOFfER.js (new) 2.01 kB 🔴 +2.01 kB 🔴 +840 B 🔴 +734 B
assets/TopBarHeader-CSedOc8u.js (removed) 2.01 kB 🟢 -2.01 kB 🟢 -841 B 🟢 -735 B
assets/MediaImageTop-BLTHrCEE.js (removed) 1.95 kB 🟢 -1.95 kB 🟢 -927 B 🟢 -813 B
assets/MediaImageTop-CVFoLJAp.js (new) 1.95 kB 🔴 +1.95 kB 🔴 +926 B 🔴 +803 B
assets/TypeformEmbed-BI2aOOUw.js (new) 1.83 kB 🔴 +1.83 kB 🔴 +810 B 🔴 +713 B
assets/TypeformEmbed-DByklKBW.js (removed) 1.83 kB 🟢 -1.83 kB 🟢 -810 B 🟢 -709 B
assets/MediaTextTop-D8Sw3eWk.js (new) 1.77 kB 🔴 +1.77 kB 🔴 +855 B 🔴 +729 B
assets/MediaTextTop-Qkpmavcl.js (removed) 1.77 kB 🟢 -1.77 kB 🟢 -854 B 🟢 -729 B
assets/WidgetColorPicker-CT-Q3vQ3.js (removed) 1.69 kB 🟢 -1.69 kB 🟢 -755 B 🟢 -668 B
assets/WidgetColorPicker-D5DFpUFn.js (new) 1.69 kB 🔴 +1.69 kB 🔴 +757 B 🔴 +674 B
assets/Loader-DUmcO9m4.js (new) 1.64 kB 🔴 +1.64 kB 🔴 +782 B 🔴 +712 B
assets/Loader-Xp_4g4Ht.js (removed) 1.64 kB 🟢 -1.64 kB 🟢 -782 B 🟢 -697 B
assets/WidgetColors-BZCR5jLS.js (removed) 1.63 kB 🟢 -1.63 kB 🟢 -805 B 🟢 -710 B
assets/WidgetColors-CSggnD8J.js (new) 1.63 kB 🔴 +1.63 kB 🔴 +806 B 🔴 +709 B
assets/MediaAudioTop-BUWMwdym.js (new) 1.62 kB 🔴 +1.62 kB 🔴 +808 B 🔴 +671 B
assets/MediaAudioTop-BYxnQHb-.js (removed) 1.62 kB 🟢 -1.62 kB 🟢 -806 B 🟢 -670 B
assets/Textarea-DGRWK7cp.js (new) 1.56 kB 🔴 +1.56 kB 🔴 +812 B 🔴 +714 B
assets/Textarea-DWIqBYn2.js (removed) 1.56 kB 🟢 -1.56 kB 🟢 -813 B 🟢 -709 B
assets/signInSchema-BgnoyhcP.js (new) 1.55 kB 🔴 +1.55 kB 🔴 +553 B 🔴 +518 B
assets/signInSchema-BODy8uNQ.js (removed) 1.55 kB 🟢 -1.55 kB 🟢 -555 B 🟢 -524 B
assets/VideoPlayOverlay-D2wYJwv2.js (new) 1.46 kB 🔴 +1.46 kB 🔴 +730 B 🔴 +645 B
assets/VideoPlayOverlay-DHHhvM-o.js (removed) 1.46 kB 🟢 -1.46 kB 🟢 -730 B 🟢 -645 B
assets/ButtonGroup-C__B3FPu.js (removed) 1.24 kB 🟢 -1.24 kB 🟢 -642 B 🟢 -566 B
assets/ButtonGroup-Cgfe7rEK.js (new) 1.24 kB 🔴 +1.24 kB 🔴 +644 B 🔴 +561 B
assets/DialogClose-BBtSN33B.js (new) 1.18 kB 🔴 +1.18 kB 🔴 +609 B 🔴 +546 B
assets/DialogClose-Dp8meObC.js (removed) 1.18 kB 🟢 -1.18 kB 🟢 -608 B 🟢 -552 B
assets/MediaOtherTop-Bih2juu_.js (new) 1.02 kB 🔴 +1.02 kB 🔴 +574 B 🔴 +464 B
assets/MediaOtherTop-Dkx_4EVa.js (removed) 1.02 kB 🟢 -1.02 kB 🟢 -573 B 🟢 -475 B
assets/cloudSessionCookie-CNMAT9ll.js (new) 933 B 🔴 +933 B 🔴 +432 B 🔴 +379 B
assets/cloudSessionCookie-O88oAbcC.js (removed) 933 B 🟢 -933 B 🟢 -434 B 🟢 -379 B
assets/cloudBadges-B5KcUySW.js (removed) 922 B 🟢 -922 B 🟢 -514 B 🟢 -464 B
assets/cloudBadges-BAymS-n_.js (new) 922 B 🔴 +922 B 🔴 +516 B 🔴 +439 B
assets/ComfyOrgHeader-2k_Dj0eX.js (removed) 906 B 🟢 -906 B 🟢 -495 B 🟢 -460 B
assets/ComfyOrgHeader-DHnXyu2w.js (new) 906 B 🔴 +906 B 🔴 +496 B 🔴 +432 B
assets/Load3DAdvanced-BV4g9Vla.js (new) 761 B 🔴 +761 B 🔴 +422 B 🔴 +357 B
assets/Load3DAdvanced-CMzm_sf8.js (removed) 761 B 🟢 -761 B 🟢 -423 B 🟢 -358 B
assets/widgetTypes-BTjqpzLS.js (removed) 514 B 🟢 -514 B 🟢 -280 B 🟢 -271 B
assets/widgetTypes-Cf58xZw1.js (new) 514 B 🔴 +514 B 🔴 +280 B 🔴 +272 B
assets/vRekaZIndex-CEzhu9sj.js (removed) 505 B 🟢 -505 B 🟢 -330 B 🟢 -278 B
assets/vRekaZIndex-da9l5YEP.js (new) 505 B 🔴 +505 B 🔴 +330 B 🔴 +272 B
assets/nightlyBadges-BNPa5Lle.js (new) 411 B 🔴 +411 B 🔴 +272 B 🔴 +230 B
assets/nightlyBadges-KKnzwogI.js (removed) 411 B 🟢 -411 B 🟢 -273 B 🟢 -268 B
assets/src-CZvY4J5n.js (new) 407 B 🔴 +407 B 🔴 +290 B 🔴 +245 B
assets/src-fQojukAW.js (removed) 407 B 🟢 -407 B 🟢 -287 B 🟢 -245 B
assets/Load3dViewerContent-Cq0FhXEi.js (new) 137 B 🔴 +137 B 🔴 +103 B 🔴 +92 B
assets/Load3dViewerContent-DdR0dMEO.js (removed) 137 B 🟢 -137 B 🟢 -103 B 🟢 -109 B
assets/WidgetBoundingBox-CHkpS0XF.js (removed) 131 B 🟢 -131 B 🟢 -100 B 🟢 -93 B
assets/WidgetBoundingBox-yliZxRGl.js (new) 131 B 🔴 +131 B 🔴 +100 B 🔴 +94 B
assets/missingModelMetadata-DLG8q9gF.js (new) 125 B 🔴 +125 B 🔴 +103 B 🔴 +109 B
assets/missingModelMetadata-WvbBZ2Dv.js (removed) 125 B 🟢 -125 B 🟢 -103 B 🟢 -103 B
assets/Load3DAdvanced-Bym4NPd7.js (removed) 122 B 🟢 -122 B 🟢 -97 B 🟢 -97 B
assets/Load3DAdvanced-D5_PqBNp.js (new) 122 B 🔴 +122 B 🔴 +97 B 🔴 +98 B
assets/WidgetLegacy-C9ck8X-s.js (new) 117 B 🔴 +117 B 🔴 +106 B 🔴 +97 B
assets/WidgetLegacy-k4c7QbpV.js (removed) 117 B 🟢 -117 B 🟢 -106 B 🟢 -102 B
assets/workflowDraftStoreV2-BC9dBQjs.js (new) 112 B 🔴 +112 B 🔴 +101 B 🔴 +110 B
assets/workflowDraftStoreV2-Dh-pHubc.js (removed) 112 B 🟢 -112 B 🟢 -101 B 🟢 -109 B
assets/Load3D-CEVdVuEm.js (new) 98 B 🔴 +98 B 🔴 +89 B 🔴 +91 B
assets/Load3D-ktcbRmW8.js (removed) 98 B 🟢 -98 B 🟢 -89 B 🟢 -78 B
assets/i18n-DpW6Kjij.js (new) 97 B 🔴 +97 B 🔴 +92 B 🔴 +87 B
assets/i18n-zcuIawQK.js (removed) 97 B 🟢 -97 B 🟢 -92 B 🟢 -101 B
assets/changeTracker-CjCrFrxU.js (new) 91 B 🔴 +91 B 🔴 +93 B 🔴 +78 B
assets/changeTracker-Dlp2Fuy8.js (removed) 91 B 🟢 -91 B 🟢 -93 B 🟢 -91 B

Status: 113 added / 113 removed / 172 unchanged

⚡ Performance

⏳ Performance tests in progress…

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The session feature-flag override utility now uses Vue Router’s parseQuery to read ff parameters. It supports scalar and array values and maps nullish values to empty requests.

Changes

Feature flag query capture

Layer / File(s) Summary
Query parsing and normalization
src/utils/sessionFeatureFlagOverride.ts
The utility imports parseQuery, normalizes scalar and array ff values into string arrays, and removes the previous URLSearchParams exception fallback.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Possibly related PRs


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
End-To-End Regression Coverage For Fixes ❓ Inconclusive The review context does not provide commit subjects or an explicit changed-file list, which the check requires for a decision. Provide the PR title, commit subjects, and the complete base...head changed-file list.
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Adr Compliance For Entity/Litegraph Changes ✅ Passed The changed file is src/utils/sessionFeatureFlagOverride.ts, outside src/lib/litegraph/, src/ecs/, and graph-entity files; the check is not applicable.
Description check ✅ Passed The description includes Summary, Changes, issue reference, and verification details; Review Focus is omitted but the required information is mostly complete.
Title check ✅ Passed The title clearly and concisely describes centralizing feature-flag query reading with the other query-state readers.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch glary/centralize-ff-query-reading

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.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Aug 11, 2026
@codecov

codecov Bot commented Aug 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@           Coverage Diff            @@
##             main   #15044    +/-   ##
========================================
  Coverage   81.32%   81.33%            
========================================
  Files        1873     1873            
  Lines      106556   106556            
  Branches    33382    32841   -541     
========================================
+ Hits        86661    86662     +1     
+ Misses      19549    19538    -11     
- Partials      346      356    +10     
Flag Coverage Δ
unit 72.52% <100.00%> (+<0.01%) ⬆️

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

Files with missing lines Coverage Δ
src/utils/sessionFeatureFlagOverride.ts 95.58% <100.00%> (+1.47%) ⬆️

... and 8 files with indirect coverage changes

🚀 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.

@glary-bot

glary-bot Bot commented Aug 11, 2026

Copy link
Copy Markdown

Thanks — no actionable comments, and nothing to change. Recording where the one unresolved pre-merge check landed so it isn't mistaken for an open issue.

"End-To-End Regression Coverage For Fixes" — inconclusive, not failed. Its stated reason is metadata, not code: "the PR title and commit subjects are not provided." The check looks for a bug-fix signal to decide whether regression coverage is required. This PR is a pure refactor — the title and the single commit subject are both refactor(featureFlags): centralize ?ff= reading with the other query-state readers, and there is no behaviour change to regress against. Every documented behaviour is preserved: repeated ?ff=, JSON value typing, merge-with-previously-stashed, nameless ?ff= clearing, survival across navigation, the isCloud gate and the verified-@comfy.org gate.

That said, "it's only a refactor" is exactly the claim that deserves evidence rather than assertion, so the three behaviours this change could plausibly have broken were mutation-tested — each mutation fails exactly the intended test and nothing else:

Mutation Test that fails
delete the lazy pre-router bootstrap captures the URL for flags read before the router navigates
drop the null normalization (value ?? '') clears the session on a bare ?ff with no equals sign
make an absent ff clear instead of no-op survives navigation away from the ?ff= URL + leaves an established session alone on a query without ff

Restored, the file is 31/31 green.

CI is green on dff2347: 49 success / 11 skipped / 0 failures. That includes all 16 playwright-tests-chromium-sharded shards plus cloud, mobile-chrome, mobile-safari, chromium-2x, chromium-0.5x, playwright-video-new-tests, perf-tests, test and lint-and-format. The E2E result is the one I actually cared about here, since this PR adds a call to router.beforeEach and a stalled or redirect-looping guard would surface there rather than in unit tests.

One thing a human still needs to do: this PR needs the preview-cpu label (requested when the work was filed). The sandbox has no GitHub write credentials, so I can't apply it myself — and cloud-dispatch-build.yaml only dispatches on the labeled event for preview/preview-cpu/preview-gpu, so the CPU preview won't build until someone adds it.

@huang47
huang47 force-pushed the glary/centralize-ff-query-reading branch from dff2347 to 359fc51 Compare August 11, 2026 22:51
@huang47
huang47 marked this pull request as ready for review August 11, 2026 22:54
@huang47
huang47 requested a review from a team August 11, 2026 22:54
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Aug 11, 2026
@glary-bot

glary-bot Bot commented Aug 11, 2026

Copy link
Copy Markdown

Thanks both. Both approvals came through with an empty review body and no inline comments (the PR reports review_comments: 0), and CodeRabbit's walkthrough says "No actionable comments were generated in the recent review." So there is nothing to change — no new commits pushed. Recording evidence instead, plus one correction to my own earlier comment on this thread.

Correction: my earlier comment above is stale, please don't read it as describing this diff. It describes the previous design — a router.beforeEach hook calling an exported captureFeatureFlagOverrides(to.query), a new src/platform/navigation/currentLocationQuery.ts module, and "31/31 green". None of that survives. After the force-push the diff against the merge-base is one file, +4/−5; captureFeatureFlagOverrides is no longer exported, router.ts is untouched, currentLocationQuery.ts is gone, and sessionFeatureFlagOverride.ts still reads window.location.search itself. Only the parser changed:

const value = parseQuery(search)[QUERY_PARAM]
if (value === undefined) return []
return (Array.isArray(value) ? value : [value]).map((value) => value ?? '')

"It's only a parser swap" is exactly the claim that deserves evidence, since parseQuery and URLSearchParams are independent implementations. I diffed the old and new readers over 35 query strings covering every documented behaviour and the nasty edges — repeated ?ff=, bare ?ff with no =, empty ?ff=, + vs %20 vs %2B, colon values, = inside a value, non-ASCII, truncated/invalid escapes, ?ff[]=, case sensitivity, and empty/?-only strings. 34 of 35 are byte-identical. The single difference:

input parseQuery (new) URLSearchParams (old)
?ff=%C0 ["%C0"] ["\uFFFD"]

%C0 is an invalid UTF-8 lead byte, so decodeURIComponent throws; vue-router catches and keeps the raw text, URLSearchParams substitutes U+FFFD. Inert either way — both yield an override key matching no flag, and the part actually worth checking: neither is the empty string, so a malformed escape cannot trip the nameless-?ff= "clear the whole session" path. One caveat I verified rather than assumed: that path logs [VUE_ROUTER_R0080], and it fires in production builds too, not just dev — I ran parseQuery out of vue-router.prod.cjs directly instead of trusting it to be __DEV__-guarded. A malformed ?ff= URL now produces one console warning where it used to be silent.

Relatedly, the try/catch this PR deletes was unreachable: %, %zz, a% and %C0 all return a value rather than throwing, because vue-router's decode has its own internal catch.

Verification on 359fc51: unit tests 25/25, pnpm typecheck clean, pnpm lint clean with zero hits on the changed file (the remaining oxlint warnings are pre-existing, all in test files this PR doesn't touch), pnpm format:check and pnpm knip clean. CI is fully green — 51 success / 24 skipped / 0 failures — including all 16 chromium shards plus cloud, mobile-chrome, mobile-safari, chromium-2x, chromium-0.5x, perf-tests, test and lint-and-format. mergeable_state is now clean.

CodeRabbit's one unresolved pre-merge check, "End-To-End Regression Coverage For Fixes", is inconclusive rather than failed, and its stated reason is missing metadata ("does not provide commit subjects or an explicit changed-file list"), not a code finding.

One thing still needing a human: this PR wants the preview-cpu label (requested when the work was filed; labels are currently just size:XS). cloud-dispatch-build.yaml only dispatches on the labeled event, so the CPU preview won't build until someone adds it — I have no GitHub write access to apply labels myself.

@huang47
huang47 added this pull request to the merge queue Aug 12, 2026
Merged via the queue into main with commit ae27839 Aug 12, 2026
77 checks passed
@huang47
huang47 deleted the glary/centralize-ff-query-reading branch August 12, 2026 00:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants