Skip to content

Conversation

@benceruleanlu
Copy link
Member

@benceruleanlu benceruleanlu commented Feb 5, 2026

Summary

Use distribution flags as the sole source of desktop detection so environment checks are deterministic across builds and local dev.

Changes

  • What: Remove runtime Electron fallback from isDesktop and rely only on the desktop distribution flag (DISTRIBUTION).
  • What: Update dev:electron to set DISTRIBUTION=desktop so local Electron dev preserves desktop behavior.

Review Focus

  • Confirm desktop-only paths still behave correctly in Electron dev and production builds.
  • Confirm no code path still depends on isElectron() for desktop detection.

Screenshots (if applicable)

N/A (no UI changes)

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 5, 2026

📝 Walkthrough

Walkthrough

The PR prefixes the Electron dev script with DISTRIBUTION=desktop, removes runtime isElectron() usage from the desktop detection, and replaces a direct i18n import in a pricing component with the useI18n() composition API.

Changes

Cohort / File(s) Summary
Build configuration
package.json
Updated dev:electron script to cross-env DISTRIBUTION=desktop nx serve --config vite.electron.config.mts.
Platform distribution check
src/platform/distribution/types.ts
Removed isElectron import and changed isDesktop from `DISTRIBUTION === 'desktop'
UI i18n usage
src/platform/cloud/subscription/components/PricingTableWorkspace.vue
Replaced direct t import from @/i18n with const { t, n } = useI18n() and removed a duplicate local n declaration.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through scripts and types today,
Set DISTRIBUTION to guide the way,
Dropped a runtime check, tidy and neat,
Swapped i18n hooks to keep strings sweet,
Little changes, lighter feet! 🌿

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: updating desktop detection to use distribution flags instead of runtime Electron checks.
Description check ✅ Passed The description comprehensively covers the summary, changes made, and review focus, following the repository template structure with all critical information provided.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/distribution-only-desktop

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 and usage tips.

Copy link
Member Author

benceruleanlu commented Feb 5, 2026

@benceruleanlu benceruleanlu marked this pull request as ready for review February 5, 2026 20:01
@benceruleanlu benceruleanlu requested a review from a team as a code owner February 5, 2026 20:01
@github-actions
Copy link

github-actions bot commented Feb 5, 2026

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 02/07/2026, 09:59:37 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

Copilot AI review requested due to automatic review settings February 5, 2026 20:01
@github-actions
Copy link

github-actions bot commented Feb 5, 2026

🎭 Playwright Tests: ⚠️ Passed with flaky tests

Results: 515 passed, 0 failed, 4 flaky, 8 skipped (Total: 527)

❌ Failed Tests

📊 Browser Reports
  • chromium: View Report (✅ 503 / ❌ 0 / ⚠️ 4 / ⏭️ 8)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 9 / ❌ 0 / ⚠️ 0 / ⏭️ 0)

@dosubot dosubot bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Feb 5, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the runtime isElectron() check from the isDesktop distribution flag, implementing a TODO that was previously in the code. The change makes isDesktop a pure compile-time constant based on the DISTRIBUTION environment variable, enabling better tree-shaking and build optimization.

Changes:

  • Removed runtime isElectron() check from isDesktop definition in distribution types
  • Updated dev:electron script to explicitly set DISTRIBUTION=desktop environment variable
  • Removed unused import of isElectron from distribution types file

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
src/platform/distribution/types.ts Simplified isDesktop to use only compile-time DISTRIBUTION constant, removing runtime isElectron() check
package.json Added DISTRIBUTION=desktop env var to dev:electron script to ensure correct build-time flag during electron development

@christian-byrne
Copy link
Contributor

christian-byrne
christian-byrne previously approved these changes Feb 5, 2026
@benceruleanlu benceruleanlu changed the base branch from fix/gtm-telemetry-entrypoint to graphite-base/8627 February 6, 2026 05:24
@benceruleanlu benceruleanlu changed the base branch from graphite-base/8627 to main February 6, 2026 05:24
@benceruleanlu benceruleanlu dismissed christian-byrne’s stale review February 6, 2026 05:24

The base branch was changed.

@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. and removed size:XS This PR changes 0-9 lines, ignoring generated files. labels Feb 6, 2026
@benceruleanlu benceruleanlu changed the base branch from main to fix/gtm-telemetry-entrypoint February 6, 2026 05:28
@dosubot dosubot bot added size:XS This PR changes 0-9 lines, ignoring generated files. and removed size:XXL This PR changes 1000+ lines, ignoring generated files. labels Feb 6, 2026
@benceruleanlu benceruleanlu changed the base branch from fix/gtm-telemetry-entrypoint to graphite-base/8627 February 7, 2026 09:08
@benceruleanlu benceruleanlu force-pushed the fix/distribution-only-desktop branch from a8df879 to e38875c Compare February 7, 2026 09:16
@benceruleanlu benceruleanlu changed the base branch from graphite-base/8627 to main February 7, 2026 09:16
@dosubot dosubot bot added size:S This PR changes 10-29 lines, ignoring generated files. and removed size:XS This PR changes 0-9 lines, ignoring generated files. labels Feb 7, 2026
@github-actions
Copy link

github-actions bot commented Feb 7, 2026

Bundle Size Report

Summary

  • Raw size: 19.7 MB baseline 19.7 MB — 🟢 -1.87 kB
  • Gzip: 4.2 MB baseline 4.2 MB — 🟢 -850 B
  • Brotli: 3.26 MB baseline 3.26 MB — 🟢 -1.15 kB
  • Bundles: 234 current • 234 baseline • 162 added / 162 removed

Category Glance
Other 🟢 -1.05 kB (7.15 MB) · Panels & Settings 🟢 -240 B (409 kB) · Views & Navigation 🟢 -210 B (68.8 kB) · Data & Services 🟢 -96 B (2.11 MB) · Utilities & Hooks 🟢 -90 B (237 kB) · User & Accounts 🟢 -90 B (16 kB) · + 5 more

Per-category breakdown
App Entry Points — 22.2 kB (baseline 22.2 kB) • 🟢 -9 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-nBH2uGAl.js (removed) 22.2 kB 🟢 -22.2 kB 🟢 -7.19 kB 🟢 -6.25 kB
assets/index-CGNsotRc.js (new) 22.2 kB 🔴 +22.2 kB 🔴 +7.2 kB 🔴 +6.24 kB

Status: 1 added / 1 removed

Graph Workspace — 854 kB (baseline 854 kB) • ⚪ 0 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-BxhOp56-.js (new) 854 kB 🔴 +854 kB 🔴 +183 kB 🔴 +140 kB
assets/GraphView-CKcti5gk.js (removed) 854 kB 🟢 -854 kB 🟢 -183 kB 🟢 -140 kB

Status: 1 added / 1 removed

Views & Navigation — 68.8 kB (baseline 69 kB) • 🟢 -210 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-CLmWuEvN.js (new) 15.4 kB 🔴 +15.4 kB 🔴 +3.3 kB 🔴 +2.8 kB
assets/CloudSurveyView-SbdTZcHi.js (removed) 15.4 kB 🟢 -15.4 kB 🟢 -3.3 kB 🟢 -2.8 kB
assets/CloudLoginView-CWOgcOnI.js (removed) 10.1 kB 🟢 -10.1 kB 🟢 -2.95 kB 🟢 -2.59 kB
assets/CloudLoginView-qyyoiYgg.js (new) 10.1 kB 🔴 +10.1 kB 🔴 +2.94 kB 🔴 +2.58 kB
assets/UserCheckView-DTHnjcWq.js (removed) 8.4 kB 🟢 -8.4 kB 🟢 -2.23 kB 🟢 -1.93 kB
assets/UserCheckView-BmsfVFeq.js (new) 8.37 kB 🔴 +8.37 kB 🔴 +2.21 kB 🔴 +1.92 kB
assets/CloudSignupView-ChFOKrQB.js (removed) 7.46 kB 🟢 -7.46 kB 🟢 -2.35 kB 🟢 -2.05 kB
assets/CloudSignupView-CPdt9vGg.js (new) 7.46 kB 🔴 +7.46 kB 🔴 +2.35 kB 🔴 +2.05 kB
assets/CloudLayoutView-B5dgVTGg.js (removed) 6.47 kB 🟢 -6.47 kB 🟢 -2.13 kB 🟢 -1.85 kB
assets/CloudLayoutView-BcezybeM.js (new) 6.45 kB 🔴 +6.45 kB 🔴 +2.11 kB 🔴 +1.84 kB
assets/CloudForgotPasswordView-Cg3_GsZ3.js (removed) 5.6 kB 🟢 -5.6 kB 🟢 -1.96 kB 🟢 -1.72 kB
assets/CloudForgotPasswordView-DvpUwrXf.js (new) 5.57 kB 🔴 +5.57 kB 🔴 +1.95 kB 🔴 +1.71 kB
assets/CloudAuthTimeoutView-DRkTP_Pe.js (removed) 4.95 kB 🟢 -4.95 kB 🟢 -1.8 kB 🟢 -1.57 kB
assets/CloudAuthTimeoutView-Ces-Sv1Q.js (new) 4.92 kB 🔴 +4.92 kB 🔴 +1.78 kB 🔴 +1.56 kB
assets/CloudSubscriptionRedirectView-C7NHka4-.js (removed) 4.75 kB 🟢 -4.75 kB 🟢 -1.8 kB 🟢 -1.59 kB
assets/CloudSubscriptionRedirectView-Cg1AS16d.js (new) 4.72 kB 🔴 +4.72 kB 🔴 +1.79 kB 🔴 +1.58 kB
assets/UserSelectView-DFFZNUdL.js (removed) 4.49 kB 🟢 -4.49 kB 🟢 -1.64 kB 🟢 -1.47 kB
assets/UserSelectView-BDcqLNce.js (new) 4.46 kB 🔴 +4.46 kB 🔴 +1.62 kB 🔴 +1.45 kB
assets/CloudSorryContactSupportView-BO-_Aoqq.js (removed) 1.02 kB 🟢 -1.02 kB 🟢 -538 B 🟢 -469 B
assets/CloudSorryContactSupportView-DPgIvmSL.js (new) 1.02 kB 🔴 +1.02 kB 🔴 +538 B 🔴 +470 B
assets/layout-C9XfGlzo.js (new) 296 B 🔴 +296 B 🔴 +223 B 🔴 +187 B
assets/layout-o35PGLAb.js (removed) 296 B 🟢 -296 B 🟢 -224 B 🟢 -188 B

Status: 11 added / 11 removed

Panels & Settings — 409 kB (baseline 409 kB) • 🟢 -240 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/WorkspacePanel-WsG7U_30.js (removed) 26.8 kB 🟢 -26.8 kB 🟢 -5.64 kB 🟢 -4.95 kB
assets/WorkspacePanel-BqIRt_Ww.js (new) 26.8 kB 🔴 +26.8 kB 🔴 +5.63 kB 🔴 +4.93 kB
assets/SecretsPanel-hPeW6Eo2.js (removed) 21.5 kB 🟢 -21.5 kB 🟢 -5.31 kB 🟢 -4.66 kB
assets/SecretsPanel-BRmNDOyL.js (new) 21.5 kB 🔴 +21.5 kB 🔴 +5.29 kB 🔴 +4.64 kB
assets/LegacyCreditsPanel-C1Bd2CcO.js (removed) 20.9 kB 🟢 -20.9 kB 🟢 -5.63 kB 🟢 -4.94 kB
assets/LegacyCreditsPanel-_7TX_L-X.js (new) 20.8 kB 🔴 +20.8 kB 🔴 +5.61 kB 🔴 +4.93 kB
assets/SubscriptionPanel-DRmEU8yz.js (removed) 18.7 kB 🟢 -18.7 kB 🟢 -4.76 kB 🟢 -4.2 kB
assets/SubscriptionPanel-ly_tCfaU.js (new) 18.7 kB 🔴 +18.7 kB 🔴 +4.76 kB 🔴 +4.21 kB
assets/KeybindingPanel-B0a_4Rkg.js (removed) 12.7 kB 🟢 -12.7 kB 🟢 -3.65 kB 🟢 -3.23 kB
assets/KeybindingPanel-D5SAapLs.js (new) 12.6 kB 🔴 +12.6 kB 🔴 +3.64 kB 🔴 +3.22 kB
assets/ExtensionPanel-CEDr_eJi.js (removed) 9.54 kB 🟢 -9.54 kB 🟢 -2.71 kB 🟢 -2.4 kB
assets/ExtensionPanel-DUJ5ohCh.js (new) 9.51 kB 🔴 +9.51 kB 🔴 +2.69 kB 🔴 +2.38 kB
assets/AboutPanel-BVTyNOZV.js (removed) 8.62 kB 🟢 -8.62 kB 🟢 -2.46 kB 🟢 -2.22 kB
assets/AboutPanel-DNE9-OuG.js (new) 8.62 kB 🔴 +8.62 kB 🔴 +2.46 kB 🔴 +2.21 kB
assets/ServerConfigPanel-CyL8RmPC.js (removed) 6.68 kB 🟢 -6.68 kB 🟢 -2.18 kB 🟢 -1.95 kB
assets/ServerConfigPanel-DigMcqnD.js (new) 6.65 kB 🔴 +6.65 kB 🔴 +2.16 kB 🔴 +1.96 kB
assets/UserPanel-CgS96pD0.js (removed) 6.32 kB 🟢 -6.32 kB 🟢 -2.04 kB 🟢 -1.8 kB
assets/UserPanel-K2HrM9Pe.js (new) 6.29 kB 🔴 +6.29 kB 🔴 +2.03 kB 🔴 +1.78 kB
assets/cloudRemoteConfig-De8R-VGR.js (removed) 1.48 kB 🟢 -1.48 kB 🟢 -735 B 🟢 -628 B
assets/cloudRemoteConfig-BlSHDk1k.js (new) 1.45 kB 🔴 +1.45 kB 🔴 +717 B 🔴 +620 B
assets/refreshRemoteConfig-0T6jnfOv.js (new) 1.14 kB 🔴 +1.14 kB 🔴 +518 B 🔴 +473 B
assets/refreshRemoteConfig-BhDzFxdW.js (removed) 1.14 kB 🟢 -1.14 kB 🟢 -520 B 🟢 -469 B
assets/config-BK8UYp9G.js (new) 1.01 kB 🔴 +1.01 kB 🔴 +549 B 🔴 +450 B
assets/config-CJ8VnGvP.js (removed) 1.01 kB 🟢 -1.01 kB 🟢 -549 B 🟢 -445 B
assets/settings-B4SEKci9.js 26.8 kB 26.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BC1cc0fS.js 23.6 kB 23.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Bc2B6dtS.js 24.1 kB 24.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BcpoYtvB.js 20.8 kB 20.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BthVWLgQ.js 23.3 kB 23.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CBYZ18F3.js 28.1 kB 28.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Cnka_dKX.js 25.7 kB 25.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-D6HkNk7G.js 25 kB 25 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-gIPnacUu.js 24.2 kB 24.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-HfVYOjFC.js 32 kB 32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-KJ7OpQSN.js 20.3 kB 20.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 12 added / 12 removed

User & Accounts — 16 kB (baseline 16.1 kB) • 🟢 -90 B

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/PasswordFields-BGrbyWzK.js (new) 4.51 kB 🔴 +4.51 kB 🔴 +1.36 kB 🔴 +1.2 kB
assets/PasswordFields-DZduq3DY.js (removed) 4.51 kB 🟢 -4.51 kB 🟢 -1.36 kB 🟢 -1.2 kB
assets/auth-D_vD3VjG.js (removed) 3.4 kB 🟢 -3.4 kB 🟢 -1.18 kB 🟢 -993 B
assets/auth-DuQNwfSe.js (new) 3.4 kB 🔴 +3.4 kB 🔴 +1.18 kB 🔴 +991 B
assets/SignUpForm-Ckpdr4a4.js (removed) 3.01 kB 🟢 -3.01 kB 🟢 -1.24 kB 🟢 -1.1 kB
assets/SignUpForm-UNEVsYue.js (new) 3.01 kB 🔴 +3.01 kB 🔴 +1.23 kB 🔴 +1.1 kB
assets/UpdatePasswordContent-BpWoKT8O.js (removed) 2.41 kB 🟢 -2.41 kB 🟢 -1.09 kB 🟢 -967 B
assets/UpdatePasswordContent-rYCyEQH-.js (new) 2.38 kB 🔴 +2.38 kB 🔴 +1.08 kB 🔴 +949 B
assets/firebaseAuthStore-B2Tafb2j.js (removed) 833 B 🟢 -833 B 🟢 -412 B 🟢 -367 B
assets/firebaseAuthStore-i_cKxWzG.js (new) 803 B 🔴 +803 B 🔴 +400 B 🔴 +362 B
assets/auth-C5Iy-ppf.js (removed) 347 B 🟢 -347 B 🟢 -222 B 🟢 -192 B
assets/auth-CipW-qS-.js (new) 317 B 🔴 +317 B 🔴 +203 B 🔴 +188 B
assets/WorkspaceProfilePic-B0BztYjc.js 1.57 kB 1.57 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 6 added / 6 removed

Editors & Dialogs — 751 B (baseline 781 B) • 🟢 -30 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useSubscriptionDialog-ylsjIpGJ.js (removed) 781 B 🟢 -781 B 🟢 -403 B 🟢 -343 B
assets/useSubscriptionDialog-CWwmE2N0.js (new) 751 B 🔴 +751 B 🔴 +391 B 🔴 +338 B

Status: 1 added / 1 removed

UI Components — 36.6 kB (baseline 36.7 kB) • 🟢 -60 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useTerminalTabs-CBrxADXY.js (removed) 9.94 kB 🟢 -9.94 kB 🟢 -3.43 kB 🟢 -3.02 kB
assets/useTerminalTabs-DOwQUp8t.js (new) 9.94 kB 🔴 +9.94 kB 🔴 +3.42 kB 🔴 +3.02 kB
assets/TopbarBadge-BtCjsN6c.js (removed) 7.52 kB 🟢 -7.52 kB 🟢 -1.82 kB 🟢 -1.61 kB
assets/TopbarBadge-DSq-ReLB.js (new) 7.52 kB 🔴 +7.52 kB 🔴 +1.82 kB 🔴 +1.61 kB
assets/ComfyQueueButton-BMO-nu8Q.js (new) 7.17 kB 🔴 +7.17 kB 🔴 +2.32 kB 🔴 +2.07 kB
assets/ComfyQueueButton-DhFdHkw0.js (removed) 7.17 kB 🟢 -7.17 kB 🟢 -2.32 kB 🟢 -2.07 kB
assets/Button-LGYfUhES.js (new) 3 kB 🔴 +3 kB 🔴 +1.21 kB 🔴 +1.07 kB
assets/Button-uiq1UxTY.js (removed) 3 kB 🟢 -3 kB 🟢 -1.21 kB 🟢 -1.06 kB
assets/SubscribeButton-BH4giSIL.js (new) 2.35 kB 🔴 +2.35 kB 🔴 +1.02 kB 🔴 +895 B
assets/SubscribeButton-EUN9eNzr.js (removed) 2.35 kB 🟢 -2.35 kB 🟢 -1.02 kB 🟢 -892 B
assets/WidgetButton-CA5MtriV.js (removed) 1.84 kB 🟢 -1.84 kB 🟢 -877 B 🟢 -770 B
assets/WidgetButton-Dd8TTZez.js (new) 1.84 kB 🔴 +1.84 kB 🔴 +876 B 🔴 +776 B
assets/cloudFeedbackTopbarButton-DmlvjuLq.js (removed) 1.64 kB 🟢 -1.64 kB 🟢 -880 B 🟢 -782 B
assets/cloudFeedbackTopbarButton-DNPWJfx4.js (new) 1.61 kB 🔴 +1.61 kB 🔴 +867 B 🔴 +742 B
assets/CloudBadge-Bjd4gDLV.js (new) 1.24 kB 🔴 +1.24 kB 🔴 +605 B 🔴 +530 B
assets/CloudBadge-DQn-idej.js (removed) 1.24 kB 🟢 -1.24 kB 🟢 -606 B 🟢 -526 B
assets/ComfyQueueButton-vINNE8sB.js (removed) 838 B 🟢 -838 B 🟢 -416 B 🟢 -373 B
assets/ComfyQueueButton-0Uy01nKC.js (new) 808 B 🔴 +808 B 🔴 +402 B 🔴 +358 B
assets/UserAvatar-B50esQ9A.js 1.17 kB 1.17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 9 added / 9 removed

Data & Services — 2.11 MB (baseline 2.11 MB) • 🟢 -96 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/dialogService-B52x5vEH.js (removed) 1.34 MB 🟢 -1.34 MB 🟢 -302 kB 🟢 -234 kB
assets/dialogService-BdgKu-Go.js (new) 1.34 MB 🔴 +1.34 MB 🔴 +302 kB 🔴 +233 kB
assets/api-CU1ysQ1T.js (new) 643 kB 🔴 +643 kB 🔴 +145 kB 🔴 +116 kB
assets/api-z1AtytDX.js (removed) 643 kB 🟢 -643 kB 🟢 -145 kB 🟢 -116 kB
assets/load3dService-BMTOMT7q.js (new) 91.2 kB 🔴 +91.2 kB 🔴 +19.1 kB 🔴 +16.5 kB
assets/load3dService-BpvETNBm.js (removed) 91.2 kB 🟢 -91.2 kB 🟢 -19.1 kB 🟢 -16.4 kB
assets/systemStatsStore-1bm3XAWw.js (new) 12.3 kB 🔴 +12.3 kB 🔴 +4.29 kB 🔴 +3.77 kB
assets/systemStatsStore-EYfci9kP.js (removed) 12.3 kB 🟢 -12.3 kB 🟢 -4.29 kB 🟢 -3.77 kB
assets/releaseStore-B5l0VMxe.js (removed) 8.14 kB 🟢 -8.14 kB 🟢 -2.23 kB 🟢 -1.97 kB
assets/releaseStore-Ca5PIeNT.js (new) 8.14 kB 🔴 +8.14 kB 🔴 +2.23 kB 🔴 +1.96 kB
assets/keybindingService-DG8RlCjY.js (new) 6.58 kB 🔴 +6.58 kB 🔴 +1.71 kB 🔴 +1.47 kB
assets/keybindingService-DTj0b5cd.js (removed) 6.58 kB 🟢 -6.58 kB 🟢 -1.71 kB 🟢 -1.47 kB
assets/dialogStore-BNo1twEf.js (new) 4.1 kB 🔴 +4.1 kB 🔴 +1.24 kB 🔴 +1.09 kB
assets/dialogStore-Ch4cJ-8o.js (removed) 4.1 kB 🟢 -4.1 kB 🟢 -1.24 kB 🟢 -1.09 kB
assets/bootstrapStore-BwRT24S9.js (new) 2.13 kB 🔴 +2.13 kB 🔴 +883 B 🔴 +810 B
assets/bootstrapStore-F-1KgK6v.js (removed) 2.13 kB 🟢 -2.13 kB 🟢 -885 B 🟢 -813 B
assets/userStore-3hf4pCJv.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -722 B 🟢 -670 B
assets/userStore-YqUea5Oh.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +721 B 🔴 +636 B
assets/audioService-DAmZrS5u.js (removed) 1.73 kB 🟢 -1.73 kB 🟢 -845 B 🟢 -726 B
assets/audioService-DFoisz4W.js (new) 1.73 kB 🔴 +1.73 kB 🔴 +845 B 🔴 +732 B
assets/releaseStore-FeXDIcva.js (removed) 805 B 🟢 -805 B 🟢 -407 B 🟢 -354 B
assets/workflowDraftStore-CpbP8U4v.js (removed) 781 B 🟢 -781 B 🟢 -403 B 🟢 -350 B
assets/releaseStore-FH32NIGx.js (new) 775 B 🔴 +775 B 🔴 +396 B 🔴 +346 B
assets/dialogService-D8kGxp6J.js (removed) 770 B 🟢 -770 B 🟢 -395 B 🟢 -346 B
assets/workflowDraftStore-mtmDsrrb.js (new) 751 B 🔴 +751 B 🔴 +391 B 🔴 +342 B
assets/dialogService-RA0EdsDL.js (new) 740 B 🔴 +740 B 🔴 +383 B 🔴 +337 B
assets/serverConfigStore-Cg1Zzouw.js 2.32 kB 2.32 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 13 added / 13 removed

Utilities & Hooks — 237 kB (baseline 237 kB) • 🟢 -90 B

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/useConflictDetection-D2eXJP56.js (removed) 177 kB 🟢 -177 kB 🟢 -38.9 kB 🟢 -32.4 kB
assets/useConflictDetection-J8NJKKDX.js (new) 177 kB 🔴 +177 kB 🔴 +38.9 kB 🔴 +32.4 kB
assets/useLoad3d-C-W_zl6m.js (removed) 14.4 kB 🟢 -14.4 kB 🟢 -3.56 kB 🟢 -3.14 kB
assets/useLoad3d-DQ5A57Me.js (new) 14.4 kB 🔴 +14.4 kB 🔴 +3.56 kB 🔴 +3.14 kB
assets/useLoad3dViewer-CvTSt_jt.js (new) 14.2 kB 🔴 +14.2 kB 🔴 +3.16 kB 🔴 +2.8 kB
assets/useLoad3dViewer-DRMcKuHn.js (removed) 14.2 kB 🟢 -14.2 kB 🟢 -3.15 kB 🟢 -2.8 kB
assets/colorUtil-CMnqUgIc.js (removed) 7 kB 🟢 -7 kB 🟢 -2.14 kB 🟢 -1.9 kB
assets/colorUtil-DOjEWuNN.js (new) 7 kB 🔴 +7 kB 🔴 +2.14 kB 🔴 +1.9 kB
assets/subscriptionCheckoutUtil-DWvlHbkj.js (new) 4.12 kB 🔴 +4.12 kB 🔴 +1.53 kB 🔴 +1.33 kB
assets/subscriptionCheckoutUtil-DYjBLQg4.js (removed) 4.12 kB 🟢 -4.12 kB 🟢 -1.53 kB 🟢 -1.33 kB
assets/useFeatureFlags-BW4Yra4P.js (removed) 3.34 kB 🟢 -3.34 kB 🟢 -1.05 kB 🟢 -900 B
assets/useFeatureFlags-Cgksujx_.js (new) 3.34 kB 🔴 +3.34 kB 🔴 +1.05 kB 🔴 +901 B
assets/useWorkspaceUI-dzvJd_EO.js (removed) 3.15 kB 🟢 -3.15 kB 🟢 -890 B 🟢 -769 B
assets/useWorkspaceUI-m6qq6GI8.js (new) 3.15 kB 🔴 +3.15 kB 🔴 +890 B 🔴 +767 B
assets/useSubscriptionCredits-DwEq5x7j.js (new) 2.75 kB 🔴 +2.75 kB 🔴 +1.04 kB 🔴 +905 B
assets/useSubscriptionCredits-WjRthKrp.js (removed) 2.75 kB 🟢 -2.75 kB 🟢 -1.04 kB 🟢 -904 B
assets/useExternalLink-D8CV5kAh.js (new) 1.63 kB 🔴 +1.63 kB 🔴 +756 B 🔴 +668 B
assets/useExternalLink-f0I8RuzF.js (removed) 1.63 kB 🟢 -1.63 kB 🟢 -757 B 🟢 -669 B
assets/useCopyToClipboard-BjI7mr10.js (new) 1.57 kB 🔴 +1.57 kB 🔴 +670 B 🔴 +560 B
assets/useCopyToClipboard-DfGUC3g3.js (removed) 1.57 kB 🟢 -1.57 kB 🟢 -669 B 🟢 -565 B
assets/useErrorHandling-B-_iBIhA.js (new) 1.34 kB 🔴 +1.34 kB 🔴 +554 B 🔴 +507 B
assets/useErrorHandling-CmwuhRp6.js (removed) 1.34 kB 🟢 -1.34 kB 🟢 -553 B 🟢 -505 B
assets/networkUtil-DSA9UCpE.js (new) 1.07 kB 🔴 +1.07 kB 🔴 +587 B 🔴 +498 B
assets/networkUtil-OoGWgngm.js (removed) 1.07 kB 🟢 -1.07 kB 🟢 -587 B 🟢 -489 B
assets/useLoad3d-CcWy-CTB.js (removed) 904 B 🟢 -904 B 🟢 -448 B 🟢 -398 B
assets/useLoad3dViewer-UBnpE_3X.js (removed) 883 B 🟢 -883 B 🟢 -434 B 🟢 -386 B
assets/useLoad3d-DRvFmDN_.js (new) 874 B 🔴 +874 B 🔴 +436 B 🔴 +390 B
assets/audioUtils-CNfzhCrO.js (removed) 858 B 🟢 -858 B 🟢 -501 B 🟢 -421 B
assets/audioUtils-DEu9BjJc.js (new) 858 B 🔴 +858 B 🔴 +500 B 🔴 +421 B
assets/useLoad3dViewer-GtDY18NY.js (new) 853 B 🔴 +853 B 🔴 +420 B 🔴 +377 B
assets/useCurrentUser-DkhVudiP.js (removed) 767 B 🟢 -767 B 🟢 -397 B 🟢 -343 B
assets/useCurrentUser-CHru0NoV.js (new) 737 B 🔴 +737 B 🔴 +386 B 🔴 +339 B
assets/envUtil-CTkDlPyS.js (new) 524 B 🔴 +524 B 🔴 +300 B 🔴 +258 B
assets/envUtil-Djb4sHrV.js (removed) 524 B 🟢 -524 B 🟢 -299 B 🟢 -245 B
assets/_plugin-vue_export-helper-D3CTfeG5.js (removed) 315 B 🟢 -315 B 🟢 -230 B 🟢 -206 B
assets/_plugin-vue_export-helper-D53b894U.js (new) 315 B 🔴 +315 B 🔴 +230 B 🔴 +206 B
assets/markdownRendererUtil-YzPqYQr3.js 1.56 kB 1.56 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/SkeletonUtils-CWsb-x0f.js 133 B 133 B ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 18 added / 18 removed

Vendor & Third-Party — 8.77 MB (baseline 8.77 MB) • ⚪ 0 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-other-B5SCkhZ3.js (removed) 1.55 MB 🟢 -1.55 MB 🟢 -323 kB 🟢 -257 kB
assets/vendor-other-C1doMZFE.js (new) 1.55 MB 🔴 +1.55 MB 🔴 +323 kB 🔴 +257 kB
assets/vendor-tiptap-BkdC6us-.js (removed) 632 kB 🟢 -632 kB 🟢 -147 kB 🟢 -120 kB
assets/vendor-tiptap-eGUDVAYp.js (new) 632 kB 🔴 +632 kB 🔴 +147 kB 🔴 +119 kB
assets/vendor-reka-ui-BBMmji0g.js (new) 240 kB 🔴 +240 kB 🔴 +49 kB 🔴 +40.8 kB
assets/vendor-reka-ui-CPrt7lw0.js (removed) 240 kB 🟢 -240 kB 🟢 -49 kB 🟢 -40.8 kB
assets/vendor-yjs-B7dXz571.js (new) 143 kB 🔴 +143 kB 🔴 +29.6 kB 🔴 +25.9 kB
assets/vendor-yjs-BtrvIr1x.js (removed) 143 kB 🟢 -143 kB 🟢 -29.6 kB 🟢 -25.9 kB
assets/vendor-i18n-C6_f776o.js (removed) 132 kB 🟢 -132 kB 🟢 -27.6 kB 🟢 -23.7 kB
assets/vendor-i18n-cn-CKf2l.js (new) 132 kB 🔴 +132 kB 🔴 +27.6 kB 🔴 +23.7 kB
assets/vendor-vueuse-BNJllOi7.js (new) 111 kB 🔴 +111 kB 🔴 +27.4 kB 🔴 +24 kB
assets/vendor-vueuse-CS5mlw4Q.js (removed) 111 kB 🟢 -111 kB 🟢 -27.4 kB 🟢 -24 kB
assets/vendor-zod-BTzCBa7h.js (new) 110 kB 🔴 +110 kB 🔴 +19.7 kB 🔴 +16.7 kB
assets/vendor-zod-gAWmQIF-.js (removed) 110 kB 🟢 -110 kB 🟢 -19.7 kB 🟢 -16.7 kB
assets/vendor-axios-D0w6WYH0.js (removed) 71.6 kB 🟢 -71.6 kB 🟢 -20.2 kB 🟢 -17.8 kB
assets/vendor-axios-qYA_aG5-.js (new) 71.6 kB 🔴 +71.6 kB 🔴 +20.2 kB 🔴 +17.8 kB
assets/vendor-chart-DPuwexxf.js 399 kB 399 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-firebase-CLEC0CcJ.js 842 kB 842 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-markdown-CLFqBOQ2.js 102 kB 102 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-BrYQO8Nm.js 1.74 MB 1.74 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-sentry-BVA5kbUC.js 183 kB 183 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-Q97wQk05.js 1.8 MB 1.8 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-core-BBP9kkTE.js 312 kB 312 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-CZroAclV.js 398 kB 398 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 8 added / 8 removed

Other — 7.15 MB (baseline 7.15 MB) • 🟢 -1.05 kB

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/i18n-CPOw31P3.js (new) 482 kB 🔴 +482 kB 🔴 +92.4 kB 🔴 +72.1 kB
assets/i18n-CVBqs4R5.js (removed) 482 kB 🟢 -482 kB 🟢 -92.4 kB 🟢 -72.1 kB
assets/core-DbdwZ9_w.js (removed) 71.8 kB 🟢 -71.8 kB 🟢 -18.5 kB 🟢 -15.9 kB
assets/core-te4-h2nU.js (new) 71.8 kB 🔴 +71.8 kB 🔴 +18.5 kB 🔴 +15.9 kB
assets/groupNode-BN9ObjQ5.js (removed) 70.9 kB 🟢 -70.9 kB 🟢 -17.5 kB 🟢 -15.4 kB
assets/groupNode-BXbrOczq.js (new) 70.9 kB 🔴 +70.9 kB 🔴 +17.5 kB 🔴 +15.4 kB
assets/WidgetSelect-BCRaHPbH.js (removed) 56.8 kB 🟢 -56.8 kB 🟢 -12 kB 🟢 -10.4 kB
assets/WidgetSelect-DiHNJPyy.js (new) 56.8 kB 🔴 +56.8 kB 🔴 +12 kB 🔴 +10.4 kB
assets/SubscriptionRequiredDialogContentWorkspace-DfPOJidp.js (removed) 46.1 kB 🟢 -46.1 kB 🟢 -8.62 kB 🟢 -7.46 kB
assets/SubscriptionRequiredDialogContentWorkspace-CsbNUG2U.js (new) 46 kB 🔴 +46 kB 🔴 +8.59 kB 🔴 +7.42 kB
assets/Load3DControls-CyH2MIDr.js (new) 30.9 kB 🔴 +30.9 kB 🔴 +5.34 kB 🔴 +4.66 kB
assets/Load3DControls-DJWEOsyq.js (removed) 30.9 kB 🟢 -30.9 kB 🟢 -5.34 kB 🟢 -4.65 kB
assets/SettingDialogContent-BXFEO0fn.js (removed) 30.9 kB 🟢 -30.9 kB 🟢 -8 kB 🟢 -7.05 kB
assets/SettingDialogContent-DZAdM83T.js (new) 30.9 kB 🔴 +30.9 kB 🔴 +8.01 kB 🔴 +7.04 kB
assets/SubscriptionRequiredDialogContent-BPZX8ie-.js (removed) 26.1 kB 🟢 -26.1 kB 🟢 -6.55 kB 🟢 -5.75 kB
assets/SubscriptionRequiredDialogContent-u2Qo6bO7.js (new) 26.1 kB 🔴 +26.1 kB 🔴 +6.56 kB 🔴 +5.76 kB
assets/Load3dViewerContent-CTsAfpfA.js (removed) 23.3 kB 🟢 -23.3 kB 🟢 -5.28 kB 🟢 -4.57 kB
assets/Load3dViewerContent-DJgr2Y3g.js (new) 23.3 kB 🔴 +23.3 kB 🔴 +5.28 kB 🔴 +4.58 kB
assets/WidgetImageCrop-D1wNduKF.js (removed) 22.4 kB 🟢 -22.4 kB 🟢 -5.53 kB 🟢 -4.88 kB
assets/WidgetImageCrop-a4cMtPYZ.js (new) 22.3 kB 🔴 +22.3 kB 🔴 +5.52 kB 🔴 +4.85 kB
assets/SubscriptionPanelContentWorkspace-Bbwt7VoK.js (new) 21.8 kB 🔴 +21.8 kB 🔴 +5.19 kB 🔴 +4.59 kB
assets/SubscriptionPanelContentWorkspace-DXLBmjzi.js (removed) 21.8 kB 🟢 -21.8 kB 🟢 -5.19 kB 🟢 -4.6 kB
assets/CurrentUserPopoverWorkspace-BarT9b8U.js (new) 20.7 kB 🔴 +20.7 kB 🔴 +5.11 kB 🔴 +4.54 kB
assets/CurrentUserPopoverWorkspace-BUX_zTe1.js (removed) 20.7 kB 🟢 -20.7 kB 🟢 -5.11 kB 🟢 -4.53 kB
assets/FormItem-DER61bun.js (new) 20.2 kB 🔴 +20.2 kB 🔴 +4.87 kB 🔴 +4.25 kB
assets/FormItem-DSN6CZL_.js (removed) 20.2 kB 🟢 -20.2 kB 🟢 -4.87 kB 🟢 -4.24 kB
assets/SignInContent-DPl4RLed.js (removed) 19 kB 🟢 -19 kB 🟢 -4.83 kB 🟢 -4.22 kB
assets/SignInContent-DJJrJPZ0.js (new) 19 kB 🔴 +19 kB 🔴 +4.82 kB 🔴 +4.22 kB
assets/WidgetRecordAudio-Yd-DRGRL.js (removed) 17.3 kB 🟢 -17.3 kB 🟢 -4.97 kB 🟢 -4.45 kB
assets/WidgetRecordAudio-Dvmk26EM.js (new) 17.3 kB 🔴 +17.3 kB 🔴 +4.96 kB 🔴 +4.42 kB
assets/Load3D-C9c5njZG.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +4.04 kB 🔴 +3.52 kB
assets/Load3D-DbXg9M05.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -4.04 kB 🟢 -3.52 kB
assets/MissingModelsWarning-C2vEt51E.js (removed) 16.1 kB 🟢 -16.1 kB 🟢 -4.42 kB 🟢 -3.92 kB
assets/MissingModelsWarning-ZvCp0jbx.js (new) 16.1 kB 🔴 +16.1 kB 🔴 +4.41 kB 🔴 +3.92 kB
assets/WidgetInputNumber-CVXdUG47.js (removed) 15.8 kB 🟢 -15.8 kB 🟢 -4.27 kB 🟢 -3.8 kB
assets/WidgetInputNumber-DmpxDwoe.js (new) 15.8 kB 🔴 +15.8 kB 🔴 +4.26 kB 🔴 +3.8 kB
assets/load3d-DW5bPhFc.js (removed) 14.8 kB 🟢 -14.8 kB 🟢 -4.2 kB 🟢 -3.65 kB
assets/load3d-DGLPAyu0.js (new) 14.8 kB 🔴 +14.8 kB 🔴 +4.19 kB 🔴 +3.65 kB
assets/LazyImage-27bDBTQB.js (removed) 12.3 kB 🟢 -12.3 kB 🟢 -3.8 kB 🟢 -3.34 kB
assets/LazyImage-Br35X4MU.js (new) 12.3 kB 🔴 +12.3 kB 🔴 +3.8 kB 🔴 +3.35 kB
assets/AudioPreviewPlayer-BoYE40y_.js (removed) 10.9 kB 🟢 -10.9 kB 🟢 -3.22 kB 🟢 -2.88 kB
assets/AudioPreviewPlayer-BOaMZuMc.js (new) 10.9 kB 🔴 +10.9 kB 🔴 +3.21 kB 🔴 +2.87 kB
assets/NodeConflictDialogContent-lPJdm5Xq.js (removed) 10.5 kB 🟢 -10.5 kB 🟢 -2.37 kB 🟢 -2.08 kB
assets/NodeConflictDialogContent-DmzRDQmz.js (new) 10.5 kB 🔴 +10.5 kB 🔴 +2.36 kB 🔴 +2.07 kB
assets/changeTracker-CvR2LYSq.js (removed) 9.4 kB 🟢 -9.4 kB 🟢 -2.9 kB 🟢 -2.56 kB
assets/changeTracker-Stn3xLLt.js (new) 9.4 kB 🔴 +9.4 kB 🔴 +2.9 kB 🔴 +2.56 kB
assets/nodeTemplates-CiMvjzC7.js (removed) 9.37 kB 🟢 -9.37 kB 🟢 -3.29 kB 🟢 -2.89 kB
assets/nodeTemplates-CZkpylhK.js (new) 9.34 kB 🔴 +9.34 kB 🔴 +3.28 kB 🔴 +2.88 kB
assets/SelectValue-CCewhfpC.js (new) 8.94 kB 🔴 +8.94 kB 🔴 +2.27 kB 🔴 +1.99 kB
assets/SelectValue-DlZV-zTo.js (removed) 8.94 kB 🟢 -8.94 kB 🟢 -2.27 kB 🟢 -1.99 kB
assets/InviteMemberDialogContent-Bya-DdfS.js (removed) 7.95 kB 🟢 -7.95 kB 🟢 -2.58 kB 🟢 -2.23 kB
assets/InviteMemberDialogContent-fz6YLuRp.js (new) 7.92 kB 🔴 +7.92 kB 🔴 +2.57 kB 🔴 +2.22 kB
assets/WidgetWithControl-DRDQXT9L.js (removed) 7.04 kB 🟢 -7.04 kB 🟢 -2.63 kB 🟢 -2.35 kB
assets/WidgetWithControl-lZzsuzeq.js (new) 7.04 kB 🔴 +7.04 kB 🔴 +2.63 kB 🔴 +2.36 kB
assets/Load3DConfiguration-BWVyLk1R.js (new) 6.36 kB 🔴 +6.36 kB 🔴 +1.93 kB 🔴 +1.69 kB
assets/Load3DConfiguration-DrV2kFHL.js (removed) 6.36 kB 🟢 -6.36 kB 🟢 -1.93 kB 🟢 -1.69 kB
assets/MissingNodesContent-CRpXz8_T.js (removed) 6.15 kB 🟢 -6.15 kB 🟢 -2.09 kB 🟢 -1.86 kB
assets/MissingNodesContent-Da_E1SuT.js (new) 6.15 kB 🔴 +6.15 kB 🔴 +2.09 kB 🔴 +1.86 kB
assets/CreateWorkspaceDialogContent-CxEF4i8L.js (removed) 5.58 kB 🟢 -5.58 kB 🟢 -2.01 kB 🟢 -1.75 kB
assets/CreateWorkspaceDialogContent-CjWv8xlH.js (new) 5.55 kB 🔴 +5.55 kB 🔴 +2 kB 🔴 +1.75 kB
assets/EditWorkspaceDialogContent-BcD4J39d.js (removed) 5.38 kB 🟢 -5.38 kB 🟢 -1.97 kB 🟢 -1.71 kB
assets/EditWorkspaceDialogContent-DdymrHkL.js (new) 5.35 kB 🔴 +5.35 kB 🔴 +1.96 kB 🔴 +1.7 kB
assets/ValueControlPopover-TnqgTxp_.js (removed) 4.96 kB 🟢 -4.96 kB 🟢 -1.8 kB 🟢 -1.59 kB
assets/ValueControlPopover-CDQjQmL8.js (new) 4.93 kB 🔴 +4.93 kB 🔴 +1.78 kB 🔴 +1.59 kB
assets/Preview3d-CeG0Rm89.js (removed) 4.86 kB 🟢 -4.86 kB 🟢 -1.59 kB 🟢 -1.39 kB
assets/CancelSubscriptionDialogContent-CaaXmBlN.js (removed) 4.84 kB 🟢 -4.84 kB 🟢 -1.8 kB 🟢 -1.58 kB
assets/Preview3d-DEnzZ_2V.js (new) 4.83 kB 🔴 +4.83 kB 🔴 +1.58 kB 🔴 +1.37 kB
assets/CancelSubscriptionDialogContent-CqIVr661.js (new) 4.81 kB 🔴 +4.81 kB 🔴 +1.79 kB 🔴 +1.57 kB
assets/MissingNodesFooter-B3jHFFpm.js (new) 4.81 kB 🔴 +4.81 kB 🔴 +1.78 kB 🔴 +1.58 kB
assets/MissingNodesFooter-CIpiO_wp.js (removed) 4.81 kB 🟢 -4.81 kB 🟢 -1.79 kB 🟢 -1.59 kB
assets/AnimationControls-CaZCanJe.js (new) 4.61 kB 🔴 +4.61 kB 🔴 +1.6 kB 🔴 +1.41 kB
assets/AnimationControls-s1zsJztH.js (removed) 4.61 kB 🟢 -4.61 kB 🟢 -1.6 kB 🟢 -1.41 kB
assets/DeleteWorkspaceDialogContent-CvpRIlyo.js (removed) 4.28 kB 🟢 -4.28 kB 🟢 -1.66 kB 🟢 -1.43 kB
assets/DeleteWorkspaceDialogContent-Bg0dsRu_.js (new) 4.25 kB 🔴 +4.25 kB 🔴 +1.64 kB 🔴 +1.42 kB
assets/LeaveWorkspaceDialogContent-CzzIfWH4.js (removed) 4.11 kB 🟢 -4.11 kB 🟢 -1.6 kB 🟢 -1.39 kB
assets/RemoveMemberDialogContent-BxfFdpQB.js (removed) 4.09 kB 🟢 -4.09 kB 🟢 -1.55 kB 🟢 -1.35 kB
assets/LeaveWorkspaceDialogContent-DiVmE2dg.js (new) 4.08 kB 🔴 +4.08 kB 🔴 +1.59 kB 🔴 +1.38 kB
assets/RemoveMemberDialogContent-CtF8FnmX.js (new) 4.06 kB 🔴 +4.06 kB 🔴 +1.54 kB 🔴 +1.33 kB
assets/RevokeInviteDialogContent-E9XyD92P.js (removed) 4 kB 🟢 -4 kB 🟢 -1.56 kB 🟢 -1.37 kB
assets/RevokeInviteDialogContent-BuzKBXml.js (new) 3.97 kB 🔴 +3.97 kB 🔴 +1.55 kB 🔴 +1.35 kB
assets/WidgetGalleria-DXX2ajdG.js (removed) 3.61 kB 🟢 -3.61 kB 🟢 -1.4 kB 🟢 -1.25 kB
assets/WidgetGalleria-QnD5GX-o.js (new) 3.61 kB 🔴 +3.61 kB 🔴 +1.39 kB 🔴 +1.25 kB
assets/Slider-B7gOoOBF.js (removed) 3.52 kB 🟢 -3.52 kB 🟢 -1.36 kB 🟢 -1.19 kB
assets/Slider-D6pElFCM.js (new) 3.52 kB 🔴 +3.52 kB 🔴 +1.37 kB 🔴 +1.19 kB
assets/saveMesh-BGP_r3Cp.js (removed) 3.42 kB 🟢 -3.42 kB 🟢 -1.47 kB 🟢 -1.31 kB
assets/saveMesh-o6dDfvyR.js (new) 3.4 kB 🔴 +3.4 kB 🔴 +1.46 kB 🔴 +1.3 kB
assets/WidgetTextarea-CNKkymLA.js (new) 3.14 kB 🔴 +3.14 kB 🔴 +1.3 kB 🔴 +1.14 kB
assets/WidgetTextarea-IA4Drc0U.js (removed) 3.14 kB 🟢 -3.14 kB 🟢 -1.3 kB 🟢 -1.14 kB
assets/cloudSessionCookie-B9o2k-x5.js (removed) 3.12 kB 🟢 -3.12 kB 🟢 -1.09 kB 🟢 -968 B
assets/cloudSessionCookie-C9fqmNDG.js (new) 3.12 kB 🔴 +3.12 kB 🔴 +1.09 kB 🔴 +953 B
assets/WidgetImageCompare-BA7xV_Kz.js (new) 3.1 kB 🔴 +3.1 kB 🔴 +1.15 kB 🔴 +997 B
assets/WidgetImageCompare-D8fnwO5D.js (removed) 3.1 kB 🟢 -3.1 kB 🟢 -1.15 kB 🟢 -1.01 kB
assets/GlobalToast-BbdYkGHM.js (new) 2.91 kB 🔴 +2.91 kB 🔴 +1.21 kB 🔴 +1.07 kB
assets/GlobalToast-BPCO7534.js (removed) 2.91 kB 🟢 -2.91 kB 🟢 -1.22 kB 🟢 -1.07 kB
assets/WidgetColorPicker-D6HnwloN.js (new) 2.9 kB 🔴 +2.9 kB 🔴 +1.23 kB 🔴 +1.11 kB
assets/WidgetColorPicker-r92nsnE8.js (removed) 2.9 kB 🟢 -2.9 kB 🟢 -1.23 kB 🟢 -1.11 kB
assets/ApiNodesSignInContent-CORRuzcg.js (removed) 2.69 kB 🟢 -2.69 kB 🟢 -1.05 kB 🟢 -947 B
assets/ApiNodesSignInContent-rACcGOzG.js (new) 2.69 kB 🔴 +2.69 kB 🔴 +1.05 kB 🔴 +918 B
assets/WidgetToggleSwitch-DumzquCf.js (new) 2.5 kB 🔴 +2.5 kB 🔴 +1.09 kB 🔴 +974 B
assets/WidgetToggleSwitch-gI503ait.js (removed) 2.5 kB 🟢 -2.5 kB 🟢 -1.1 kB 🟢 -992 B
assets/NodeConflictFooter-Bkib4phv.js (removed) 2.37 kB 🟢 -2.37 kB 🟢 -1.03 kB 🟢 -892 B
assets/NodeConflictFooter-DxbvoKBI.js (new) 2.37 kB 🔴 +2.37 kB 🔴 +1.03 kB 🔴 +908 B
assets/SubscribeToRun-CSBbRnQI.js (new) 2.2 kB 🔴 +2.2 kB 🔴 +1.01 kB 🔴 +888 B
assets/SubscribeToRun-CVGcZGGS.js (removed) 2.2 kB 🟢 -2.2 kB 🟢 -1.01 kB 🟢 -892 B
assets/WidgetLayoutField-D2vH95iI.js (removed) 1.95 kB 🟢 -1.95 kB 🟢 -880 B 🟢 -764 B
assets/WidgetLayoutField-Dr-F4uad.js (new) 1.95 kB 🔴 +1.95 kB 🔴 +881 B 🔴 +758 B
assets/ImportFailedNodeFooter-BpTP1fnO.js (new) 1.88 kB 🔴 +1.88 kB 🔴 +865 B 🔴 +752 B
assets/ImportFailedNodeFooter-DtjCNMK9.js (removed) 1.88 kB 🟢 -1.88 kB 🟢 -867 B 🟢 -754 B
assets/WidgetInputText-BoC2pNt7.js (new) 1.85 kB 🔴 +1.85 kB 🔴 +872 B 🔴 +791 B
assets/WidgetInputText-Dco9umyN.js (removed) 1.85 kB 🟢 -1.85 kB 🟢 -876 B 🟢 -802 B
assets/SettingDialogHeader-DPj360Mo.js (new) 1.8 kB 🔴 +1.8 kB 🔴 +896 B 🔴 +807 B
assets/SettingDialogHeader-DsDyHxDv.js (removed) 1.8 kB 🟢 -1.8 kB 🟢 -895 B 🟢 -803 B
assets/BaseViewTemplate-CUITYRai.js (removed) 1.75 kB 🟢 -1.75 kB 🟢 -912 B 🟢 -826 B
assets/BaseViewTemplate-j7vYykmE.js (new) 1.75 kB 🔴 +1.75 kB 🔴 +911 B 🔴 +816 B
assets/MediaImageTop-CfSf55hX.js (new) 1.75 kB 🔴 +1.75 kB 🔴 +879 B 🔴 +749 B
assets/MediaImageTop-Ci7hK6Hx.js (removed) 1.75 kB 🟢 -1.75 kB 🟢 -879 B 🟢 -750 B
assets/CloudRunButtonWrapper-Fdykyowq.js (removed) 1.72 kB 🟢 -1.72 kB 🟢 -812 B 🟢 -727 B
assets/CloudRunButtonWrapper-Bgre84kH.js (new) 1.69 kB 🔴 +1.69 kB 🔴 +796 B 🔴 +720 B
assets/signInSchema-CXnpEfIH.js (removed) 1.53 kB 🟢 -1.53 kB 🟢 -563 B 🟢 -488 B
assets/signInSchema-Dce6V2W-.js (new) 1.53 kB 🔴 +1.53 kB 🔴 +562 B 🔴 +525 B
assets/cloudBadges-BTpYKjcq.js (removed) 1.41 kB 🟢 -1.41 kB 🟢 -733 B 🟢 -632 B
assets/cloudBadges-B-7pJKXa.js (new) 1.38 kB 🔴 +1.38 kB 🔴 +715 B 🔴 +621 B
assets/cloudSubscription-D_nQ3Wth.js (removed) 1.37 kB 🟢 -1.37 kB 🟢 -682 B 🟢 -591 B
assets/cloudSubscription-CWpNN-Tn.js (new) 1.34 kB 🔴 +1.34 kB 🔴 +667 B 🔴 +573 B
assets/MissingNodesHeader-BzeTTUc-.js (new) 1.09 kB 🔴 +1.09 kB 🔴 +579 B 🔴 +503 B
assets/MissingNodesHeader-YwveLyUp.js (removed) 1.09 kB 🟢 -1.09 kB 🟢 -579 B 🟢 -503 B
assets/NodeConflictHeader-DyMP7Pq3.js (new) 1.09 kB 🔴 +1.09 kB 🔴 +566 B 🔴 +478 B
assets/NodeConflictHeader-WwA-9ZoH.js (removed) 1.09 kB 🟢 -1.09 kB 🟢 -566 B 🟢 -479 B
assets/Load3D-BeldEVb8.js (removed) 1.08 kB 🟢 -1.08 kB 🟢 -507 B 🟢 -449 B
assets/ImportFailedNodeHeader-BoA1xnh6.js (removed) 1.08 kB 🟢 -1.08 kB 🟢 -551 B 🟢 -470 B
assets/ImportFailedNodeHeader-BuiKS0Ld.js (new) 1.08 kB 🔴 +1.08 kB 🔴 +552 B 🔴 +472 B
assets/Load3D-CZZvvS1L.js (new) 1.05 kB 🔴 +1.05 kB 🔴 +491 B 🔴 +439 B
assets/nightlyBadges-BJYKH3wt.js (removed) 1.05 kB 🟢 -1.05 kB 🟢 -557 B 🟢 -491 B
assets/nightlyBadges-D7KfkZ6S.js (new) 1.02 kB 🔴 +1.02 kB 🔴 +545 B 🔴 +478 B
assets/Load3dViewerContent-DpdLp7j3.js (removed) 1 kB 🟢 -1 kB 🟢 -479 B 🟢 -424 B
assets/SubscriptionPanelContentWorkspace-BR5fkMi6.js (removed) 975 B 🟢 -975 B 🟢 -460 B 🟢 -400 B
assets/Load3dViewerContent-iXHNU-5N.js (new) 974 B 🔴 +974 B 🔴 +464 B 🔴 +410 B
assets/SubscriptionPanelContentWorkspace-BhjPNllL.js (new) 945 B 🔴 +945 B 🔴 +448 B 🔴 +389 B
assets/SettingDialogContent-CEYn2DKN.js (removed) 917 B 🟢 -917 B 🟢 -446 B 🟢 -395 B
assets/ComfyOrgHeader-Cb9w2YJJ.js (new) 909 B 🔴 +909 B 🔴 +496 B 🔴 +434 B
assets/ComfyOrgHeader-DFENHLtB.js (removed) 909 B 🟢 -909 B 🟢 -494 B 🟢 -424 B
assets/SettingDialogContent-CznBNCoF.js (new) 887 B 🔴 +887 B 🔴 +432 B 🔴 +380 B
assets/changeTracker-B1sPoOeE.js (removed) 802 B 🟢 -802 B 🟢 -408 B 🟢 -351 B
assets/WidgetLegacy-DUa3Vypm.js (removed) 790 B 🟢 -790 B 🟢 -410 B 🟢 -352 B
assets/changeTracker-DTc_y9l3.js (new) 772 B 🔴 +772 B 🔴 +395 B 🔴 +346 B
assets/graphHasMissingNodes-B-rUymA8.js (removed) 761 B 🟢 -761 B 🟢 -373 B 🟢 -328 B
assets/graphHasMissingNodes-BXLh9-C1.js (new) 761 B 🔴 +761 B 🔴 +374 B 🔴 +321 B
assets/WidgetLegacy-CVdO6uw3.js (new) 760 B 🔴 +760 B 🔴 +397 B 🔴 +349 B
assets/widget-DZ2L2V2o.js (new) 445 B 🔴 +445 B 🔴 +304 B 🔴 +247 B
assets/widget-RLUqfB5N.js (removed) 445 B 🟢 -445 B 🟢 -305 B 🟢 -247 B
assets/widgetTypes-CvFcS86j.js (removed) 393 B 🟢 -393 B 🟢 -259 B 🟢 -213 B
assets/widgetTypes-CYQJBz0f.js (new) 393 B 🔴 +393 B 🔴 +260 B 🔴 +245 B
assets/WidgetInputNumber-CqlG30sS.js (removed) 392 B 🟢 -392 B 🟢 -233 B 🟢 -211 B
assets/WidgetInputNumber-DRmltHsb.js (new) 392 B 🔴 +392 B 🔴 +229 B 🔴 +199 B
assets/SettingDialogHeader-CAiMA3yt.js (removed) 375 B 🟢 -375 B 🟢 -224 B 🟢 -218 B
assets/SettingDialogHeader-CdCIVU45.js (new) 345 B 🔴 +345 B 🔴 +208 B 🔴 +199 B
assets/types-VDank0gz.js (removed) 318 B 🟢 -318 B 🟢 -225 B 🟢 -204 B
assets/src-Dgc1EJR_.js (removed) 251 B 🟢 -251 B 🟢 -213 B 🟢 -196 B
assets/src-Q7PYLmIC.js (new) 251 B 🔴 +251 B 🔴 +213 B 🔴 +188 B
assets/types-BYdQ-wbS.js (new) 245 B 🔴 +245 B 🔴 +175 B 🔴 +139 B
assets/telemetry-C9AnI0k5.js (new) 226 B 🔴 +226 B 🔴 +185 B 🔴 +154 B
assets/telemetry-ClsP3hA9.js (removed) 226 B 🟢 -226 B 🟢 -183 B 🟢 -158 B
assets/i18n-BZqhM1Bl.js (new) 199 B 🔴 +199 B 🔴 +160 B 🔴 +139 B
assets/i18n-KKbabUHa.js (removed) 199 B 🟢 -199 B 🟢 -161 B 🟢 -140 B
assets/auto-zCGpezkl.js 1.7 kB 1.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/comfy-logo-single-CzGozBag.js 198 B 198 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-5h65sKz2.js 16.2 kB 16.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-B1ebAe6N.js 16.7 kB 16.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CRx-vqG1.js 15.4 kB 15.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DIwahzUa.js 15.2 kB 15.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DMlRtEU0.js 15.3 kB 15.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DpS8y4O5.js 17.9 kB 17.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-FXC3_zxH.js 16.7 kB 16.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-hWSmKRGf.js 14.6 kB 14.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-j-tQgnMj.js 14.4 kB 14.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-SmCqaJk0.js 15.9 kB 15.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-WU4257sl.js 15.4 kB 15.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ImportFailedNodeContent-CFc03Tip.js 2.48 kB 2.48 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C38gxHH8.js 114 kB 114 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CgjHOkrX.js 161 kB 161 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Cgqg3q6e.js 180 kB 180 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CqLSuwgg.js 128 kB 128 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CUnKsvCy.js 129 kB 129 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D1jWNpGv.js 113 kB 113 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D5rAzkkP.js 131 kB 131 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DmB5sahX.js 136 kB 136 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DY2iV8sv.js 148 kB 148 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-MY2-qMci.js 155 kB 155 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-ZndfQssq.js 133 kB 133 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/Media3DTop-68BNrAjP.js 1.82 kB 1.82 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-Iq5PlzyI.js 1.43 kB 1.43 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-MY4C12Xl.js 2.23 kB 2.23 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BSsCapVw.js 375 kB 375 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BtRKM3M2.js 405 kB 405 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-ClO6R62B.js 329 kB 329 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DJgvVsx3.js 358 kB 358 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DjqMN7vc.js 332 kB 332 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DLQi6_4L.js 406 kB 406 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DSY1ao6T.js 361 kB 361 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-eHA8ICwM.js 361 kB 361 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-GqHfcoE5.js 354 kB 354 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-oC4LLwGi.js 442 kB 442 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-ZrZ0pB9x.js 365 kB 365 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/PanelTemplate-CIz8rKRB.js 1.2 kB 1.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/previousFullPath-B7z583a8.js 665 B 665 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/rolldown-runtime-Ca2S-reV.js 1.87 kB 1.87 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-DNUpZ6Xj.js 131 B 131 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetBoundingBox-q5CDrAhg.js 3.94 kB 3.94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-rk55tEpB.js 2.21 kB 2.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetMarkdown-C97vcvEN.js 2.88 kB 2.88 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-HMrZZpDm.js 1.1 kB 1.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 82 added / 82 removed

christian-byrne added a commit that referenced this pull request Feb 8, 2026
…tant (#8710)

## Summary

Replace all runtime `isElectron()` function calls with the build-time
`isDesktop` constant from `@/platform/distribution/types`, enabling
dead-code elimination in non-desktop builds.

## Changes

- **What**: Migrate 30 files from runtime `isElectron()` detection
(checking `window.electronAPI`) to the compile-time `isDesktop` constant
(driven by `__DISTRIBUTION__` Vite define). Remove `isElectron` from
`envUtil.ts`. Update `isNativeWindow()` to use `isDesktop`. Guard
`electronAPI()` calls behind `isDesktop` checks in stores. Update 7 test
files to use `vi.hoisted` + getter mock pattern for per-test `isDesktop`
toggling. Add `DISTRIBUTION=desktop` to `dev:electron` script.

## Review Focus

- The `electronDownloadStore.ts` now guards the top-level
`electronAPI()` call behind `isDesktop` to prevent crashes on
non-desktop builds.
- Test mocking pattern uses `vi.hoisted` with a getter to allow per-test
toggling of the `isDesktop` value.
- Pre-existing issues not addressed: `as ElectronAPI` cast in
`envUtil.ts`, `:class="[]"` in `BaseViewTemplate.vue`,
`@ts-expect-error` in `ModelLibrarySidebarTab.vue`.
- This subsumes PR #8627 and renders PR #6122 and PR #7374 obsolete.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8710-refactor-replace-runtime-isElectron-with-build-time-isDesktop-constant-3006d73d365081c08037f0e61c2f6c77)
by [Unito](https://www.unito.io)
@christian-byrne
Copy link
Contributor

Replaced by #8710

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants