Skip to content

Add Desktop telemetry event sink#12802

Open
benceruleanlu wants to merge 3 commits into
mainfrom
bl/mar-240-frontend-event-sink
Open

Add Desktop telemetry event sink#12802
benceruleanlu wants to merge 3 commits into
mainfrom
bl/mar-240-frontend-event-sink

Conversation

@benceruleanlu

@benceruleanlu benceruleanlu commented Jun 11, 2026

Copy link
Copy Markdown
Member

Summary

  • initialize a Desktop-only telemetry provider in ComfyUI_frontend
  • forward existing typed telemetry events through window.__comfyDesktop2.Telemetry.capture using the existing event names
  • move the Desktop 2 bridge typing to the shared ambient types and let run/execution telemetry fire when any provider is registered

Paired change

Validation

  • pnpm typecheck
  • pnpm format:check
  • pnpm lint
  • pnpm knip
  • pnpm test:unit src/platform/missingModel/missingModelDownload.test.ts src/platform/telemetry/initDesktopTelemetry.test.ts src/platform/telemetry/providers/desktop/DesktopTelemetryProvider.test.ts
  • YAML lint over tracked YAML files with .yamllint

MAR-240

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds desktop telemetry: bridge types, a DesktopTelemetryProvider with payload sanitization and many track* methods plus tests, a desktop-only initializer wired into startup, narrows the Desktop2 model-download bridge typing, and removes cloud-only telemetry guards so events emit for all distributions.

Changes

Desktop Telemetry Infrastructure

Layer / File(s) Summary
Type definitions and Desktop2 bridge contract
src/types/index.ts
Defines ComfyDesktop2Bridge and telemetry value types; augments globalThis.Window with optional __comfyDesktop2 and __comfyDesktop2Remote.
DesktopTelemetryProvider implementation
src/platform/telemetry/providers/desktop/DesktopTelemetryProvider.ts
Implements DesktopTelemetryProvider with property sanitization (primitives and primitive arrays only), capture() forwarding to window.__comfyDesktop2?.Telemetry?.capture, and many track* methods covering auth, subscriptions, checkout, topups, surveys, templates/workflows, navigation/search/UI, and execution lifecycle.
DesktopTelemetryProvider tests
src/platform/telemetry/providers/desktop/DesktopTelemetryProvider.test.ts
Vitest suite with mocks for app mode and execution context, validating forwarding, payload sanitization, GA4 naming, and safe no-bridge behavior.
Desktop telemetry initialization
src/platform/telemetry/initDesktopTelemetry.ts, src/main.ts
Adds initDesktopTelemetry() registering DesktopTelemetryProvider in the TelemetryRegistry and dynamically imports/invokes it during startup when __DISTRIBUTION__ === 'desktop'.
Remove isCloud gating from telemetry
src/scripts/ui.ts, src/stores/executionStore.ts
Removes isCloud guards so queue UI handlers and execution success/error handlers call telemetry methods unconditionally (shared-workflow attribution still gated by shareId).
Model download bridge typing
src/platform/missingModel/missingModelDownload.ts
Replaces local ambient typings with exported ComfyDesktop2Bridge, narrows startDesktop2ModelDownload to accept a downloadModel function, and extracts/passes only that function from window.__comfyDesktop2.
CI dist scan update
.github/workflows/ci-dist-telemetry-scan.yaml
Adds a dist scan step that ripgreps dist build artifacts for Desktop telemetry identifiers and fails the job if any matches are found.

Sequence Diagram(s)

sequenceDiagram
  participant AppCode as Application Code
  participant Provider as DesktopTelemetryProvider
  participant Sanitizer as Sanitize Properties
  participant DesktopHost as window.__comfyDesktop2.Telemetry
  
  AppCode->>Provider: trackRunButton() / trackWorkflowImported() / etc.
  Provider->>Sanitizer: filter properties to primitives/arrays
  Sanitizer-->>Provider: sanitized properties
  Provider->>DesktopHost: capture(eventName, sanitizedProperties)
  DesktopHost-->>Provider: (optional response)
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested labels

Electron, area:testing, cloud/1.45

Suggested reviewers

  • christian-byrne
  • AustinMroz
  • comfyui-wiki

Poem

🐰 I hop and tap the telemetry tree,
I prune the props to primitives three,
Desktop hears each little click,
Clean and small — not messy or thick,
Hooray, the rabbit logs with glee!


Important

Pre-merge checks failed

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

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
End-To-End Regression Coverage For Fixes ❓ Inconclusive Review context lacks commit subjects and a reliable base...head changed-file list (incl. any browser_tests changes), so bug-fix/E2E-test conditions can’t be evaluated. Share the PR’s full commit subjects and exact base...head changed-file list (especially any under browser_tests/), or add the missing PR-description justification for no E2E regression test.
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding a Desktop telemetry provider to forward events to the desktop bridge.
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 PR changed only telemetry/model/type files (per provided diff); no modifications under src/lib/litegraph/, src/ecs/, or graph entities, so ADR entity/litegraph checks are not applicable.
Description check ✅ Passed PR description provides a clear summary, lists concrete changes, identifies paired work, and documents validation steps performed.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bl/mar-240-frontend-event-sink

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.

@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Jun 11, 2026
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 11, 2026
@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 31.54362% with 102 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...form/telemetry/providers/host/HostTelemetrySink.ts 23.07% 90 Missing ⚠️
src/main.ts 0.00% 7 Missing ⚠️
src/scripts/ui.ts 0.00% 4 Missing ⚠️
.../telemetry/providers/cloud/GtmTelemetryProvider.ts 0.00% 1 Missing ⚠️
@@            Coverage Diff             @@
##             main   #12802      +/-   ##
==========================================
- Coverage   76.30%   76.14%   -0.17%     
==========================================
  Files        1571     1573       +2     
  Lines      101779   101901     +122     
  Branches    31295    30698     -597     
==========================================
- Hits        77663    77593      -70     
- Misses      23306    23500     +194     
+ Partials      810      808       -2     
Flag Coverage Δ
unit 62.84% <31.54%> (-0.06%) ⬇️

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

Files with missing lines Coverage Δ
src/platform/remoteConfig/refreshRemoteConfig.ts 78.78% <100.00%> (+1.36%) ⬆️
src/platform/telemetry/initHostTelemetry.ts 100.00% <100.00%> (ø)
src/platform/telemetry/types.ts 100.00% <ø> (ø)
src/stores/executionStore.ts 90.58% <100.00%> (-0.28%) ⬇️
.../telemetry/providers/cloud/GtmTelemetryProvider.ts 71.31% <0.00%> (ø)
src/scripts/ui.ts 35.84% <0.00%> (+0.26%) ⬆️
src/main.ts 48.88% <0.00%> (-7.53%) ⬇️
...form/telemetry/providers/host/HostTelemetrySink.ts 23.07% <23.07%> (ø)

... and 11 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.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 12, 2026
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 12, 2026
@socket-security

socket-security Bot commented Jun 12, 2026

Copy link
Copy Markdown

No dependency changes detected. Learn more about Socket for GitHub.

👍 No dependency changes detected in pull request

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 12, 2026
@jaeone94

Copy link
Copy Markdown
Collaborator

I agree with the goal of routing Desktop-hosted frontend telemetry through the Desktop telemetry pipeline, but I’m concerned about extending window.__comfyDesktop2 before we decide whether it is an official Desktop/FE API surface.

The recent missing-model download work treated this bridge as a pragmatic escape hatch to get off DOM/aria scraping. In particular, Comfy-Desktop#1044 describes the Desktop injection path as a stopgap/backwards-compatibility safety net, and ComfyUI_frontend#12710 lists defining/documenting the FE/Desktop2 bridge contract as follow-up work.

This PR adds telemetry to the same surface. Telemetry is more cross-cutting than missing-model download capability, and once FE starts calling window.__comfyDesktop2.Telemetry.capture, this bridge effectively becomes a stable platform API whether or not we have said so explicitly.

I think we should clarify this before merging:

  • Is window.__comfyDesktop2 intended to be the official Desktop-to-hosted-FE capability bridge?
  • If yes, can we document that contract and add explicit capability detection/versioning, e.g. a capabilities.telemetry flag or equivalent?
  • Can the FE/Desktop bridge type live in a canonical/shared place rather than growing as ad hoc ambient globals?
  • Can the preload bridge remain fire-and-forget/safe if FE accidentally passes non-cloneable telemetry properties?
  • If this bridge is still considered temporary, I think telemetry should wait for the proper native/capability API rather than expanding this surface.

I’m not opposed to a preload-exposed Desktop capability API in principle. My concern is that this PR turns a temporary bridge into a de facto official API without making the ownership, compatibility, and privacy/safety contract explicit.

@christian-byrne christian-byrne left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't think desktop is a provider of tele.etry really. Can we just have posthog telemetry provider and have desktop opt in? Then we can remove the duplication. The global window bridge shouldn't exist either

@benceruleanlu

Copy link
Copy Markdown
Member Author

@jaeone94 There is a misunderstanding here.

The "stopgap" described in Comfy-Org/Comfy-Desktop#1044 is comfyContentScript.ts — the executeJavaScript-injected DOM scraper that intercepts download clicks for frontends that predate #12710. That's the backwards-compatibility safety net, and it's slated for deletion once the minimum shipped frontend calls the bridge directly.

window.__comfyDesktop2 is a different thing: it's a standard Electron preload surface, exposed via contextBridge.exposeInMainWorld in src/preload/comfyPreload.ts with every method delegating to ipcRenderer.invoke, attached to the ComfyUI view with contextIsolation: true. FE calling the bridge directly isn't an expansion of the stopgap — it's the replacement for it, per Comfy-Org/Comfy-Desktop#1044's own description.

On your specific questions:

Is window.__comfyDesktop2 the intended official bridge?

Yes. Desktop 2 deliberately ships the stock released frontend — no fork, no --front-end-version override; this has been a hard constraint since development started. A preload-exposed bridge is therefore the only mechanism Electron offers for Desktop capabilities in a hosted page, and it's the same pattern desktop v1 used with window.electronAPI. There is no more-native API to wait for — this is what the "proper native API" looks like. For background on the pattern: https://www.electronjs.org/docs/latest/tutorial/tutorial-preload

Capability detection/versioning: key presence is the capability flag. FE calls window.__comfyDesktop2?.Telemetry?.capture — old Desktop + new FE means the key is absent and FE no-ops; new Desktop + old FE means the key goes unused. A separate capabilities.telemetry flag would be a second source of truth for the same fact. If we ever need a breaking change, explicit versioning is worth adding then; additive optional keys don't require it.

Canonical typing: this PR already moves the bridge type out of the ad-hoc ambient declaration in missingModelDownload.ts into shared ambient types. If we want one definition both repos consume, the natural follow-up is a published types package (as v1 did with @comfyorg/comfyui-electron-types), though that's separate work.

Clone-safety: the FE provider filters properties to primitives and primitive arrays before invoking (toHostTelemetryProperties), and Comfy-Org/Comfy-Desktop#1069 scrubs again on the main side, so non-cloneable values are dropped rather than thrown. The capture call is sync fire-and-forget on the FE side.

On the bridge contract, yes this wasn't documented, I added it to the PR now.

@benceruleanlu

Copy link
Copy Markdown
Member Author

There is an interesting issue, however.

These two statements cannot be true at the same time:

  • There are no telemetry references in the local-git build of frontend
  • Desktop 2 has frontend telemetry, and does not use a desktop fork or DISTRIBUTION === 'desktop'

What we will have to concede here is that the gate on this desktop telemetry provider will hinge on window.__comfyDesktop2?.Telemetry, but that is a telemetry reference in local-git.

@benceruleanlu

Copy link
Copy Markdown
Member Author

@christian-byrne This is the MAR-240 direction (Jacob's EventSink proposal, confirmed with Deep): the frontend keeps the event layer, Desktop registers as the sink and relays to PostHog. Desktop is the relay because it already owns the PostHog client, the person/device identity, and the consent toggle — and the frontend it hosts is the stock build, which ships no telemetry SDK.

"Have desktop opt in" is how this works: Desktop opts in by exposing Telemetry on its preload bridge; the stock frontend feature-detects and forwards, and registers nothing otherwise. A PostHog provider in the FE would be the duplication — a second client with SDK + key in the page, and identity + consent would still have to be passed in through the bridge to land events under the same user.

The bridge is the only channel Electron offers a hosted page short of forking the frontend — same pattern v1 used with window.electronAPI. Its contract is now documented on ComfyDesktop2Bridge in src/types/index.ts.

Agreed the provider surface can be changed to a thin generic-capture refactor as a follow-up, if we want this.

@benceruleanlu benceruleanlu force-pushed the bl/mar-240-frontend-event-sink branch 3 times, most recently from 22d04a1 to 1c9d778 Compare June 15, 2026 21:10
@benceruleanlu

Copy link
Copy Markdown
Member Author

This was @christian-byrne's verbatim review posted in Slack:

Some things I notice reading the PR again:

  1. general pattern is we don't want telemetry importing from things at lower layers like useAppMode. The telemetry provider exposes hooks that are implemented in the relevant modules. This preserves import directionality and means we don't need to worry about module initialization ordering during bootstrap.
  2. the capture method should be typed in the type package.
  3. the capture method's first arg is event: TelemetryEventName | 'begin_checkout', why is begin_checkout special-cased instead of being part of the shared event types?
  4. we should use either build flags or runtime capability flags, not branch on the existence of the window variable. Capability detection is fine as a safety check, but it shouldn't be the primary mechanism for deciding whether telemetry is enabled. Relatedly, isn't this PR going to include the telemetry code in the OSS bundle since it's not branching on a build-time flag?
  5. why do we need to check if the runtime is cloud in the desktop telemetry code? Shouldn't desktop2 and cloud flags be mutually exclusive?
  6. shouldn't we make this better align with the idea of a telemetry provider? At the very least, rename it to something more appropriate. Reading that there's a Mixpanel provider, PostHog provider, GA4 provider, and then a Desktop provider is going to be confusing for agents and future maintainers. Conceptually this feels closer to a telemetry sink / transport than a provider.
  7. generally the frontend should own the event types for product events that it emits. We should be sharing these types with the ones we already have rather than creating a separate contract. To allow Desktop to consume the shared types that we author, we should put the types in our monorepo which will make it much smoother/faster when doing PRs that change the contract.
  8. relatedly, I don't think Desktop should need to define or mirror product-specific telemetry methods/events. The frontend should own event names, payload schemas, and when events are emitted. Desktop should own transport concerns (PostHog client, identity, consent, persistence, retry behavior, etc.) and ideally just expose a typed capture(event, properties) bridge.
  9. if Desktop is ultimately forwarding events to PostHog, I would prefer the abstraction reflect that. Today it feels like we're introducing a parallel telemetry provider hierarchy when what we actually have is another telemetry transport. we are in essence breaking the existing pattern with this and it feels like it will be unintuitive and difficult to maintain. we should consider the alternative that i suggested still -- on the point about pii / rate limiting / etc., i would ask which event specifically need those and also that, the client still needs to know the identity either way so stitching should be possible and will need to be possible anyway.

@benceruleanlu

Copy link
Copy Markdown
Member Author
  1. general pattern is we don't want telemetry importing from things at lower layers like useAppMode. The telemetry provider exposes hooks that are implemented in the relevant modules. This preserves import directionality and means we don't need to worry about module initialization ordering during bootstrap.

While I generally agree with this design preference, all Mixpanel, PostHog, and GTM telemetry providers already import useAppMode, I wouldn't say this PR is inventing it, and thus I don't think we should block marketing and growth on this.

  1. the capture method should be typed in the type package.

The capture method is already typed in the type package, maybe more information is needed here.

https://github.com/Comfy-Org/Comfy-Desktop/pull/1112/changes#diff-d9323d46b68b766beb31187e6fdcd521b254439fafae1dde2d5fafede4fc3ab3R48-R50

  1. the capture method's first arg is event: TelemetryEventName | 'begin_checkout', why is begin_checkout special-cased instead of being part of the shared event types?

This was indeed a valid type improvement, I implemented it.

  1. we should use either build flags or runtime capability flags, not branch on the existence of the window variable. Capability detection is fine as a safety check, but it shouldn't be the primary mechanism for deciding whether telemetry is enabled. Relatedly, isn't this PR going to include the telemetry code in the OSS bundle since it's not branching on a build-time flag?

It seems like branching on window.__comfyDesktop2?.Telemetry is a capability check. Adding another flag for the same thing would be redundant, since this only determines whether the Desktop transport should be registered. Desktop 2 still owns consent enforcement and decides whether telemetry actually leaves the user’s device.

  1. why do we need to check if the runtime is cloud in the desktop telemetry code? Shouldn't desktop2 and cloud flags be mutually exclusive?

This was for safety because__DISTRIBUTION__ === 'cloud' and window.__comfyDesktop2 are not actually mutually exclusive signals, but I implemented the cleanup nit by removing the cloud check.

  1. shouldn't we make this better align with the idea of a telemetry provider? At the very least, rename it to something more appropriate. Reading that there's a Mixpanel provider, PostHog provider, GA4 provider, and then a Desktop provider is going to be confusing for agents and future maintainers. Conceptually this feels closer to a telemetry sink / transport than a provider.

Conceptually, yes it's not the classic case of a provider, but from the registry's perspective, it does behave that way, and that's why it's written as such. Would a rename help? Behaviorally, this is intended.

  1. generally the frontend should own the event types for product events that it emits. We should be sharing these types with the ones we already have rather than creating a separate contract. To allow Desktop to consume the shared types that we author, we should put the types in our monorepo which will make it much smoother/faster when doing PRs that change the contract.

The principle is valid, but the capture method is already generic, Desktop is not defining product event types, It should not know that begin_checkout or app:run_button_clicked exist unless we deliberately decide Desktop should validate product analytics schemas. We can force this, but I would point towards this not being a correctness blocker.

  1. relatedly, I don't think Desktop should need to define or mirror product-specific telemetry methods/events. The frontend should own event names, payload schemas, and when events are emitted. Desktop should own transport concerns (PostHog client, identity, consent, persistence, retry behavior, etc.) and ideally just expose a typed capture(event, properties) bridge.

Note

I think the common pattern here is that a while these principles are valid or directionally correct, but none of them answers the review question of whether or not this code can merge, which is the goal of code review and what's blocking progression right now.

On this point again, Desktop is not defining or mirroring product-specific telemetry methods/events. It is a generic Telemetry.capture(event, properties) method. The boundary being described here is what is already implemented.

  1. if Desktop is ultimately forwarding events to PostHog, I would prefer the abstraction reflect that. Today it feels like we're introducing a parallel telemetry provider hierarchy when what we actually have is another telemetry transport. we are in essence breaking the existing pattern with this and it feels like it will be unintuitive and difficult to maintain. we should consider the alternative that i suggested still -- on the point about pii / rate limiting / etc., i would ask which event specifically need those and also that, the client still needs to know the identity either way so stitching should be possible and will need to be possible anyway.

I think we are going in circles on this one, and probably need to loop in TL @thedatalife.

On the point as a whole, I think using frontend PostHog directly would move us in the wrong direction. It would require Desktop to expose/synchronize identity, consent, config, app metadata, and lifecycle behavior into the renderer, and we would still need policy around PII/rate limiting/retry semantics. That is a wider contract than capture(event, properties). The bridge keeps the boundary smaller: frontend owns event names, payloads, and emission timing; Desktop owns the telemetry client, identity, consent, persistence, retry/rate limiting, and final transport. Stitching may be possible, but it is not a substitute for keeping a single Desktop telemetry authority.

On your point specifically, I think the phrase “parallel telemetry provider hierarchy” may be conflating two different layers. If you mean Desktop has its own telemetry stack and the frontend now has a DesktopTelemetryProvider, that is not a second product-event hierarchy. It is the existing frontend hierarchy: TelemetryRegistry plus TelemetryProvider implementations. DesktopTelemetryProvider is just the frontend adapter for the Desktop transport, in the same way GtmTelemetryProvider, PostHogTelemetryProvider, and MixpanelTelemetryProvider are adapters for their respective transports.

When you say “what we actually have is another telemetry transport,” I agree. That is the intended shape. The current frontend telemetry abstraction models transports as providers, so adding a Desktop transport means adding a frontend provider implementation. The important boundary is that Desktop itself does not get product-specific telemetry methods or event definitions; it only exposes capture(event, properties). If the concern is that the frontend TelemetryProvider interface is too product-method-shaped and should become a generic capture interface, I’m open to that as a follow-up refactor, but that is existing frontend telemetry architecture rather than a new parallel hierarchy introduced by this PR.

@benceruleanlu benceruleanlu changed the base branch from bl/comfyui-desktop-bridge-types to bl/desktop2-frontend-distribution June 16, 2026 05:15
@benceruleanlu benceruleanlu force-pushed the bl/mar-240-frontend-event-sink branch from b73499c to 1db0930 Compare June 18, 2026 00:30
@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Jun 18, 2026
@benceruleanlu benceruleanlu changed the base branch from bl/desktop2-frontend-distribution to bl/telemetry-run-button-context June 18, 2026 00:30
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels Jun 18, 2026
@benceruleanlu benceruleanlu force-pushed the bl/mar-240-frontend-event-sink branch from d6c3b0c to 48eb979 Compare June 18, 2026 00:46
@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown

📦 Bundle: 7.45 MB gzip 🔴 +8.36 kB

Details

Summary

  • Raw size: 31.3 MB baseline 31.3 MB — 🔴 +30.2 kB
  • Gzip: 7.45 MB baseline 7.44 MB — 🔴 +8.36 kB
  • Brotli: 5.1 MB baseline 5.1 MB — 🔴 +6.86 kB
  • Bundles: 280 current • 274 baseline • 259 added / 253 removed

Category Glance
Other 🔴 +27.9 kB (10.4 MB) · Panels & Settings 🔴 +2.45 kB (525 kB) · Utilities & Hooks 🟢 -1.1 kB (3.32 MB) · App Entry Points 🔴 +958 B (46.7 kB) · Data & Services 🟢 -202 B (266 kB) · Graph Workspace 🔴 +151 B (1.25 MB) · + 5 more

App Entry Points — 46.7 kB (baseline 45.8 kB) • 🔴 +958 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-FrlQkki7.js (new) 46.7 kB 🔴 +46.7 kB 🔴 +13.7 kB 🔴 +11.9 kB
assets/index-B3u6Hyj9.js (removed) 45.8 kB 🟢 -45.8 kB 🟢 -13.5 kB 🟢 -11.7 kB

Status: 1 added / 1 removed

Graph Workspace — 1.25 MB (baseline 1.25 MB) • 🔴 +151 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-DOoXIbY4.js (new) 1.25 MB 🔴 +1.25 MB 🔴 +266 kB 🔴 +200 kB
assets/GraphView-NML_yZzY.js (removed) 1.25 MB 🟢 -1.25 MB 🟢 -266 kB 🟢 -201 kB

Status: 1 added / 1 removed

Views & Navigation — 95.3 kB (baseline 95.3 kB) • 🔴 +42 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CloudSurveyView-Dj4-LsVU.js (new) 19.5 kB 🔴 +19.5 kB 🔴 +5.06 kB 🔴 +4.49 kB
assets/CloudSurveyView-BXoPPiyb.js (removed) 19.5 kB 🟢 -19.5 kB 🟢 -5.05 kB 🟢 -4.48 kB
assets/OAuthConsentView-BjdnkNOi.js (new) 15 kB 🔴 +15 kB 🔴 +4.1 kB 🔴 +3.57 kB
assets/OAuthConsentView-CwvK3ZY0.js (removed) 15 kB 🟢 -15 kB 🟢 -4.1 kB 🟢 -3.57 kB
assets/CloudLoginView-d4kVMcci.js (removed) 11.4 kB 🟢 -11.4 kB 🟢 -3.06 kB 🟢 -2.69 kB
assets/CloudLoginView-deWXKCTs.js (new) 11.4 kB 🔴 +11.4 kB 🔴 +3.06 kB 🔴 +2.68 kB
assets/CloudSignupView-ChU_BCRj.js (removed) 9.7 kB 🟢 -9.7 kB 🟢 -2.72 kB 🟢 -2.39 kB
assets/CloudSignupView-TwarYMX6.js (new) 9.7 kB 🔴 +9.7 kB 🔴 +2.71 kB 🔴 +2.38 kB
assets/CloudLayoutView-BohAEGOe.js (removed) 9.36 kB 🟢 -9.36 kB 🟢 -2.34 kB 🟢 -2.02 kB
assets/CloudLayoutView-DNobZo7J.js (new) 9.36 kB 🔴 +9.36 kB 🔴 +2.34 kB 🔴 +2.02 kB
assets/UserCheckView-DC3m2p97.js (new) 8.8 kB 🔴 +8.8 kB 🔴 +2.22 kB 🔴 +1.93 kB
assets/UserCheckView-qWrDAoun.js (removed) 8.8 kB 🟢 -8.8 kB 🟢 -2.22 kB 🟢 -1.93 kB
assets/UserSelectView-BivJb2GW.js (removed) 6 kB 🟢 -6 kB 🟢 -2.15 kB 🟢 -1.89 kB
assets/UserSelectView-CKWZdW2n.js (new) 6 kB 🔴 +6 kB 🔴 +2.15 kB 🔴 +1.88 kB
assets/CloudForgotPasswordView-QhcPPBMW.js (new) 5.15 kB 🔴 +5.15 kB 🔴 +1.76 kB 🔴 +1.54 kB
assets/CloudForgotPasswordView-RVontOcU.js (removed) 5.15 kB 🟢 -5.15 kB 🟢 -1.76 kB 🟢 -1.54 kB
assets/CloudAuthTimeoutView-BQG1ppqo.js (removed) 4.49 kB 🟢 -4.49 kB 🟢 -1.57 kB 🟢 -1.37 kB
assets/CloudAuthTimeoutView-Du-2fcGF.js (new) 4.49 kB 🔴 +4.49 kB 🔴 +1.57 kB 🔴 +1.37 kB
assets/CloudSubscriptionRedirectView-BjIQ5R8G.js (new) 4.3 kB 🔴 +4.3 kB 🔴 +1.57 kB 🔴 +1.38 kB
assets/CloudSubscriptionRedirectView-DpXPdWbD.js (removed) 4.3 kB 🟢 -4.3 kB 🟢 -1.57 kB 🟢 -1.39 kB
assets/CloudSorryContactSupportView-CpKzIQ_6.js (removed) 1.21 kB 🟢 -1.21 kB 🟢 -606 B 🟢 -522 B
assets/CloudSorryContactSupportView-DaekggGU.js (new) 1.21 kB 🔴 +1.21 kB 🔴 +604 B 🔴 +520 B
assets/layout-Bw7i-5E_.js (removed) 447 B 🟢 -447 B 🟢 -285 B 🟢 -230 B
assets/layout-Dfs3pgvv.js (new) 447 B 🔴 +447 B 🔴 +283 B 🔴 +230 B

Status: 12 added / 12 removed

Panels & Settings — 525 kB (baseline 523 kB) • 🔴 +2.45 kB

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/KeybindingPanel-BGQMhMKF.js (removed) 49.4 kB 🟢 -49.4 kB 🟢 -9.96 kB 🟢 -8.83 kB
assets/KeybindingPanel-ByoMx8XH.js (new) 49.4 kB 🔴 +49.4 kB 🔴 +9.96 kB 🔴 +8.84 kB
assets/settings-BsDM50zq.js (removed) 39.8 kB 🟢 -39.8 kB 🟢 -9.73 kB 🟢 -7.99 kB
assets/settings-DFs89aQQ.js (new) 39.8 kB 🔴 +39.8 kB 🔴 +9.73 kB 🔴 +7.99 kB
assets/settings-Bm-66T6m.js (new) 35.4 kB 🔴 +35.4 kB 🔴 +8.66 kB 🔴 +7.32 kB
assets/settings-Dw3R5okD.js (removed) 35.4 kB 🟢 -35.4 kB 🟢 -8.66 kB 🟢 -7.29 kB
assets/settings-BKpynRMG.js (removed) 33.5 kB 🟢 -33.5 kB 🟢 -8.48 kB 🟢 -6.97 kB
assets/settings-CdbidiXa.js (new) 33.5 kB 🔴 +33.5 kB 🔴 +8.48 kB 🔴 +6.96 kB
assets/settings-Cat1x4PM.js (new) 31.5 kB 🔴 +31.5 kB 🔴 +8.78 kB 🔴 +7.31 kB
assets/settings-CJaySy7-.js (removed) 31.5 kB 🟢 -31.5 kB 🟢 -8.78 kB 🟢 -7.31 kB
assets/settings-DVbAbOlt.js (new) 30.9 kB 🔴 +30.9 kB 🔴 +8.41 kB 🔴 +7.33 kB
assets/settings-DvsQTZyd.js (removed) 30.9 kB 🟢 -30.9 kB 🟢 -8.41 kB 🟢 -7.38 kB
assets/settings-8aHyuwop.js (removed) 29.7 kB 🟢 -29.7 kB 🟢 -8.07 kB 🟢 -6.88 kB
assets/settings-D373-POZ.js (new) 29.7 kB 🔴 +29.7 kB 🔴 +8.07 kB 🔴 +6.87 kB
assets/settings-DBEn01ZR.js (new) 29.6 kB 🔴 +29.6 kB 🔴 +8.31 kB 🔴 +7.25 kB
assets/settings-sru-j5h5.js (removed) 29.6 kB 🟢 -29.6 kB 🟢 -8.31 kB 🟢 -7.26 kB
assets/settings-BGDkdR36.js (new) 28.8 kB 🔴 +28.8 kB 🔴 +7.99 kB 🔴 +6.96 kB
assets/settings-CsRKPh_M.js (removed) 28.8 kB 🟢 -28.8 kB 🟢 -7.99 kB 🟢 -6.96 kB
assets/settings-BdvkPT-w.js (new) 28.7 kB 🔴 +28.7 kB 🔴 +8.44 kB 🔴 +7.02 kB
assets/settings-BhutlzjA.js (removed) 28.7 kB 🟢 -28.7 kB 🟢 -8.44 kB 🟢 -7.03 kB
assets/settings-Cr3UwXFU.js (removed) 25.2 kB 🟢 -25.2 kB 🟢 -8.2 kB 🟢 -6.6 kB
assets/settings-IiWLV2Qp.js (new) 25.2 kB 🔴 +25.2 kB 🔴 +8.2 kB 🔴 +6.6 kB
assets/settings-CnT3oo49.js (removed) 24.6 kB 🟢 -24.6 kB 🟢 -8.01 kB 🟢 -6.27 kB
assets/settings-Dym14cXW.js (new) 24.6 kB 🔴 +24.6 kB 🔴 +8.02 kB 🔴 +6.28 kB
assets/SecretsPanel-B5S02Pbj.js (new) 24.2 kB 🔴 +24.2 kB 🔴 +5.77 kB 🔴 +5.06 kB
assets/SecretsPanel-Dh__rrbn.js (removed) 24.2 kB 🟢 -24.2 kB 🟢 -5.76 kB 🟢 -5.07 kB
assets/LegacyCreditsPanel-C-OZ8jwm.js (removed) 20.9 kB 🟢 -20.9 kB 🟢 -5.52 kB 🟢 -4.84 kB
assets/LegacyCreditsPanel-OS3IJtNX.js (new) 20.9 kB 🔴 +20.9 kB 🔴 +5.52 kB 🔴 +4.85 kB
assets/SubscriptionPanel-kNCD_MPg.js (new) 19.2 kB 🔴 +19.2 kB 🔴 +5.03 kB 🔴 +4.41 kB
assets/SubscriptionPanel-BtvdyHDd.js (removed) 19.1 kB 🟢 -19.1 kB 🟢 -4.98 kB 🟢 -4.35 kB
assets/AboutPanel-D601W4SL.js (removed) 11.7 kB 🟢 -11.7 kB 🟢 -3.22 kB 🟢 -2.89 kB
assets/AboutPanel-DfsUHO2H.js (new) 11.7 kB 🔴 +11.7 kB 🔴 +3.22 kB 🔴 +2.88 kB
assets/ExtensionPanel-CzS8n2eb.js (removed) 9.03 kB 🟢 -9.03 kB 🟢 -2.5 kB 🟢 -2.2 kB
assets/ExtensionPanel-HJAHF1DZ.js (new) 9.03 kB 🔴 +9.03 kB 🔴 +2.5 kB 🔴 +2.2 kB
assets/ServerConfigPanel-CWart8Cq.js (removed) 6.15 kB 🟢 -6.15 kB 🟢 -1.98 kB 🟢 -1.76 kB
assets/ServerConfigPanel-D-7jLkBi.js (new) 6.15 kB 🔴 +6.15 kB 🔴 +1.98 kB 🔴 +1.76 kB
assets/UserPanel-DDZZdNkG.js (removed) 5.78 kB 🟢 -5.78 kB 🟢 -1.82 kB 🟢 -1.58 kB
assets/UserPanel-sJhZ6V_7.js (new) 5.78 kB 🔴 +5.78 kB 🔴 +1.82 kB 🔴 +1.58 kB
assets/refreshRemoteConfig-DQEuSJyb.js (new) 2.42 kB 🔴 +2.42 kB 🔴 +1.06 kB 🔴 +941 B
assets/config-BecdI7Zw.js (new) 2.14 kB 🔴 +2.14 kB 🔴 +1.04 kB 🔴 +842 B
assets/config-D7rQudX6.js (removed) 2.14 kB 🟢 -2.14 kB 🟢 -1.04 kB 🟢 -843 B
assets/refreshRemoteConfig-Ci1SZeMs.js (removed) 1.57 kB 🟢 -1.57 kB 🟢 -696 B 🟢 -598 B
assets/remoteConfig-Ci_Nn5zB.js (new) 1.38 kB 🔴 +1.38 kB 🔴 +689 B 🔴 +573 B
assets/cloudRemoteConfig-BulY2GLo.js (removed) 990 B 🟢 -990 B 🟢 -541 B 🟢 -455 B
assets/cloudRemoteConfig-OFIgruGe.js (new) 990 B 🔴 +990 B 🔴 +542 B 🔴 +453 B
assets/refreshRemoteConfig-BDi2R8q8.js (new) 110 B 🔴 +110 B 🔴 +89 B 🔴 +89 B

Status: 24 added / 22 removed / 2 unchanged

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

Authentication, profile, and account management bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/PasswordFields-B_84IqQw.js (new) 4.68 kB 🔴 +4.68 kB 🔴 +1.42 kB 🔴 +1.25 kB
assets/PasswordFields-Brml489p.js (removed) 4.68 kB 🟢 -4.68 kB 🟢 -1.42 kB 🟢 -1.25 kB
assets/auth-BiKzy15e.js (removed) 3.69 kB 🟢 -3.69 kB 🟢 -1.3 kB 🟢 -1.13 kB
assets/auth-CMjacOC8.js (new) 3.69 kB 🔴 +3.69 kB 🔴 +1.3 kB 🔴 +1.12 kB
assets/usePostAuthRedirect-DX2_9SNa.js (new) 3.33 kB 🔴 +3.33 kB 🔴 +1.28 kB 🔴 +1.11 kB
assets/usePostAuthRedirect-wUZsZvS4.js (removed) 3.33 kB 🟢 -3.33 kB 🟢 -1.28 kB 🟢 -1.11 kB
assets/SignUpForm-BGUlqrEo.js (removed) 3.19 kB 🟢 -3.19 kB 🟢 -1.29 kB 🟢 -1.15 kB
assets/SignUpForm-CrLvTNlj.js (new) 3.19 kB 🔴 +3.19 kB 🔴 +1.29 kB 🔴 +1.15 kB
assets/UpdatePasswordContent-BNqpJQIb.js (removed) 1.92 kB 🟢 -1.92 kB 🟢 -880 B 🟢 -769 B
assets/UpdatePasswordContent-m5xE9f6n.js (new) 1.92 kB 🔴 +1.92 kB 🔴 +877 B 🔴 +766 B
assets/WorkspaceProfilePic-B4GKVByy.js (removed) 1.66 kB 🟢 -1.66 kB 🟢 -860 B 🟢 -749 B
assets/WorkspaceProfilePic-BmU1OymQ.js (new) 1.66 kB 🔴 +1.66 kB 🔴 +860 B 🔴 +778 B
assets/oauthState-BCY4VkxE.js (removed) 1.21 kB 🟢 -1.21 kB 🟢 -511 B 🟢 -432 B
assets/oauthState-C4xKJsu-.js (new) 1.21 kB 🔴 +1.21 kB 🔴 +511 B 🔴 +448 B
assets/authStore-C7B-mNha.js (new) 130 B 🔴 +130 B 🔴 +109 B 🔴 +107 B
assets/authStore-DcMcMt3U.js (removed) 130 B 🟢 -130 B 🟢 -109 B 🟢 -105 B
assets/auth-B_0uoAAB.js (new) 105 B 🔴 +105 B 🔴 +96 B 🔴 +89 B
assets/auth-Dj8PniTR.js (removed) 105 B 🟢 -105 B 🟢 -96 B 🟢 -81 B

Status: 9 added / 9 removed

Editors & Dialogs — 112 kB (baseline 112 kB) • ⚪ 0 B

Modals, dialogs, drawers, and in-app editors

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyHubPublishDialog-BfrFVdzD.js (new) 86 kB 🔴 +86 kB 🔴 +18.6 kB 🔴 +15.9 kB
assets/ComfyHubPublishDialog-MyGNmJS2.js (removed) 86 kB 🟢 -86 kB 🟢 -18.6 kB 🟢 -15.9 kB
assets/useShareDialog-DjZUEXPU.js (new) 23.4 kB 🔴 +23.4 kB 🔴 +5.54 kB 🔴 +4.92 kB
assets/useShareDialog-TLZzjAv6.js (removed) 23.4 kB 🟢 -23.4 kB 🟢 -5.55 kB 🟢 -4.91 kB
assets/SubscriptionInactiveMemberDialog-B8Fb80DG.js (removed) 2.55 kB 🟢 -2.55 kB 🟢 -1.03 kB 🟢 -883 B
assets/SubscriptionInactiveMemberDialog-tFRCWteG.js (new) 2.55 kB 🔴 +2.55 kB 🔴 +1.03 kB 🔴 +882 B
assets/ComfyHubPublishDialog-DqzKvyr_.js (removed) 143 B 🟢 -143 B 🟢 -105 B 🟢 -88 B
assets/ComfyHubPublishDialog-zAVT36q1.js (new) 143 B 🔴 +143 B 🔴 +105 B 🔴 +90 B
assets/useSubscriptionDialog-B32UOLqm.js (new) 110 B 🔴 +110 B 🔴 +102 B 🔴 +87 B
assets/useSubscriptionDialog-DwJURLel.js (removed) 110 B 🟢 -110 B 🟢 -102 B 🟢 -88 B

Status: 5 added / 5 removed

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

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyQueueButton-Bhv35f8O.js (new) 13.6 kB 🔴 +13.6 kB 🔴 +3.82 kB 🔴 +3.42 kB
assets/ComfyQueueButton-BvwiArEu.js (removed) 13.6 kB 🟢 -13.6 kB 🟢 -3.83 kB 🟢 -3.42 kB
assets/useTerminalTabs-BPFgS-Dn.js (removed) 12.1 kB 🟢 -12.1 kB 🟢 -3.84 kB 🟢 -3.39 kB
assets/useTerminalTabs-DNCpUhFN.js (new) 12.1 kB 🔴 +12.1 kB 🔴 +3.84 kB 🔴 +3.39 kB
assets/TopbarBadge-_pTu97PM.js (new) 7.7 kB 🔴 +7.7 kB 🔴 +1.87 kB 🔴 +1.65 kB
assets/TopbarBadge-BPy-fbVJ.js (removed) 7.7 kB 🟢 -7.7 kB 🟢 -1.87 kB 🟢 -1.65 kB
assets/ScrubableNumberInput-C_QHQMzg.js (new) 6.31 kB 🔴 +6.31 kB 🔴 +2.13 kB 🔴 +1.9 kB
assets/ScrubableNumberInput-CZ9_vzOR.js (removed) 6.31 kB 🟢 -6.31 kB 🟢 -2.14 kB 🟢 -1.9 kB
assets/toggle-group-BqWcbnTO.js (removed) 4.16 kB 🟢 -4.16 kB 🟢 -1.45 kB 🟢 -1.28 kB
assets/toggle-group-Cpm1nbJP.js (new) 4.16 kB 🔴 +4.16 kB 🔴 +1.45 kB 🔴 +1.27 kB
assets/Button-Clh3ubVK.js (new) 3.62 kB 🔴 +3.62 kB 🔴 +1.39 kB 🔴 +1.22 kB
assets/Button-CV9qLG5t.js (removed) 3.62 kB 🟢 -3.62 kB 🟢 -1.39 kB 🟢 -1.22 kB
assets/SubscribeButton-CUHuy5xw.js (new) 2.44 kB 🔴 +2.44 kB 🔴 +1.05 kB 🔴 +947 B
assets/SubscribeButton-oiHXGL7w.js (removed) 2.44 kB 🟢 -2.44 kB 🟢 -1.05 kB 🟢 -943 B
assets/WidgetButton-BhMU-oS9.js (new) 1.98 kB 🔴 +1.98 kB 🔴 +920 B 🔴 +808 B
assets/WidgetButton-Dlw3QxDx.js (removed) 1.98 kB 🟢 -1.98 kB 🟢 -918 B 🟢 -805 B
assets/Input-ClAdfZgg.js (new) 1.81 kB 🔴 +1.81 kB 🔴 +897 B 🔴 +777 B
assets/Input-gqQa8Fvx.js (removed) 1.81 kB 🟢 -1.81 kB 🟢 -897 B 🟢 -777 B
assets/UserAvatar-BOYtCj7I.js (new) 1.29 kB 🔴 +1.29 kB 🔴 +671 B 🔴 +579 B
assets/UserAvatar-DLSIzto5.js (removed) 1.29 kB 🟢 -1.29 kB 🟢 -671 B 🟢 -584 B
assets/CloudBadge-DAPCalGN.js (removed) 1.18 kB 🟢 -1.18 kB 🟢 -593 B 🟢 -524 B
assets/CloudBadge-DxVP6s7Z.js (new) 1.18 kB 🔴 +1.18 kB 🔴 +592 B 🔴 +522 B
assets/cloudFeedbackTopbarButton-5Mxll6y_.js (removed) 829 B 🟢 -829 B 🟢 -497 B 🟢 -416 B
assets/cloudFeedbackTopbarButton-CFejCT8d.js (new) 829 B 🔴 +829 B 🔴 +495 B 🔴 +447 B
assets/ComfyQueueButton-CG2zZ1_P.js (removed) 128 B 🟢 -128 B 🟢 -99 B 🟢 -91 B
assets/ComfyQueueButton-DE46wiL0.js (new) 128 B 🔴 +128 B 🔴 +99 B 🔴 +90 B

Status: 13 added / 13 removed

Data & Services — 266 kB (baseline 266 kB) • 🟢 -202 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/load3dService-C_AfdmJu.js (new) 125 kB 🔴 +125 kB 🔴 +27.7 kB 🔴 +23.4 kB
assets/load3dService-VuHM_sBb.js (removed) 125 kB 🟢 -125 kB 🟢 -27.6 kB 🟢 -23.4 kB
assets/api-BrssVGr8.js (removed) 84.3 kB 🟢 -84.3 kB 🟢 -22.7 kB 🟢 -19.6 kB
assets/api-BUtgkCv7.js (new) 83.9 kB 🔴 +83.9 kB 🔴 +22.5 kB 🔴 +19.4 kB
assets/workflowShareService-Dbv8iO7Q.js (removed) 16.6 kB 🟢 -16.6 kB 🟢 -4.91 kB 🟢 -4.36 kB
assets/workflowShareService-lAke2w0f.js (new) 16.6 kB 🔴 +16.6 kB 🔴 +4.91 kB 🔴 +4.35 kB
assets/keybindingService-B9IfmXi7.js (removed) 13.8 kB 🟢 -13.8 kB 🟢 -3.67 kB 🟢 -3.23 kB
assets/keybindingService-DLqO1dIX.js (new) 13.8 kB 🔴 +13.8 kB 🔴 +3.67 kB 🔴 +3.22 kB
assets/releaseStore-DysQMW_y.js (new) 8.29 kB 🔴 +8.29 kB 🔴 +2.34 kB 🔴 +2.04 kB
assets/releaseStore-kPkwe14L.js (removed) 8.29 kB 🟢 -8.29 kB 🟢 -2.34 kB 🟢 -2.04 kB
assets/dialogStore-DvJd9EAI.js (removed) 5.33 kB 🟢 -5.33 kB 🟢 -1.65 kB 🟢 -1.42 kB
assets/dialogStore-zYGqupzf.js (new) 5.33 kB 🔴 +5.33 kB 🔴 +1.65 kB 🔴 +1.42 kB
assets/extensionStore-6_ZCbtGA.js (removed) 5.29 kB 🟢 -5.29 kB 🟢 -1.86 kB 🟢 -1.57 kB
assets/extensionStore-DcJRH-5v.js (new) 5.29 kB 🔴 +5.29 kB 🔴 +1.86 kB 🔴 +1.58 kB
assets/userStore-BbnGew3q.js (new) 2.42 kB 🔴 +2.42 kB 🔴 +929 B 🔴 +826 B
assets/userStore-Bh4OA09V.js (removed) 2.42 kB 🟢 -2.42 kB 🟢 -930 B 🟢 -819 B
assets/serverConfigStore-DyqPrluv.js (removed) 2.35 kB 🟢 -2.35 kB 🟢 -809 B 🟢 -713 B
assets/serverConfigStore-YnM_rPxf.js (new) 2.35 kB 🔴 +2.35 kB 🔴 +810 B 🔴 +715 B
assets/audioService-BhQfXTpg.js (new) 1.76 kB 🔴 +1.76 kB 🔴 +862 B 🔴 +748 B
assets/audioService-Dewm4UYC.js (removed) 1.76 kB 🟢 -1.76 kB 🟢 -861 B 🟢 -747 B
assets/dialogService-B0a7mOFj.js (new) 100 B 🔴 +100 B 🔴 +99 B 🔴 +94 B
assets/dialogService-Hg-ANIFN.js (removed) 100 B 🟢 -100 B 🟢 -99 B 🟢 -95 B
assets/settingStore-393RvHPG.js (new) 98 B 🔴 +98 B 🔴 +98 B 🔴 +93 B
assets/settingStore-BDI-wizK.js (removed) 98 B 🟢 -98 B 🟢 -98 B 🟢 -89 B
assets/assetsStore-BAf3-i3A.js (new) 96 B 🔴 +96 B 🔴 +97 B 🔴 +85 B
assets/assetsStore-XOdVtfDt.js (removed) 96 B 🟢 -96 B 🟢 -97 B 🟢 -86 B
assets/releaseStore-DEZb1TjR.js (removed) 95 B 🟢 -95 B 🟢 -86 B 🟢 -87 B
assets/releaseStore-DhWqlzKL.js (new) 95 B 🔴 +95 B 🔴 +86 B 🔴 +81 B
assets/api-BHy3mQUC.js (new) 62 B 🔴 +62 B 🔴 +74 B 🔴 +66 B

Status: 15 added / 14 removed / 1 unchanged

Utilities & Hooks — 3.32 MB (baseline 3.32 MB) • 🟢 -1.1 kB

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/promotionUtils-DdHQ2STH.js (removed) 2.97 MB 🟢 -2.97 MB 🟢 -686 kB 🟢 -517 kB
assets/promotionUtils-BWmV4as7.js (new) 2.97 MB 🔴 +2.97 MB 🔴 +686 kB 🔴 +517 kB
assets/useConflictDetection-Bu_yyhbx.js (removed) 233 kB 🟢 -233 kB 🟢 -52 kB 🟢 -42.3 kB
assets/useConflictDetection-CDrPO-52.js (new) 233 kB 🔴 +233 kB 🔴 +52 kB 🔴 +42.3 kB
assets/useLoad3d-CotqbHrO.js (removed) 25.5 kB 🟢 -25.5 kB 🟢 -5.75 kB 🟢 -5.11 kB
assets/useLoad3d-R0hwrIxK.js (new) 25.5 kB 🔴 +25.5 kB 🔴 +5.75 kB 🔴 +5.09 kB
assets/useLoad3dViewer-BrrlwN8E.js (removed) 21.1 kB 🟢 -21.1 kB 🟢 -4.97 kB 🟢 -4.34 kB
assets/useLoad3dViewer-CZ_Wl45b.js (new) 21.1 kB 🔴 +21.1 kB 🔴 +4.98 kB 🔴 +4.36 kB
assets/formatUtil-CUd-62bL.js (new) 16.8 kB 🔴 +16.8 kB 🔴 +5.71 kB 🔴 +5 kB
assets/formatUtil-DBVUejmh.js (removed) 16.8 kB 🟢 -16.8 kB 🟢 -5.71 kB 🟢 -5.01 kB
assets/useImageQuiet-_ifbwLZh.js (new) 8.36 kB 🔴 +8.36 kB 🔴 +2.79 kB 🔴 +2.4 kB
assets/useImageQuiet-UeNBuELa.js (removed) 8.36 kB 🟢 -8.36 kB 🟢 -2.79 kB 🟢 -2.4 kB
assets/useFeatureFlags-D4KKpMZy.js (removed) 6.36 kB 🟢 -6.36 kB 🟢 -2.01 kB 🟢 -1.7 kB
assets/useTypeformEmbed-BQcxPJFv.js (removed) 5.91 kB 🟢 -5.91 kB 🟢 -2.28 kB 🟢 -1.89 kB
assets/useTypeformEmbed-Dhh8LeTH.js (new) 5.91 kB 🔴 +5.91 kB 🔴 +2.28 kB 🔴 +1.89 kB
assets/useFeatureFlags-Dv9_kCj1.js (new) 5.37 kB 🔴 +5.37 kB 🔴 +1.65 kB 🔴 +1.41 kB
assets/downloadUtil-CL5bzSnv.js (removed) 4.68 kB 🟢 -4.68 kB 🟢 -1.85 kB 🟢 -1.53 kB
assets/downloadUtil-CQni9fos.js (new) 4.68 kB 🔴 +4.68 kB 🔴 +1.85 kB 🔴 +1.54 kB
assets/curveUtils-B7Poc3MF.js (new) 3.83 kB 🔴 +3.83 kB 🔴 +1.29 kB 🔴 +1.14 kB
assets/curveUtils-CRNKHQZi.js (removed) 3.83 kB 🟢 -3.83 kB 🟢 -1.29 kB 🟢 -1.13 kB
assets/useSessionCookie-Bzhot0wt.js (new) 3.33 kB 🔴 +3.33 kB 🔴 +1.15 kB 🔴 +982 B
assets/useSessionCookie-h5Uq2mtP.js (removed) 3.33 kB 🟢 -3.33 kB 🟢 -1.15 kB 🟢 -978 B
assets/subscriptionCheckoutUtil-ComRDOr0.js (removed) 3.31 kB 🟢 -3.31 kB 🟢 -1.36 kB 🟢 -1.19 kB
assets/subscriptionCheckoutUtil-y0deEwgF.js (new) 3.31 kB 🔴 +3.31 kB 🔴 +1.36 kB 🔴 +1.19 kB
assets/useExternalLink-BDOVauOd.js (removed) 3.03 kB 🟢 -3.03 kB 🟢 -1.16 kB 🟢 -1.02 kB
assets/useExternalLink-N1qMg_4u.js (new) 3.03 kB 🔴 +3.03 kB 🔴 +1.16 kB 🔴 +1.01 kB
assets/assetPreviewUtil-B1mEV_83.js (removed) 2.41 kB 🟢 -2.41 kB 🟢 -1 kB 🟢 -880 B
assets/assetPreviewUtil-DlfgApzu.js (new) 2.41 kB 🔴 +2.41 kB 🔴 +1 kB 🔴 +884 B
assets/useFeatureUsageTracker-ClGVO0V3.js (new) 2.13 kB 🔴 +2.13 kB 🔴 +943 B 🔴 +799 B
assets/useFeatureUsageTracker-DrAw82Fh.js (removed) 2.13 kB 🟢 -2.13 kB 🟢 -943 B 🟢 -804 B
assets/useUpstreamValue-D1FlPnaK.js (removed) 2.04 kB 🟢 -2.04 kB 🟢 -793 B 🟢 -713 B
assets/useUpstreamValue-vf5k20B9.js (new) 2.04 kB 🔴 +2.04 kB 🔴 +793 B 🔴 +707 B
assets/markdownRendererUtil-Dzsxzqnm.js (new) 1.59 kB 🔴 +1.59 kB 🔴 +829 B 🔴 +717 B
assets/markdownRendererUtil-wDsNP_EP.js (removed) 1.59 kB 🟢 -1.59 kB 🟢 -829 B 🟢 -721 B
assets/useErrorHandling-QDr0FyGz.js (new) 1.54 kB 🔴 +1.54 kB 🔴 +646 B 🔴 +551 B
assets/useErrorHandling-tWTD7Ydc.js (removed) 1.54 kB 🟢 -1.54 kB 🟢 -645 B 🟢 -561 B
assets/useWorkspaceTierLabel-ClRZaBb7.js (removed) 1.35 kB 🟢 -1.35 kB 🟢 -665 B 🟢 -574 B
assets/useWorkspaceTierLabel-Cw6P-bPC.js (new) 1.35 kB 🔴 +1.35 kB 🔴 +664 B 🔴 +555 B
assets/histogramUtil-DVLMDgyS.js (removed) 972 B 🟢 -972 B 🟢 -572 B 🟢 -489 B
assets/histogramUtil-hHqn18wc.js (new) 972 B 🔴 +972 B 🔴 +571 B 🔴 +487 B
assets/errorUtil-By9y4A86.js (new) 843 B 🔴 +843 B 🔴 +491 B 🔴 +405 B
assets/errorUtil-CeVwjeWE.js (removed) 843 B 🟢 -843 B 🟢 -488 B 🟢 -405 B
assets/useClickDragGuard-B8eeI11k.js (new) 828 B 🔴 +828 B 🔴 +407 B 🔴 +359 B
assets/useClickDragGuard-HoatuWxi.js (removed) 828 B 🟢 -828 B 🟢 -408 B 🟢 -359 B
assets/useWorkspaceSwitch-DWaWcrzY.js (removed) 748 B 🟢 -748 B 🟢 -384 B 🟢 -337 B
assets/useWorkspaceSwitch-G2QUz2be.js (new) 748 B 🔴 +748 B 🔴 +385 B 🔴 +336 B
assets/envUtil-DienlFbe.js (removed) 489 B 🟢 -489 B 🟢 -305 B 🟢 -276 B
assets/envUtil-Ggl08UdX.js (new) 489 B 🔴 +489 B 🔴 +308 B 🔴 +273 B
assets/_plugin-vue_export-helper-B1NqRUKi.js (new) 365 B 🔴 +365 B 🔴 +254 B 🔴 +213 B
assets/_plugin-vue_export-helper-oyQ9XKXV.js (removed) 365 B 🟢 -365 B 🟢 -254 B 🟢 -213 B
assets/useLoad3d-DBVsrIw_.js (new) 311 B 🔴 +311 B 🔴 +164 B 🔴 +147 B
assets/useLoad3d-DQW869jN.js (removed) 311 B 🟢 -311 B 🟢 -163 B 🟢 -147 B
assets/SkeletonUtils-DAL1G5p1.js (new) 133 B 🔴 +133 B 🔴 +111 B 🔴 +113 B
assets/SkeletonUtils-F8HD26gR.js (removed) 133 B 🟢 -133 B 🟢 -111 B 🟢 -109 B
assets/useSessionCookie-DbdfMuy6.js (removed) 101 B 🟢 -101 B 🟢 -86 B 🟢 -80 B
assets/useSessionCookie-px7znjkA.js (new) 101 B 🔴 +101 B 🔴 +86 B 🔴 +81 B
assets/useLoad3dViewer-C8rBHSRX.js (new) 98 B 🔴 +98 B 🔴 +85 B 🔴 +87 B
assets/useLoad3dViewer-D56L8NCE.js (removed) 98 B 🟢 -98 B 🟢 -85 B 🟢 -86 B
assets/useCurrentUser-DQJp-f-H.js (new) 96 B 🔴 +96 B 🔴 +97 B 🔴 +87 B
assets/useCurrentUser-LdhZPucX.js (removed) 96 B 🟢 -96 B 🟢 -97 B 🟢 -82 B

Status: 30 added / 30 removed

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

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-three-1JIRRquj.js (removed) 7.09 MB 🟢 -7.09 MB 🟢 -2.18 MB 🟢 -1.02 MB
assets/vendor-three-CTbL97FU.js (new) 7.09 MB 🔴 +7.09 MB 🔴 +2.18 MB 🔴 +1.02 MB
assets/vendor-other-C19nNQEU.js (removed) 1.87 MB 🟢 -1.87 MB 🟢 -404 kB 🟢 -326 kB
assets/vendor-other-DY5Mh2Gq.js (new) 1.87 MB 🔴 +1.87 MB 🔴 +404 kB 🔴 +326 kB
assets/vendor-primevue-CRrmbKQs.js (new) 1.69 MB 🔴 +1.69 MB 🔴 +303 kB 🔴 +185 kB
assets/vendor-primevue-KW3WmubA.js (removed) 1.69 MB 🟢 -1.69 MB 🟢 -303 kB 🟢 -185 kB
assets/vendor-tiptap-B_KF4Q4N.js (removed) 743 kB 🟢 -743 kB 🟢 -183 kB 🟢 -147 kB
assets/vendor-tiptap-UhOf-O7H.js (new) 743 kB 🔴 +743 kB 🔴 +183 kB 🔴 +147 kB
assets/vendor-reka-ui-C_dIUXOj.js (removed) 491 kB 🟢 -491 kB 🟢 -89.4 kB 🟢 -68.9 kB
assets/vendor-reka-ui-DAEtqwgZ.js (new) 491 kB 🔴 +491 kB 🔴 +89.4 kB 🔴 +68.9 kB
assets/vendor-chart-CvfSl3bU.js (new) 411 kB 🔴 +411 kB 🔴 +100 kB 🔴 +82.9 kB
assets/vendor-chart-D6TpX5WY.js (removed) 411 kB 🟢 -411 kB 🟢 -100 kB 🟢 -82.9 kB
assets/vendor-xterm-De2hS1TU.js (removed) 374 kB 🟢 -374 kB 🟢 -75.6 kB 🟢 -61.1 kB
assets/vendor-xterm-Nt1_Zp-S.js (new) 374 kB 🔴 +374 kB 🔴 +75.6 kB 🔴 +61.1 kB

Status: 7 added / 7 removed / 9 unchanged

Other — 10.4 MB (baseline 10.4 MB) • 🔴 +27.9 kB

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/nodeDefs-8oCoWQZb.js (removed) 670 kB 🟢 -670 kB 🟢 -109 kB 🟢 -74.5 kB
assets/nodeDefs-XpvvJRsY.js (new) 670 kB 🔴 +670 kB 🔴 +109 kB 🔴 +74.5 kB
assets/nodeDefs-BjY2mUqt.js (removed) 614 kB 🟢 -614 kB 🟢 -98.3 kB 🟢 -69 kB
assets/nodeDefs-DDjOYZCO.js (new) 614 kB 🔴 +614 kB 🔴 +98.3 kB 🔴 +69.1 kB
assets/nodeDefs-BErT82y3.js (removed) 611 kB 🟢 -611 kB 🟢 -101 kB 🟢 -71.1 kB
assets/nodeDefs-D7rmpINA.js (new) 611 kB 🔴 +611 kB 🔴 +101 kB 🔴 +71.1 kB
assets/nodeDefs-BayF-Pgd.js (removed) 562 kB 🟢 -562 kB 🟢 -98.6 kB 🟢 -68.7 kB
assets/nodeDefs-Bq6xebmJ.js (new) 562 kB 🔴 +562 kB 🔴 +98.6 kB 🔴 +68.7 kB
assets/nodeDefs-CCYz8t4X.js (removed) 541 kB 🟢 -541 kB 🟢 -96.1 kB 🟢 -68.1 kB
assets/nodeDefs-D2EfRFX2.js (new) 541 kB 🔴 +541 kB 🔴 +96.1 kB 🔴 +68.1 kB
assets/nodeDefs-CBMF1ksO.js (removed) 538 kB 🟢 -538 kB 🟢 -94.6 kB 🟢 -69 kB
assets/nodeDefs-Jr5tuLPJ.js (new) 538 kB 🔴 +538 kB 🔴 +94.6 kB 🔴 +69 kB
assets/nodeDefs-mjQbMChJ.js (new) 534 kB 🔴 +534 kB 🔴 +95.2 kB 🔴 +69.6 kB
assets/nodeDefs-U12-4LgT.js (removed) 534 kB 🟢 -534 kB 🟢 -95.2 kB 🟢 -69.6 kB
assets/nodeDefs-C0emzD48.js (new) 531 kB 🔴 +531 kB 🔴 +92 kB 🔴 +67.2 kB
assets/nodeDefs-k1FUkojG.js (removed) 531 kB 🟢 -531 kB 🟢 -92 kB 🟢 -67.2 kB
assets/nodeDefs-B6sOly0Q.js (new) 524 kB 🔴 +524 kB 🔴 +90.9 kB 🔴 +66.5 kB
assets/nodeDefs-BRc-ELeq.js (removed) 524 kB 🟢 -524 kB 🟢 -90.9 kB 🟢 -66.5 kB
assets/nodeDefs-CgfolpNQ.js (new) 488 kB 🔴 +488 kB 🔴 +94.3 kB 🔴 +66.3 kB
assets/nodeDefs-Dijy2Ve_.js (removed) 488 kB 🟢 -488 kB 🟢 -94.3 kB 🟢 -66.3 kB
assets/nodeDefs-B-eNa-JN.js (removed) 483 kB 🟢 -483 kB 🟢 -93 kB 🟢 -64.9 kB
assets/nodeDefs-DPmxu3Ud.js (new) 483 kB 🔴 +483 kB 🔴 +93 kB 🔴 +64.9 kB
assets/main-CgGywdzb.js (new) 272 kB 🔴 +272 kB 🔴 +67.8 kB 🔴 +53 kB
assets/main-CXtOnm71.js (removed) 272 kB 🟢 -272 kB 🟢 -67.8 kB 🟢 -53 kB
assets/main-1JjG8VWU.js (removed) 244 kB 🟢 -244 kB 🟢 -61.4 kB 🟢 -49.2 kB
assets/main-Dzfugb02.js (new) 244 kB 🔴 +244 kB 🔴 +61.4 kB 🔴 +49.2 kB
assets/main-C3nQceKI.js (removed) 232 kB 🟢 -232 kB 🟢 -60.7 kB 🟢 -48.4 kB
assets/main-D91eIj53.js (new) 232 kB 🔴 +232 kB 🔴 +60.7 kB 🔴 +48.3 kB
assets/main-D_XL073V.js (removed) 225 kB 🟢 -225 kB 🟢 -60.5 kB 🟢 -47.8 kB
assets/main-Dbgy311m.js (new) 225 kB 🔴 +225 kB 🔴 +60.5 kB 🔴 +47.8 kB
assets/main-CVqzcZWt.js (removed) 204 kB 🟢 -204 kB 🟢 -59 kB 🟢 -48.9 kB
assets/main-DSd7RiKG.js (new) 204 kB 🔴 +204 kB 🔴 +59 kB 🔴 +48.9 kB
assets/main-BSXrqtCi.js (new) 202 kB 🔴 +202 kB 🔴 +58.4 kB 🔴 +46.8 kB
assets/main-D9bgX8n1.js (removed) 202 kB 🟢 -202 kB 🟢 -58.4 kB 🟢 -46.8 kB
assets/main-C9NacrCy.js (removed) 197 kB 🟢 -197 kB 🟢 -57.6 kB 🟢 -47.6 kB
assets/main-D_dGaZpl.js (new) 197 kB 🔴 +197 kB 🔴 +57.6 kB 🔴 +47.6 kB
assets/main-CAtSOX_k.js (removed) 195 kB 🟢 -195 kB 🟢 -57.8 kB 🟢 -48.2 kB
assets/main-CUqAS8Ik.js (new) 195 kB 🔴 +195 kB 🔴 +57.8 kB 🔴 +48.2 kB
assets/main-DW_OhI6p.js (new) 193 kB 🔴 +193 kB 🔴 +57 kB 🔴 +47.7 kB
assets/main-zGE5PDel.js (removed) 193 kB 🟢 -193 kB 🟢 -57 kB 🟢 -47.7 kB
assets/main-Bbq_BCzC.js (removed) 172 kB 🟢 -172 kB 🟢 -56.6 kB 🟢 -45.1 kB
assets/main-Brj1ZnBQ.js (new) 172 kB 🔴 +172 kB 🔴 +56.6 kB 🔴 +45.1 kB
assets/main-Ccx5t_K_.js (new) 170 kB 🔴 +170 kB 🔴 +56.6 kB 🔴 +44.8 kB
assets/main-SCnytUbM.js (removed) 170 kB 🟢 -170 kB 🟢 -56.6 kB 🟢 -44.8 kB
assets/core-DE6RmOVx.js (new) 118 kB 🔴 +118 kB 🔴 +30.5 kB 🔴 +25.8 kB
assets/core-BnXMwL6b.js (removed) 118 kB 🟢 -118 kB 🟢 -30.4 kB 🟢 -25.7 kB
assets/WidgetSelect-B2I9qO08.js (new) 82.6 kB 🔴 +82.6 kB 🔴 +18.1 kB 🔴 +15.7 kB
assets/WidgetSelect-CxgcVWHp.js (removed) 82.6 kB 🟢 -82.6 kB 🟢 -18.1 kB 🟢 -15.6 kB
assets/SubscriptionRequiredDialogContentWorkspace-1UV7xEEb.js (new) 47.8 kB 🔴 +47.8 kB 🔴 +9.08 kB 🔴 +7.82 kB
assets/SubscriptionRequiredDialogContentWorkspace-Ca1OvyCj.js (removed) 47.8 kB 🟢 -47.8 kB 🟢 -9.08 kB 🟢 -7.82 kB
assets/Load3DControls-BqJik2B6.js (removed) 46.8 kB 🟢 -46.8 kB 🟢 -7.57 kB 🟢 -6.62 kB
assets/Load3DControls-D1loF_4Z.js (new) 46.8 kB 🔴 +46.8 kB 🔴 +7.57 kB 🔴 +6.62 kB
assets/WorkspacePanelContent-CCDrAXlF.js (new) 33.3 kB 🔴 +33.3 kB 🔴 +6.96 kB 🔴 +6.16 kB
assets/WorkspacePanelContent-KzYrylPJ.js (removed) 33.3 kB 🟢 -33.3 kB 🟢 -6.96 kB 🟢 -6.16 kB
assets/WidgetPainter-DHsaNUGk.js (new) 32.6 kB 🔴 +32.6 kB 🔴 +7.86 kB 🔴 +7 kB
assets/WidgetPainter-Dn4Lmbgu.js (removed) 32.6 kB 🟢 -32.6 kB 🟢 -7.86 kB 🟢 -6.99 kB
assets/Load3dViewerContent-AhVrO-s6.js (new) 30.9 kB 🔴 +30.9 kB 🔴 +6.3 kB 🔴 +5.47 kB
assets/Load3dViewerContent-BAIS49I3.js (removed) 30.9 kB 🟢 -30.9 kB 🟢 -6.3 kB 🟢 -5.48 kB
assets/SubscriptionRequiredDialogContent-DB1xY4Md.js (removed) 26.6 kB 🟢 -26.6 kB 🟢 -6.57 kB 🟢 -5.8 kB
assets/SubscriptionRequiredDialogContent-DVCcOO6B.js (new) 26.6 kB 🔴 +26.6 kB 🔴 +6.56 kB 🔴 +5.79 kB
assets/initHostTelemetry-5oCfAzYd.js (new) 25 kB 🔴 +25 kB 🔴 +6.17 kB 🔴 +5.14 kB
assets/ColorPicker-BM7tWHDL.js (removed) 23.7 kB 🟢 -23.7 kB 🟢 -6.14 kB 🟢 -5.42 kB
assets/ColorPicker-Ds93GlyC.js (new) 23.7 kB 🔴 +23.7 kB 🔴 +6.14 kB 🔴 +5.41 kB
assets/WidgetImageCrop-bPx5w6D1.js (new) 23.3 kB 🔴 +23.3 kB 🔴 +5.75 kB 🔴 +5.04 kB
assets/WidgetImageCrop-DI48-Y9p.js (removed) 23.3 kB 🟢 -23.3 kB 🟢 -5.75 kB 🟢 -5.05 kB
assets/SubscriptionPanelContentWorkspace-C9pOxd2j.js (removed) 22.1 kB 🟢 -22.1 kB 🟢 -5.16 kB 🟢 -4.55 kB
assets/SubscriptionPanelContentWorkspace-DP6xbbek.js (new) 22.1 kB 🔴 +22.1 kB 🔴 +5.16 kB 🔴 +4.55 kB
assets/load3d-Cr3XG-_U.js (new) 21.2 kB 🔴 +21.2 kB 🔴 +5.18 kB 🔴 +4.49 kB
assets/load3d-QZJOhC70.js (removed) 21.2 kB 🟢 -21.2 kB 🟢 -5.18 kB 🟢 -4.5 kB
assets/CurrentUserPopoverWorkspace-DQtsBGkF.js (new) 20.5 kB 🔴 +20.5 kB 🔴 +4.68 kB 🔴 +4.18 kB
assets/CurrentUserPopoverWorkspace-DxG3JXf5.js (removed) 20.5 kB 🟢 -20.5 kB 🟢 -4.68 kB 🟢 -4.19 kB
assets/SignInContent-B5gFxNpV.js (removed) 19.9 kB 🟢 -19.9 kB 🟢 -5.01 kB 🟢 -4.37 kB
assets/SignInContent-FZ5RNOWo.js (new) 19.9 kB 🔴 +19.9 kB 🔴 +5 kB 🔴 +4.36 kB
assets/Load3D-azBHYgDk.js (removed) 19.1 kB 🟢 -19.1 kB 🟢 -4.52 kB 🟢 -3.94 kB
assets/Load3D-BgHbRwGJ.js (new) 19.1 kB 🔴 +19.1 kB 🔴 +4.51 kB 🔴 +3.94 kB
assets/WidgetInputNumber-B2GEPnJX.js (new) 19 kB 🔴 +19 kB 🔴 +4.79 kB 🔴 +4.25 kB
assets/WidgetInputNumber-hNn-hKHY.js (removed) 19 kB 🟢 -19 kB 🟢 -4.79 kB 🟢 -4.25 kB
assets/commands-B5OWIP07.js (new) 18.4 kB 🔴 +18.4 kB 🔴 +4 kB 🔴 +3.12 kB
assets/commands-CDac1t5R.js (removed) 18.4 kB 🟢 -18.4 kB 🟢 -4 kB 🟢 -3.12 kB
assets/commands-BpuLWLYp.js (removed) 17.2 kB 🟢 -17.2 kB 🟢 -3.69 kB 🟢 -2.83 kB
assets/commands-D8rw30qv.js (new) 17.2 kB 🔴 +17.2 kB 🔴 +3.69 kB 🔴 +2.83 kB
assets/commands-Bz_W84Z6.js (removed) 17.1 kB 🟢 -17.1 kB 🟢 -3.77 kB 🟢 -2.96 kB
assets/commands-CROe-VxF.js (new) 17.1 kB 🔴 +17.1 kB 🔴 +3.76 kB 🔴 +2.96 kB
assets/WidgetRecordAudio-DXFItCPO.js (removed) 16.6 kB 🟢 -16.6 kB 🟢 -4.63 kB 🟢 -4.14 kB
assets/WidgetRecordAudio-KYgyiuSz.js (new) 16.6 kB 🔴 +16.6 kB 🔴 +4.63 kB 🔴 +4.15 kB
assets/commands-bc5e55hX.js (removed) 16.6 kB 🟢 -16.6 kB 🟢 -3.8 kB 🟢 -2.99 kB
assets/commands-JLCUpsmb.js (new) 16.6 kB 🔴 +16.6 kB 🔴 +3.79 kB 🔴 +2.99 kB
assets/commands-C8aaHXWO.js (removed) 16.3 kB 🟢 -16.3 kB 🟢 -3.53 kB 🟢 -2.95 kB
assets/commands-C9wqJpv2.js (new) 16.3 kB 🔴 +16.3 kB 🔴 +3.53 kB 🔴 +2.94 kB
assets/WidgetRange-D46kbQz4.js (new) 16.2 kB 🔴 +16.2 kB 🔴 +4.17 kB 🔴 +3.73 kB
assets/WidgetRange-DP2ZPbLz.js (removed) 16.2 kB 🟢 -16.2 kB 🟢 -4.17 kB 🟢 -3.72 kB
assets/commands-BZIIcMcH.js (removed) 15.8 kB 🟢 -15.8 kB 🟢 -3.5 kB 🟢 -2.91 kB
assets/commands-Chc9Dcue.js (new) 15.8 kB 🔴 +15.8 kB 🔴 +3.5 kB 🔴 +2.91 kB
assets/commands-BlOUPdce.js (new) 15.8 kB 🔴 +15.8 kB 🔴 +3.42 kB 🔴 +2.78 kB
assets/commands-Dh0t0-uc.js (removed) 15.8 kB 🟢 -15.8 kB 🟢 -3.42 kB 🟢 -2.8 kB
assets/commands-CcmbODwY.js (new) 15.7 kB 🔴 +15.7 kB 🔴 +3.39 kB 🔴 +2.81 kB
assets/commands-jZNeQBVA.js (removed) 15.7 kB 🟢 -15.7 kB 🟢 -3.39 kB 🟢 -2.81 kB
assets/commands-BQLUUrFO.js (removed) 15.6 kB 🟢 -15.6 kB 🟢 -3.65 kB 🟢 -2.85 kB
assets/commands-DJRpIyM8.js (new) 15.6 kB 🔴 +15.6 kB 🔴 +3.65 kB 🔴 +2.85 kB
assets/commands-DuYMR-go.js (removed) 14.9 kB 🟢 -14.9 kB 🟢 -3.59 kB 🟢 -2.74 kB
assets/commands-tyxfNCfU.js (new) 14.9 kB 🔴 +14.9 kB 🔴 +3.59 kB 🔴 +2.74 kB
assets/commands-BbShCDWe.js (new) 14.7 kB 🔴 +14.7 kB 🔴 +3.54 kB 🔴 +2.63 kB
assets/commands-BsFKaKeh.js (removed) 14.7 kB 🟢 -14.7 kB 🟢 -3.54 kB 🟢 -2.63 kB
assets/DialogHeader-CAZPBcRD.js (removed) 13.8 kB 🟢 -13.8 kB 🟢 -3.79 kB 🟢 -3.35 kB
assets/DialogHeader-DN14XWr6.js (new) 13.8 kB 🔴 +13.8 kB 🔴 +3.78 kB 🔴 +3.35 kB
assets/WaveAudioPlayer-Cz7M9en4.js (new) 12.8 kB 🔴 +12.8 kB 🔴 +3.48 kB 🔴 +3.06 kB
assets/WaveAudioPlayer-D9CiWWN5.js (removed) 12.8 kB 🟢 -12.8 kB 🟢 -3.48 kB 🟢 -3.07 kB
assets/i18n-Bpgw-9OH.js (removed) 11.6 kB 🟢 -11.6 kB 🟢 -3.15 kB 🟢 -2.68 kB
assets/i18n-DSWRXkiU.js (new) 11.6 kB 🔴 +11.6 kB 🔴 +3.15 kB 🔴 +2.69 kB
assets/WidgetCurve-DVWlPY-w.js (removed) 11.3 kB 🟢 -11.3 kB 🟢 -3.51 kB 🟢 -3.17 kB
assets/WidgetCurve-fIRCQrn8.js (new) 11.3 kB 🔴 +11.3 kB 🔴 +3.5 kB 🔴 +3.18 kB
assets/AudioPreviewPlayer-CAipoGHM.js (removed) 10.6 kB 🟢 -10.6 kB 🟢 -3.06 kB 🟢 -2.74 kB
assets/AudioPreviewPlayer-ClG-Ky--.js (new) 10.6 kB 🔴 +10.6 kB 🔴 +3.06 kB 🔴 +2.73 kB
assets/TeamWorkspacesDialogContent-DIOZq4Uo.js (removed) 10.4 kB 🟢 -10.4 kB 🟢 -3.01 kB 🟢 -2.68 kB
assets/TeamWorkspacesDialogContent-uJNiGo-I.js (new) 10.4 kB 🔴 +10.4 kB 🔴 +3.01 kB 🔴 +2.68 kB
assets/SelectValue-Bjj6ChpS.js (new) 10.2 kB 🔴 +10.2 kB 🔴 +2.48 kB 🔴 +2.18 kB
assets/SelectValue-DWNAz1w-.js (removed) 10.2 kB 🟢 -10.2 kB 🟢 -2.48 kB 🟢 -2.19 kB
assets/Load3DConfiguration-5oEJwzcw.js (new) 9.02 kB 🔴 +9.02 kB 🔴 +2.66 kB 🔴 +2.35 kB
assets/Load3DConfiguration-BN6E9xR4.js (removed) 9.02 kB 🟢 -9.02 kB 🟢 -2.66 kB 🟢 -2.34 kB
assets/nodeTemplates-Be42L5NW.js (removed) 8.33 kB 🟢 -8.33 kB 🟢 -2.88 kB 🟢 -2.54 kB
assets/nodeTemplates-C5hhZ8HA.js (new) 8.33 kB 🔴 +8.33 kB 🔴 +2.88 kB 🔴 +2.54 kB
assets/onboardingCloudRoutes-BEkV98AE.js (new) 8.2 kB 🔴 +8.2 kB 🔴 +2.53 kB 🔴 +2.19 kB
assets/onboardingCloudRoutes-DHfpk4ON.js (removed) 8.01 kB 🟢 -8.01 kB 🟢 -2.48 kB 🟢 -2.14 kB
assets/NightlySurveyController-B9XLWAZ7.js (new) 7.95 kB 🔴 +7.95 kB 🔴 +2.7 kB 🔴 +2.4 kB
assets/NightlySurveyController-BgJAiA8A.js (removed) 7.95 kB 🟢 -7.95 kB 🟢 -2.7 kB 🟢 -2.4 kB
assets/WidgetImageCompare-CpSyj2oI.js (removed) 7.82 kB 🟢 -7.82 kB 🟢 -2.25 kB 🟢 -1.98 kB
assets/WidgetImageCompare-uX5pUqKY.js (new) 7.82 kB 🔴 +7.82 kB 🔴 +2.26 kB 🔴 +1.97 kB
assets/Popover-DRMi0gva.js (new) 7.18 kB 🔴 +7.18 kB 🔴 +2.58 kB 🔴 +2.26 kB
assets/Popover-DwbVdX-Z.js (removed) 7.18 kB 🟢 -7.18 kB 🟢 -2.58 kB 🟢 -2.27 kB
assets/InviteMemberDialogContent-C2IBvCrL.js (new) 7.03 kB 🔴 +7.03 kB 🔴 +2.14 kB 🔴 +1.85 kB
assets/InviteMemberDialogContent-DO7Z-m2G.js (removed) 7.03 kB 🟢 -7.03 kB 🟢 -2.14 kB 🟢 -1.85 kB
assets/WidgetWithControl-BLUdKAHp.js (new) 6.3 kB 🔴 +6.3 kB 🔴 +2.54 kB 🔴 +2.25 kB
assets/WidgetWithControl-O3Di-tg3.js (removed) 6.19 kB 🟢 -6.19 kB 🟢 -2.48 kB 🟢 -2.22 kB
assets/AnimationControls-B5Ydo7W8.js (new) 6.16 kB 🔴 +6.16 kB 🔴 +1.88 kB 🔴 +1.66 kB
assets/AnimationControls-h9VVkkR1.js (removed) 6.16 kB 🟢 -6.16 kB 🟢 -1.88 kB 🟢 -1.66 kB
assets/load3dPreviewExtensions-Cw-yaK_T.js (new) 5.38 kB 🔴 +5.38 kB 🔴 +1.75 kB 🔴 +1.55 kB
assets/load3dPreviewExtensions-DOwxpY26.js (removed) 5.38 kB 🟢 -5.38 kB 🟢 -1.75 kB 🟢 -1.55 kB
assets/CreateWorkspaceDialogContent-B8SMZJ9N.js (removed) 5.19 kB 🟢 -5.19 kB 🟢 -1.83 kB 🟢 -1.59 kB
assets/CreateWorkspaceDialogContent-hOvEr1Xm.js (new) 5.19 kB 🔴 +5.19 kB 🔴 +1.83 kB 🔴 +1.59 kB
assets/CloudNotificationContent-0MZ3WWE5.js (removed) 5.11 kB 🟢 -5.11 kB 🟢 -1.79 kB 🟢 -1.54 kB
assets/CloudNotificationContent-CxfsISBD.js (new) 5.11 kB 🔴 +5.11 kB 🔴 +1.79 kB 🔴 +1.54 kB
assets/missingModelDownload-W1X68NOJ.js (removed) 5.07 kB 🟢 -5.07 kB 🟢 -1.98 kB 🟢 -1.72 kB
assets/missingModelDownload-zknQV_bP.js (new) 5.07 kB 🔴 +5.07 kB 🔴 +1.98 kB 🔴 +1.72 kB
assets/FreeTierDialogContent-DtywJIu2.js (new) 5.02 kB 🔴 +5.02 kB 🔴 +1.69 kB 🔴 +1.49 kB
assets/FreeTierDialogContent-G5rCeQv4.js (removed) 5.02 kB 🟢 -5.02 kB 🟢 -1.7 kB 🟢 -1.49 kB
assets/EditWorkspaceDialogContent-BQTl32qj.js (new) 5 kB 🔴 +5 kB 🔴 +1.79 kB 🔴 +1.55 kB
assets/EditWorkspaceDialogContent-H27EPS8-.js (removed) 5 kB 🟢 -5 kB 🟢 -1.8 kB 🟢 -1.56 kB
assets/WidgetTextarea-CO0QkQie.js (removed) 4.86 kB 🟢 -4.86 kB 🟢 -1.9 kB 🟢 -1.66 kB
assets/WidgetTextarea-eprESaUD.js (new) 4.86 kB 🔴 +4.86 kB 🔴 +1.89 kB 🔴 +1.67 kB
assets/saveMesh-7kq5xTFo.js (removed) 4.79 kB 🟢 -4.79 kB 🟢 -1.55 kB 🟢 -1.36 kB
assets/saveMesh-BWnUYxbz.js (new) 4.79 kB 🔴 +4.79 kB 🔴 +1.55 kB 🔴 +1.36 kB
assets/Preview3d-BLYXaUSq.js (removed) 4.59 kB 🟢 -4.59 kB 🟢 -1.43 kB 🟢 -1.23 kB
assets/Preview3d-Cu--svUC.js (new) 4.59 kB 🔴 +4.59 kB 🔴 +1.43 kB 🔴 +1.23 kB
assets/ValueControlPopover-CclkJ99X.js (new) 4.55 kB 🔴 +4.55 kB 🔴 +1.59 kB 🔴 +1.41 kB
assets/ValueControlPopover-D-Up3-2v.js (removed) 4.55 kB 🟢 -4.55 kB 🟢 -1.59 kB 🟢 -1.41 kB
assets/CancelSubscriptionDialogContent-Bg9JNxY6.js (removed) 4.54 kB 🟢 -4.54 kB 🟢 -1.66 kB 🟢 -1.44 kB
assets/CancelSubscriptionDialogContent-D8b01dJq.js (new) 4.54 kB 🔴 +4.54 kB 🔴 +1.66 kB 🔴 +1.44 kB
assets/tierBenefits-BPdsGFgS.js (new) 4.46 kB 🔴 +4.46 kB 🔴 +1.58 kB 🔴 +1.36 kB
assets/tierBenefits-Dax_lz5a.js (removed) 4.46 kB 🟢 -4.46 kB 🟢 -1.58 kB 🟢 -1.37 kB
assets/ApiNodesSignInContent-DeuQe7zM.js (new) 4.14 kB 🔴 +4.14 kB 🔴 +1.34 kB 🔴 +1.18 kB
assets/ApiNodesSignInContent-twUFRtmW.js (removed) 4.14 kB 🟢 -4.14 kB 🟢 -1.35 kB 🟢 -1.18 kB
assets/DeleteWorkspaceDialogContent-BjUJtDo-.js (new) 3.91 kB 🔴 +3.91 kB 🔴 +1.47 kB 🔴 +1.26 kB
assets/DeleteWorkspaceDialogContent-byuY3aqk.js (removed) 3.91 kB 🟢 -3.91 kB 🟢 -1.48 kB 🟢 -1.27 kB
assets/WidgetBoundingBox-b9ep7oAu.js (new) 3.82 kB 🔴 +3.82 kB 🔴 +1.06 kB 🔴 +927 B
assets/WidgetBoundingBox-g83e0MsG.js (removed) 3.82 kB 🟢 -3.82 kB 🟢 -1.06 kB 🟢 -926 B
assets/WidgetGalleria-B9pYLuS4.js (removed) 3.8 kB 🟢 -3.8 kB 🟢 -1.47 kB 🟢 -1.31 kB
assets/WidgetGalleria-CHSeyoLf.js (new) 3.8 kB 🔴 +3.8 kB 🔴 +1.47 kB 🔴 +1.32 kB
assets/LeaveWorkspaceDialogContent-BBvbki6A.js (removed) 3.73 kB 🟢 -3.73 kB 🟢 -1.42 kB 🟢 -1.23 kB
assets/LeaveWorkspaceDialogContent-CT7dHzug.js (new) 3.73 kB 🔴 +3.73 kB 🔴 +1.42 kB 🔴 +1.22 kB
assets/RemoveMemberDialogContent-D9wwGekL.js (new) 3.71 kB 🔴 +3.71 kB 🔴 +1.37 kB 🔴 +1.19 kB
assets/RemoveMemberDialogContent-Dxz0LrRE.js (removed) 3.71 kB 🟢 -3.71 kB 🟢 -1.38 kB 🟢 -1.19 kB
assets/WidgetToggleSwitch-B24CeuCI.js (removed) 3.67 kB 🟢 -3.67 kB 🟢 -1.4 kB 🟢 -1.23 kB
assets/WidgetToggleSwitch-DMcZQwgc.js (new) 3.67 kB 🔴 +3.67 kB 🔴 +1.39 kB 🔴 +1.23 kB
assets/Slider-5LX24nMc.js (removed) 3.64 kB 🟢 -3.64 kB 🟢 -1.42 kB 🟢 -1.23 kB
assets/Slider-D9gV8We2.js (new) 3.64 kB 🔴 +3.64 kB 🔴 +1.42 kB 🔴 +1.24 kB
assets/RevokeInviteDialogContent-DdfWKykG.js (new) 3.63 kB 🔴 +3.63 kB 🔴 +1.38 kB 🔴 +1.21 kB
assets/RevokeInviteDialogContent-kVt5B60V.js (removed) 3.63 kB 🟢 -3.63 kB 🟢 -1.39 kB 🟢 -1.21 kB
assets/InviteMemberUpsellDialogContent-BuDhBZJv.js (removed) 3.48 kB 🟢 -3.48 kB 🟢 -1.24 kB 🟢 -1.07 kB
assets/InviteMemberUpsellDialogContent-Djy3e6SR.js (new) 3.48 kB 🔴 +3.48 kB 🔴 +1.24 kB 🔴 +1.07 kB
assets/Media3DTop-D7Cwa1Wo.js (removed) 3.26 kB 🟢 -3.26 kB 🟢 -1.3 kB 🟢 -1.13 kB
assets/Media3DTop-Drjp086M.js (new) 3.26 kB 🔴 +3.26 kB 🔴 +1.3 kB 🔴 +1.13 kB
assets/WidgetMarkdown-C5Gdkdyk.js (removed) 3.1 kB 🟢 -3.1 kB 🟢 -1.27 kB 🟢 -1.1 kB
assets/WidgetMarkdown-Cmajeur3.js (new) 3.1 kB 🔴 +3.1 kB 🔴 +1.27 kB 🔴 +1.13 kB
assets/WidgetInputText-C79hwQV0.js (new) 3.07 kB 🔴 +3.07 kB 🔴 +1.29 kB 🔴 +1.16 kB
assets/WidgetInputText-ouXIQIZd.js (removed) 3.07 kB 🟢 -3.07 kB 🟢 -1.3 kB 🟢 -1.16 kB
assets/GlobalToast-BGEy4Xzi.js (removed) 3.05 kB 🟢 -3.05 kB 🟢 -1.26 kB 🟢 -1.08 kB
assets/GlobalToast-wREZB1no.js (new) 3.05 kB 🔴 +3.05 kB 🔴 +1.26 kB 🔴 +1.08 kB
assets/MediaVideoTop-CuUqGrKN.js (removed) 2.91 kB 🟢 -2.91 kB 🟢 -1.18 kB 🟢 -1.03 kB
assets/MediaVideoTop-DQ--O8XQ.js (new) 2.91 kB 🔴 +2.91 kB 🔴 +1.18 kB 🔴 +1.03 kB
assets/load3dAdvanced-BeDUwV9x.js (new) 2.85 kB 🔴 +2.85 kB 🔴 +1.11 kB 🔴 +973 B
assets/load3dAdvanced-Bua-nONA.js (removed) 2.85 kB 🟢 -2.85 kB 🟢 -1.12 kB 🟢 -978 B
assets/ErrorPanelSurveyCta-C-QoMYsQ.js (removed) 2.64 kB 🟢 -2.64 kB 🟢 -1.16 kB 🟢 -1.03 kB
assets/ErrorPanelSurveyCta-onjjKXUb.js (new) 2.64 kB 🔴 +2.64 kB 🔴 +1.16 kB 🔴 +1.03 kB
assets/SubscribeToRun-Bogu4i0F.js (new) 2.53 kB 🔴 +2.53 kB 🔴 +1.1 kB 🔴 +972 B
assets/SubscribeToRun-Dvutopsd.js (removed) 2.53 kB 🟢 -2.53 kB 🟢 -1.1 kB 🟢 -977 B
assets/WidgetLayoutField-BJXaLTL8.js (removed) 2.43 kB 🟢 -2.43 kB 🟢 -1.06 kB 🟢 -929 B
assets/WidgetLayoutField-D2k2Q3Vh.js (new) 2.43 kB 🔴 +2.43 kB 🔴 +1.06 kB 🔴 +928 B
assets/WidgetChart-6AHYGzbw.js (new) 2.41 kB 🔴 +2.41 kB 🔴 +1.03 kB 🔴 +886 B
assets/WidgetChart-PdmjFNz2.js (removed) 2.41 kB 🟢 -2.41 kB 🟢 -1.03 kB 🟢 -887 B
assets/SubscriptionBenefits-Cr8E9R5a.js (new) 2.07 kB 🔴 +2.07 kB 🔴 +707 B 🔴 +608 B
assets/SubscriptionBenefits-DZQhPJSI.js (removed) 2.07 kB 🟢 -2.07 kB 🟢 -710 B 🟢 -608 B
assets/MediaImageTop-DhvrqMGE.js (removed) 2.06 kB 🟢 -2.06 kB 🟢 -993 B 🟢 -855 B
assets/MediaImageTop-DkC6sjND.js (new) 2.06 kB 🔴 +2.06 kB 🔴 +993 B 🔴 +893 B
assets/constants-DDYVacWf.js (removed) 2.04 kB 🟢 -2.04 kB 🟢 -724 B 🟢 -613 B
assets/constants-DP4sIT6R.js (new) 2.04 kB 🔴 +2.04 kB 🔴 +724 B 🔴 +613 B
assets/graphHasMissingNodes-DZBLOwkU.js (new) 1.93 kB 🔴 +1.93 kB 🔴 +908 B 🔴 +796 B
assets/graphHasMissingNodes-gRk5uzue.js (removed) 1.93 kB 🟢 -1.93 kB 🟢 -908 B 🟢 -791 B
assets/webviewDetection-CsH6wGVS.js (new) 1.81 kB 🔴 +1.81 kB 🔴 +864 B 🔴 +716 B
assets/webviewDetection-jr5llWdv.js (removed) 1.81 kB 🟢 -1.81 kB 🟢 -863 B 🟢 -715 B
assets/WidgetColorPicker-CZiuoVeL.js (new) 1.74 kB 🔴 +1.74 kB 🔴 +787 B 🔴 +695 B
assets/WidgetColorPicker-DqOgn5U_.js (removed) 1.74 kB 🟢 -1.74 kB 🟢 -784 B 🟢 -696 B
assets/auto-BGNaujxM.js (removed) 1.7 kB 🟢 -1.7 kB 🟢 -622 B 🟢 -568 B
assets/auto-Ch1mxjrr.js (new) 1.7 kB 🔴 +1.7 kB 🔴 +620 B 🔴 +568 B
assets/Loader-Bq3y0k97.js (removed) 1.69 kB 🟢 -1.69 kB 🟢 -814 B 🟢 -719 B
assets/Loader-DR61alh8.js (new) 1.69 kB 🔴 +1.69 kB 🔴 +812 B 🔴 +716 B
assets/MediaAudioTop-DeMs15Bh.js (removed) 1.67 kB 🟢 -1.67 kB 🟢 -838 B 🟢 -696 B
assets/MediaAudioTop-DpjMsAij.js (new) 1.67 kB 🔴 +1.67 kB 🔴 +836 B 🔴 +692 B
assets/Textarea-9LyLXDmB.js (removed) 1.61 kB 🟢 -1.61 kB 🟢 -841 B 🟢 -734 B
assets/Textarea-o2mPUHI_.js (new) 1.61 kB 🔴 +1.61 kB 🔴 +839 B 🔴 +733 B
assets/signInSchema-Bohy3XGL.js (removed) 1.6 kB 🟢 -1.6 kB 🟢 -584 B 🟢 -513 B
assets/signInSchema-DKDz_eYH.js (new) 1.6 kB 🔴 +1.6 kB 🔴 +585 B 🔴 +518 B
assets/topupTracker-Clv6wMFq.js (new) 1.58 kB 🔴 +1.58 kB 🔴 +765 B 🔴 +641 B
assets/widgetPropFilter-BPti2Mxq.js (new) 1.52 kB 🔴 +1.52 kB 🔴 +704 B 🔴 +606 B
assets/widgetPropFilter-Ci_iqm0V.js (removed) 1.52 kB 🟢 -1.52 kB 🟢 -702 B 🟢 -608 B
assets/VideoPlayOverlay-BkpFD3Ex.js (removed) 1.52 kB 🟢 -1.52 kB 🟢 -758 B 🟢 -669 B
assets/VideoPlayOverlay-C459VoJw.js (new) 1.52 kB 🔴 +1.52 kB 🔴 +763 B 🔴 +671 B
assets/CloudRunButtonWrapper-42GWfr_M.js (new) 1.13 kB 🔴 +1.13 kB 🔴 +548 B 🔴 +517 B
assets/CloudRunButtonWrapper-BrEFNxKW.js (removed) 1.13 kB 🟢 -1.13 kB 🟢 -547 B 🟢 -512 B
assets/MediaOtherTop-DfoXhju_.js (new) 1.08 kB 🔴 +1.08 kB 🔴 +605 B 🔴 +501 B
assets/MediaOtherTop-DnGvZf5d.js (removed) 1.08 kB 🟢 -1.08 kB 🟢 -607 B 🟢 -501 B
assets/MediaTextTop-C-BY1mJa.js (new) 1.06 kB 🔴 +1.06 kB 🔴 +601 B 🔴 +501 B
assets/MediaTextTop-DjdQatT1.js (removed) 1.06 kB 🟢 -1.06 kB 🟢 -600 B 🟢 -500 B
assets/cloudSessionCookie-C4YbLbSK.js (new) 991 B 🔴 +991 B 🔴 +466 B 🔴 +416 B
assets/cloudSessionCookie-JPK-45jG.js (removed) 991 B 🟢 -991 B 🟢 -470 B 🟢 -400 B
assets/cloudBadges-CMDMuuxI.js (removed) 976 B 🟢 -976 B 🟢 -560 B 🟢 -502 B
assets/cloudBadges-MpV7hvOV.js (new) 973 B 🔴 +973 B 🔴 +550 B 🔴 +474 B
assets/ComfyOrgHeader-BJJpCP1Y.js (removed) 960 B 🟢 -960 B 🟢 -529 B 🟢 -463 B
assets/ComfyOrgHeader-UUhVfREM.js (new) 960 B 🔴 +960 B 🔴 +526 B 🔴 +457 B
assets/nodeTypes-BswnQ9Sv.js (new) 932 B 🔴 +932 B 🔴 +446 B 🔴 +370 B
assets/nodeTypes-JvlLAzGb.js (removed) 932 B 🟢 -932 B 🟢 -447 B 🟢 -369 B
assets/load3dSerialize-BpTKNR6B.js (removed) 885 B 🟢 -885 B 🟢 -425 B 🟢 -357 B
assets/load3dSerialize-DyJorWTa.js (new) 885 B 🔴 +885 B 🔴 +424 B 🔴 +362 B
assets/cloudSubscription-Bz8NahO6.js (removed) 820 B 🟢 -820 B 🟢 -454 B 🟢 -362 B
assets/cloudSubscription-CESA1Lrl.js (new) 820 B 🔴 +820 B 🔴 +452 B 🔴 +362 B
assets/Load3DAdvanced-C16A00VF.js (new) 813 B 🔴 +813 B 🔴 +456 B 🔴 +408 B
assets/Load3DAdvanced-CSXRFfjh.js (removed) 813 B 🟢 -813 B 🟢 -456 B 🟢 -407 B
assets/devFeatureFlagOverride-BkGrEGSd.js (new) 756 B 🔴 +756 B 🔴 +467 B 🔴 +408 B
assets/telemetry-BQKS_Is7.js (new) 546 B 🔴 +546 B 🔴 +334 B 🔴 +271 B
assets/nightlyBadges-Bsd5aYr4.js (removed) 464 B 🟢 -464 B 🟢 -305 B 🟢 -300 B
assets/nightlyBadges-C9-N0lgW.js (new) 464 B 🔴 +464 B 🔴 +305 B 🔴 +254 B
assets/src-C5pCFRgt.js (removed) 446 B 🟢 -446 B 🟢 -318 B 🟢 -274 B
assets/src-fsCpYHTu.js (new) 446 B 🔴 +446 B 🔴 +318 B 🔴 +268 B
assets/telemetry-egVpDhez.js (removed) 443 B 🟢 -443 B 🟢 -307 B 🟢 -245 B
assets/widgetTypes-CLBvuu_M.js (new) 416 B 🔴 +416 B 🔴 +271 B 🔴 +237 B
assets/widgetTypes-DuTIDKvo.js (removed) 416 B 🟢 -416 B 🟢 -272 B 🟢 -234 B
assets/vRekaZIndex-Bq-NPd5C.js (new) 360 B 🔴 +360 B 🔴 +262 B 🔴 +219 B
assets/vRekaZIndex-CxDMaKEv.js (removed) 360 B 🟢 -360 B 🟢 -263 B 🟢 -215 B
assets/cloud-subscription--zYc-Wgh.js (removed) 279 B 🟢 -279 B 🟢 -184 B 🟢 -147 B
assets/cloud-subscription-BUzam6dP.js (new) 279 B 🔴 +279 B 🔴 +183 B 🔴 +148 B
assets/comfy-logo-single--h2m5AOT.js (new) 272 B 🔴 +272 B 🔴 +185 B 🔴 +150 B
assets/comfy-logo-single-C4pG2Gfa.js (removed) 272 B 🟢 -272 B 🟢 -185 B 🟢 -150 B
assets/missingModelDownload-B4miheKh.js (new) 228 B 🔴 +228 B 🔴 +150 B 🔴 +128 B
assets/missingModelDownload-DkdPiEc0.js (removed) 228 B 🟢 -228 B 🟢 -152 B 🟢 -130 B
assets/SubscriptionPanelContentWorkspace-BC7X-Rcw.js (removed) 179 B 🟢 -179 B 🟢 -117 B 🟢 -94 B
assets/SubscriptionPanelContentWorkspace-DlDQ0q3p.js (new) 179 B 🔴 +179 B 🔴 +117 B 🔴 +92 B
assets/Load3dViewerContent--QtR4nOy.js (new) 137 B 🔴 +137 B 🔴 +103 B 🔴 +94 B
assets/Load3dViewerContent-BXiBkTtX.js (removed) 137 B 🟢 -137 B 🟢 -103 B 🟢 -92 B
assets/WidgetBoundingBox-CsUS4jdu.js (removed) 131 B 🟢 -131 B 🟢 -100 B 🟢 -95 B
assets/WidgetBoundingBox-CykRgHjj.js (new) 131 B 🔴 +131 B 🔴 +100 B 🔴 +93 B
assets/Load3DAdvanced-Blh3UvmT.js (new) 122 B 🔴 +122 B 🔴 +97 B 🔴 +88 B
assets/Load3DAdvanced-CEsH29JO.js (removed) 122 B 🟢 -122 B 🟢 -97 B 🟢 -88 B
assets/WidgetLegacy-CDl95uRo.js (removed) 119 B 🟢 -119 B 🟢 -108 B 🟢 -94 B
assets/WidgetLegacy-DjfiC34M.js (new) 119 B 🔴 +119 B 🔴 +108 B 🔴 +96 B
assets/workflowDraftStoreV2-BgQ7kdkE.js (new) 113 B 🔴 +113 B 🔴 +105 B 🔴 +117 B
assets/workflowDraftStoreV2-DOsPH6yR.js (removed) 113 B 🟢 -113 B 🟢 -105 B 🟢 -117 B
assets/Load3D-ClJ7X0pl.js (removed) 98 B 🟢 -98 B 🟢 -89 B 🟢 -87 B
assets/Load3D-DyFx1tiJ.js (new) 98 B 🔴 +98 B 🔴 +89 B 🔴 +89 B
assets/i18n-DgoBDJr1.js (removed) 97 B 🟢 -97 B 🟢 -92 B 🟢 -85 B
assets/i18n-jpq7D8tz.js (new) 97 B 🔴 +97 B 🔴 +92 B 🔴 +88 B
assets/changeTracker-B1SVu9w2.js (removed) 93 B 🟢 -93 B 🟢 -95 B 🟢 -81 B
assets/changeTracker-DzHQ-LAy.js (new) 93 B 🔴 +93 B 🔴 +95 B 🔴 +86 B

Status: 142 added / 139 removed / 9 unchanged

⚡ Performance

⏳ Performance tests in progress…

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 06/19/2026, 02:31:38 AM UTC

Links

🎭 Playwright: ✅ 1667 passed, 0 failed · 3 flaky

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

@benceruleanlu benceruleanlu force-pushed the bl/mar-240-frontend-event-sink branch 2 times, most recently from fff3274 to f2b1f95 Compare June 18, 2026 03:30
@benceruleanlu benceruleanlu force-pushed the bl/telemetry-run-button-context branch from 128e035 to 0fcbdb0 Compare June 19, 2026 01:44
@benceruleanlu benceruleanlu force-pushed the bl/mar-240-frontend-event-sink branch from f2b1f95 to d2459d9 Compare June 19, 2026 01:48
@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

Deployment failed with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/uy-tieu-s-projects?upgradeToPro=build-rate-limit

Base automatically changed from bl/telemetry-run-button-context to main June 19, 2026 02:26
@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Jun 19, 2026
@benceruleanlu benceruleanlu force-pushed the bl/mar-240-frontend-event-sink branch from d2459d9 to cd1d95f Compare June 19, 2026 02:29
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants