Skip to content

feat: implement per-tab workspace authentication#8069

Closed
christian-byrne wants to merge 1 commit intomainfrom
feat/workspace-auth
Closed

feat: implement per-tab workspace authentication#8069
christian-byrne wants to merge 1 commit intomainfrom
feat/workspace-auth

Conversation

@christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Jan 15, 2026

Summary

Implements per-tab workspace authentication that allows users to work in different workspaces in different browser tabs.

Changes

New Files

  • src/platform/auth/workspace/useWorkspaceAuth.ts - Core composable for workspace token management
  • src/platform/auth/workspace/useWorkspaceSwitch.ts - Composable for switching with unsaved changes confirmation
  • src/platform/auth/workspace/components/WorkspaceSwitcher.vue - Topbar button with popover
  • src/platform/auth/workspace/components/WorkspaceSelector.vue - Dropdown workspace list
  • src/types/workspaceTypes.ts - Type definitions aligned with backend API

Modified Files

  • src/stores/firebaseAuthStore.ts - getAuthHeader() now prioritizes workspace tokens over Firebase tokens
  • src/components/TopMenuSection.vue - Added WorkspaceSwitcher to topbar
  • src/locales/en/main.json - Added workspace-related translations

Key Features

  • Per-tab isolation: Each browser tab can view a different workspace via sessionStorage
  • Token refresh: Auto-refreshes workspace tokens 5 minutes before expiry
  • Unsaved changes handling: Shows confirmation dialog before switching if workflow is modified
  • Firebase token exchange: Exchanges Firebase JWT for workspace-scoped Cloud JWT

API Alignment

This PR is aligned with the backend API from cloud PR #1995:

  • POST /api/auth/token - Exchange Firebase token for workspace token
  • GET /api/workspaces - List user's workspaces
  • Request uses workspace_id (snake_case)
  • Response uses token, expires_at (ISO 8601), role, permissions

Testing

  • 38 unit tests added (29 for useWorkspaceAuth, 9 for useWorkspaceSwitch)
  • All existing tests pass

TODO (before merging)

┆Issue is synchronized with this Notion page by Unito

- Add useWorkspaceAuth composable for workspace token management
- Add WorkspaceSwitcher component to topbar for switching workspaces
- Add WorkspaceSelector dropdown component
- Update firebaseAuthStore.getAuthHeader() to prioritize workspace tokens
- Add workspace types aligned with backend API (cloud PR #1995)

Key features:
- Per-tab workspace isolation via sessionStorage
- Auto-refresh tokens 5 minutes before expiry
- Unsaved changes confirmation before switching
- Firebase token exchange for workspace-scoped JWT

Co-authored-by: anthropic/claude <noreply@anthropic.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019bbf2e-fe27-72da-a997-cb99968d8e61
Co-authored-by: Amp <amp@ampcode.com>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 15, 2026

Important

Review skipped

Draft detected.

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

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


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.

@github-actions
Copy link

github-actions bot commented Jan 15, 2026

🎭 Playwright Tests: ⚠️ Passed with flaky tests

Results: 503 passed, 0 failed, 2 flaky, 8 skipped (Total: 513)

❌ Failed Tests

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

@github-actions
Copy link

github-actions bot commented Jan 15, 2026

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 01/15/2026, 02:35:27 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

Copy link
Contributor Author

@christian-byrne christian-byrne left a comment

Choose a reason for hiding this comment

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

The UI is just for being able to test (temporary).

@github-actions
Copy link

Bundle Size Report

Summary

  • Raw size: 19.7 MB baseline 19.7 MB — 🔴 +18.7 kB
  • Gzip: 4.01 MB baseline 4.01 MB — 🔴 +3.95 kB
  • Brotli: 3.06 MB baseline 3.06 MB — 🔴 +2.9 kB
  • Bundles: 99 current • 99 baseline • 38 added / 38 removed

Category Glance
Graph Workspace 🔴 +17.1 kB (1.17 MB) · App Entry Points 🔴 +1.66 kB (3.34 MB) · Vendor & Third-Party ⚪ 0 B (9.34 MB) · Other ⚪ 0 B (5.25 MB) · Panels & Settings ⚪ 0 B (372 kB) · UI Components ⚪ 0 B (209 kB) · + 3 more

Per-category breakdown
App Entry Points — 3.34 MB (baseline 3.34 MB) • 🔴 +1.66 kB

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-BACelBCI.js (new) 3.14 MB 🔴 +3.14 MB 🔴 +657 kB 🔴 +499 kB
assets/index-C2efWzKm.js (removed) 3.14 MB 🟢 -3.14 MB 🟢 -657 kB 🟢 -499 kB
assets/index-B8q1HFny.js (removed) 200 kB 🟢 -200 kB 🟢 -44 kB 🟢 -36.4 kB
assets/index-BL_VWBKW.js (new) 200 kB 🔴 +200 kB 🔴 +44 kB 🔴 +36.4 kB
assets/index-C4JFXChq.js (new) 345 B 🔴 +345 B 🔴 +245 B 🔴 +202 B
assets/index-D7rBQd-X.js (removed) 345 B 🟢 -345 B 🟢 -244 B 🟢 -233 B

Status: 3 added / 3 removed

Graph Workspace — 1.17 MB (baseline 1.15 MB) • 🔴 +17.1 kB

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-RPiMzl5T.js (new) 1.17 MB 🔴 +1.17 MB 🔴 +223 kB 🔴 +168 kB
assets/GraphView-BNBHR8Zl.js (removed) 1.15 MB 🟢 -1.15 MB 🟢 -220 kB 🟢 -165 kB

Status: 1 added / 1 removed

Views & Navigation — 6.66 kB (baseline 6.66 kB) • ⚪ 0 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/UserSelectView-BMPbhW8s.js (removed) 6.66 kB 🟢 -6.66 kB 🟢 -2.16 kB 🟢 -1.92 kB
assets/UserSelectView-Ru0LcSyw.js (new) 6.66 kB 🔴 +6.66 kB 🔴 +2.16 kB 🔴 +1.94 kB

Status: 1 added / 1 removed

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

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/LegacyCreditsPanel-BJ1eikIQ.js (new) 25.2 kB 🔴 +25.2 kB 🔴 +5.76 kB 🔴 +5.02 kB
assets/LegacyCreditsPanel-Bsae76qO.js (removed) 25.2 kB 🟢 -25.2 kB 🟢 -5.76 kB 🟢 -5.02 kB
assets/KeybindingPanel-Cp3LjBS-.js (removed) 14.9 kB 🟢 -14.9 kB 🟢 -3.59 kB 🟢 -3.13 kB
assets/KeybindingPanel-D3w1SgNQ.js (new) 14.9 kB 🔴 +14.9 kB 🔴 +3.59 kB 🔴 +3.13 kB
assets/ExtensionPanel-B6XZ2UWg.js (new) 11.1 kB 🔴 +11.1 kB 🔴 +2.63 kB 🔴 +2.31 kB
assets/ExtensionPanel-DwAnXiKA.js (removed) 11.1 kB 🟢 -11.1 kB 🟢 -2.63 kB 🟢 -2.31 kB
assets/AboutPanel-Ctw--aaL.js (new) 9.2 kB 🔴 +9.2 kB 🔴 +2.47 kB 🔴 +2.22 kB
assets/AboutPanel-RmgFBq6r.js (removed) 9.2 kB 🟢 -9.2 kB 🟢 -2.48 kB 🟢 -2.22 kB
assets/ServerConfigPanel-By-Qusz3.js (removed) 7.55 kB 🟢 -7.55 kB 🟢 -2.06 kB 🟢 -1.83 kB
assets/ServerConfigPanel-vsmzW1bc.js (new) 7.55 kB 🔴 +7.55 kB 🔴 +2.06 kB 🔴 +1.82 kB
assets/UserPanel-C5BgAtcJ.js (new) 6.92 kB 🔴 +6.92 kB 🔴 +1.8 kB 🔴 +1.58 kB
assets/UserPanel-LgQ3E5u7.js (removed) 6.92 kB 🟢 -6.92 kB 🟢 -1.8 kB 🟢 -1.58 kB
assets/settings-BGQfQzTx.js 25.6 kB 25.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BVE4KHTw.js 22.7 kB 22.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BVtpJmlU.js 30.9 kB 30.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-C2aO00Dz.js 28.6 kB 28.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-Cm3ieBXR.js 27.8 kB 27.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CzQKMdK3.js 26.2 kB 26.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CzYUIUnL.js 27.1 kB 27.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DwKpL7jw.js 26.3 kB 26.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DX8feV4n.js 25.3 kB 25.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-mWzYycGc.js 22 kB 22 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-U4AdZ8Rl.js 34.9 kB 34.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 6 added / 6 removed

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

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/LazyImage.vue_vue_type_script_setup_true_lang-B1-qm-Es.js (removed) 69.6 kB 🟢 -69.6 kB 🟢 -14.2 kB 🟢 -12.3 kB
assets/LazyImage.vue_vue_type_script_setup_true_lang-dhfO5syQ.js (new) 69.6 kB 🔴 +69.6 kB 🔴 +14.2 kB 🔴 +12.3 kB
assets/Load3D.vue_vue_type_script_setup_true_lang-B1hLdDCG.js (new) 56.4 kB 🔴 +56.4 kB 🔴 +8.78 kB 🔴 +7.55 kB
assets/Load3D.vue_vue_type_script_setup_true_lang-DBiRVuLR.js (removed) 56.4 kB 🟢 -56.4 kB 🟢 -8.78 kB 🟢 -7.53 kB
assets/WidgetSelect.vue_vue_type_script_setup_true_lang-BDGSk_JB.js (removed) 48.1 kB 🟢 -48.1 kB 🟢 -10.4 kB 🟢 -8.99 kB
assets/WidgetSelect.vue_vue_type_script_setup_true_lang-ZLmE9hwB.js (new) 48.1 kB 🔴 +48.1 kB 🔴 +10.4 kB 🔴 +9.01 kB
assets/WidgetInputNumber.vue_vue_type_script_setup_true_lang-CouUqa_Z.js (new) 16.4 kB 🔴 +16.4 kB 🔴 +4.11 kB 🔴 +3.65 kB
assets/WidgetInputNumber.vue_vue_type_script_setup_true_lang-DCero6Di.js (removed) 16.4 kB 🟢 -16.4 kB 🟢 -4.11 kB 🟢 -3.64 kB
assets/ComfyQueueButton-Bz2KaTp5.js (new) 8.87 kB 🔴 +8.87 kB 🔴 +2.6 kB 🔴 +2.31 kB
assets/ComfyQueueButton-CoNs5eug.js (removed) 8.87 kB 🟢 -8.87 kB 🟢 -2.59 kB 🟢 -2.31 kB
assets/WidgetWithControl.vue_vue_type_script_setup_true_lang-Bbk1aKLx.js (new) 3.75 kB 🔴 +3.75 kB 🔴 +1.47 kB 🔴 +1.33 kB
assets/WidgetWithControl.vue_vue_type_script_setup_true_lang-D_V6eAUa.js (removed) 3.75 kB 🟢 -3.75 kB 🟢 -1.47 kB 🟢 -1.33 kB
assets/WidgetButton-BicsdZTn.js (new) 2.25 kB 🔴 +2.25 kB 🔴 +1.01 kB 🔴 +914 B
assets/WidgetButton-DTwqbDgT.js (removed) 2.25 kB 🟢 -2.25 kB 🟢 -1.01 kB 🟢 -890 B
assets/WidgetLayoutField.vue_vue_type_script_setup_true_lang-BeE2eFrD.js (removed) 2.14 kB 🟢 -2.14 kB 🟢 -889 B 🟢 -772 B
assets/WidgetLayoutField.vue_vue_type_script_setup_true_lang-Isg1sW0D.js (new) 2.14 kB 🔴 +2.14 kB 🔴 +890 B 🔴 +770 B
assets/UserAvatar.vue_vue_type_script_setup_true_lang-IJTLOeU1.js 1.34 kB 1.34 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 8 added / 8 removed

Data & Services — 12.5 kB (baseline 12.5 kB) • ⚪ 0 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/keybindingService-BuYbrqPy.js (removed) 7.51 kB 🟢 -7.51 kB 🟢 -1.83 kB 🟢 -1.57 kB
assets/keybindingService-BW9S7Wit.js (new) 7.51 kB 🔴 +7.51 kB 🔴 +1.83 kB 🔴 +1.57 kB
assets/audioService-BlDqXY0o.js (new) 2.2 kB 🔴 +2.2 kB 🔴 +961 B 🔴 +825 B
assets/audioService-c1GWTQKM.js (removed) 2.2 kB 🟢 -2.2 kB 🟢 -961 B 🟢 -830 B
assets/serverConfigStore-DyIvWaGz.js 2.83 kB 2.83 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 2 added / 2 removed

Utilities & Hooks — 1.41 kB (baseline 1.41 kB) • ⚪ 0 B

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/audioUtils-B2aBdG_q.js (removed) 1.41 kB 🟢 -1.41 kB 🟢 -651 B 🟢 -548 B
assets/audioUtils-D8nEqejb.js (new) 1.41 kB 🔴 +1.41 kB 🔴 +650 B 🔴 +542 B

Status: 1 added / 1 removed

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

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-chart-DZdD68iT.js 452 kB 452 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-other-C9GFBFnP.js 3.93 MB 3.93 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-NX-4NPlN.js 1.95 MB 1.95 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-reka-ui-7Sidv1he.js 111 kB 111 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-Bz1zdJb0.js 2.08 MB 2.08 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-DFkXpum7.js 232 kB 232 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-DMH2Ziq4.js 165 kB 165 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-BF8peZ5_.js 420 kB 420 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 5.25 MB (baseline 5.25 MB) • ⚪ 0 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/SubscriptionRequiredDialogContent-C3KXEFIe.js (new) 29.3 kB 🔴 +29.3 kB 🔴 +6.51 kB 🔴 +5.66 kB
assets/SubscriptionRequiredDialogContent-DMDaC3Xi.js (removed) 29.3 kB 🟢 -29.3 kB 🟢 -6.5 kB 🟢 -5.65 kB
assets/WidgetRecordAudio-Ba_p-DYv.js (new) 20.5 kB 🔴 +20.5 kB 🔴 +5.25 kB 🔴 +4.65 kB
assets/WidgetRecordAudio-CJ05hcqg.js (removed) 20.5 kB 🟢 -20.5 kB 🟢 -5.25 kB 🟢 -4.66 kB
assets/AudioPreviewPlayer-BZPzRPSW.js (new) 13.4 kB 🔴 +13.4 kB 🔴 +3.36 kB 🔴 +3.01 kB
assets/AudioPreviewPlayer-CeujlnaG.js (removed) 13.4 kB 🟢 -13.4 kB 🟢 -3.36 kB 🟢 -3.01 kB
assets/ValueControlPopover-DsRc2oHB.js (removed) 5.53 kB 🟢 -5.53 kB 🟢 -1.72 kB 🟢 -1.53 kB
assets/ValueControlPopover-O1RwwO42.js (new) 5.53 kB 🔴 +5.53 kB 🔴 +1.72 kB 🔴 +1.53 kB
assets/WidgetGalleria-CVtkoIxs.js (new) 4.14 kB 🔴 +4.14 kB 🔴 +1.46 kB 🔴 +1.32 kB
assets/WidgetGalleria-Dvr79ji5.js (removed) 4.14 kB 🟢 -4.14 kB 🟢 -1.46 kB 🟢 -1.32 kB
assets/WidgetColorPicker-DTEw-4Tr.js (new) 3.44 kB 🔴 +3.44 kB 🔴 +1.4 kB 🔴 +1.25 kB
assets/WidgetColorPicker-Qa6R8ZeX.js (removed) 3.44 kB 🟢 -3.44 kB 🟢 -1.4 kB 🟢 -1.25 kB
assets/WidgetTextarea-BikZTs2l.js (removed) 3.12 kB 🟢 -3.12 kB 🟢 -1.23 kB 🟢 -1.09 kB
assets/WidgetTextarea-BO5Mvhg2.js (new) 3.12 kB 🔴 +3.12 kB 🔴 +1.23 kB 🔴 +1.09 kB
assets/WidgetMarkdown-B96IbnuH.js (removed) 3.12 kB 🟢 -3.12 kB 🟢 -1.29 kB 🟢 -1.14 kB
assets/WidgetMarkdown-BLSEf50e.js (new) 3.12 kB 🔴 +3.12 kB 🔴 +1.29 kB 🔴 +1.14 kB
assets/WidgetAudioUI-CDoh-f8_.js (removed) 2.93 kB 🟢 -2.93 kB 🟢 -1.18 kB 🟢 -1.06 kB
assets/WidgetAudioUI-CHfIU3ma.js (new) 2.93 kB 🔴 +2.93 kB 🔴 +1.18 kB 🔴 +1.08 kB
assets/WidgetToggleSwitch-Du1AFNOb.js (removed) 2.7 kB 🟢 -2.7 kB 🟢 -1.14 kB 🟢 -1.03 kB
assets/WidgetToggleSwitch-XuewmrbF.js (new) 2.7 kB 🔴 +2.7 kB 🔴 +1.14 kB 🔴 +1.02 kB
assets/WidgetInputText-BTxI3AsX.js (new) 2.03 kB 🔴 +2.03 kB 🔴 +937 B 🔴 +869 B
assets/WidgetInputText-CjRkZ6l3.js (removed) 2.03 kB 🟢 -2.03 kB 🟢 -936 B 🟢 -843 B
assets/Media3DTop-C87ONP4R.js (removed) 1.53 kB 🟢 -1.53 kB 🟢 -783 B 🟢 -671 B
assets/Media3DTop-csct5rK6.js (new) 1.53 kB 🔴 +1.53 kB 🔴 +782 B 🔴 +671 B
assets/WidgetSelect-b_HQn9TV.js (new) 772 B 🔴 +772 B 🔴 +377 B 🔴 +368 B
assets/WidgetSelect-C3J9KVR7.js (removed) 772 B 🟢 -772 B 🟢 -373 B 🟢 -356 B
assets/WidgetInputNumber-Cl3f2gls.js (removed) 712 B 🟢 -712 B 🟢 -360 B 🟢 -325 B
assets/WidgetInputNumber-DhXWSpG8.js (new) 712 B 🔴 +712 B 🔴 +361 B 🔴 +333 B
assets/Load3D-B1AQNst5.js (new) 463 B 🔴 +463 B 🔴 +283 B 🔴 +238 B
assets/Load3D-BQ5_BRx1.js (removed) 463 B 🟢 -463 B 🟢 -283 B 🟢 -237 B
assets/WidgetLegacy-BcnhmCuH.js (new) 403 B 🔴 +403 B 🔴 +252 B 🔴 +213 B
assets/WidgetLegacy-Cmfj4ngB.js (removed) 403 B 🟢 -403 B 🟢 -251 B 🟢 -213 B
assets/commands-B32ZbeYu.js 16.5 kB 16.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-B7wQT83I.js 17 kB 17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-BK3JVjMG.js 15.7 kB 15.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C6twMpaZ.js 15.5 kB 15.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CDUWpEwM.js 18.3 kB 18.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CfZ6FPZ-.js 15.7 kB 15.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-COIPP_pv.js 17 kB 17 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CoPn_77e.js 14.7 kB 14.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CuRNS4XD.js 14.9 kB 14.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DBHjCSPA.js 16.2 kB 16.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DZJaRLKH.js 15.7 kB 15.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-8eC7XcBf.js 95 kB 95 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BpcYE6Bq.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BRhbiQsB.js 129 kB 129 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BrWdnTiG.js 113 kB 113 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C-cUNbuc.js 123 kB 123 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CGe0e9vH.js 106 kB 106 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Cv9Dlj-b.js 107 kB 107 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CzsdJqwO.js 94.3 kB 94.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Dbu4m_fl.js 133 kB 133 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DwAX_AEJ.js 149 kB 149 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-kiVYDd2_.js 110 kB 110 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaAudioTop-DUiRGHAk.js 1.46 kB 1.46 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaImageTop-bDoNEAep.js 1.75 kB 1.75 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/MediaVideoTop-BrNs2ijx.js 2.65 kB 2.65 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-B-XzzBeS.js 317 kB 317 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BGwoeek4.js 329 kB 329 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-C6xl5-mL.js 358 kB 358 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CRZGOJB7.js 310 kB 310 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-D8-Yzlzh.js 289 kB 289 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-Du8VrAwA.js 320 kB 320 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-jjlLVrIs.js 317 kB 317 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-JQwk1kgy.js 292 kB 292 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-JuuXdMpv.js 391 kB 391 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-l2Y20bod.js 314 kB 314 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-VLMdhOwo.js 357 kB 357 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/OBJLoader2WorkerModule-DTMpvldF.js 109 kB 109 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetChart-CTa5K4p_.js 2.48 kB 2.48 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/WidgetImageCompare-BAyqYPiH.js 3.21 kB 3.21 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/widgetPropFilter-BIbGSUAt.js 1.28 kB 1.28 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 16 added / 16 removed

@christian-byrne
Copy link
Contributor Author

Replaced by #8073

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant