molecule-core/canvas/src/components
Hongming Wang 240d513ab8 canvas(ExternalConnectModal): add Claude Code tab + auto-fill auth_token
When the platform's create-external-workspace response includes
`claude_code_channel_snippet` (added in this same PR's first commit),
the modal surfaces it as the **first** tab — defaulting to it for new
external workspaces because polling-based + no-tunnel is the lowest-
friction path. Falls back to Python tab when the field is absent
(older platform builds).

Type addition is optional (`claude_code_channel_snippet?: string`)
so the canvas keeps building against pre-#2304 platform responses
during the soak window.

Auth-token stamping mirrors existing python/curl behavior — the
.env's `MOLECULE_WORKSPACE_TOKENS=<paste auth_token from create
response>` placeholder gets filled in client-side so the copy-paste
block is truly ready to run.

Also adds the missing 'use client' directive — the file uses useState
+ useCallback but didn't have the Next.js client-component marker.
Pre-commit caught it; existing absence was a latent bug that would
surface as an SSR hook error if any path rendered this component
during server rendering.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 11:39:48 -07:00
..
__tests__ merge: sync staging into refactor/remove-canvas-hermes-runtime-profile-2054 (pickup #2099+#2107 TLS fixes) 2026-04-26 12:12:51 -07:00
canvas fix(canvas): clear sendInFlightRef on WS-push reply path 2026-04-27 11:11:58 -07:00
settings fix(canvas/a11y): add type=button to tab toolbar and settings buttons 2026-04-24 14:41:35 +00:00
tabs refactor(canvas): route panel WS subscriptions through global socket 2026-04-27 13:12:47 -07:00
ui fix(canvas/a11y): add aria-hidden to 6 decorative SVGs + aria-label to OrgTokensTab input 2026-04-24 12:40:52 +00:00
A2ATopologyOverlay.tsx fix(canvas): bundle of UX hardening — modals, position stability, error UX, paste 2026-04-24 19:54:43 -07:00
ApprovalBanner.tsx fix(canvas): add type=button to ApprovalBanner action buttons (bug #1669) 2026-04-23 02:15:52 +00:00
AuditTrailPanel.tsx fix(canvas/a11y): add type="button" to ConfirmDialog, AuditTrailPanel, DeleteCascadeConfirmDialog 2026-04-24 12:40:52 +00:00
AuthGate.tsx fix(auth): break infinite redirect loop on /cp/auth/login 2026-04-23 11:16:22 -07:00
BatchActionBar.tsx fix(canvas/a11y): add type="button" to BatchActionBar, EmptyState, SidePanel, CreateWorkspaceDialog 2026-04-24 12:40:52 +00:00
BundleDropZone.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
Canvas.tsx fix(canvas): cascade delete locally so children disappear without WS 2026-04-24 20:51:09 -07:00
CommunicationOverlay.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
ConfirmDialog.tsx fix(canvas/a11y): add type="button" to ConfirmDialog, AuditTrailPanel, DeleteCascadeConfirmDialog 2026-04-24 12:40:52 +00:00
ConsoleModal.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
ContextMenu.tsx fix(canvas/a11y): add type="button" to MissingKeysModal, ContextMenu, CreateWorkspaceDialog tier radio 2026-04-24 12:40:52 +00:00
ConversationTraceModal.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
CookieConsent.tsx fix(quickstart): keep Canvas working post first workspace + hide SaaS cookie banner on localhost 2026-04-23 14:55:33 -07:00
CreateWorkspaceDialog.tsx feat(external-runtime): first-class BYO-compute workspaces + manifest-driven registry 2026-04-24 15:34:10 -07:00
DeleteCascadeConfirmDialog.tsx fix(canvas/a11y): add type="button" to ConfirmDialog, AuditTrailPanel, DeleteCascadeConfirmDialog 2026-04-24 12:40:52 +00:00
EmptyState.tsx feat(canvas+org): env preflight, EmptyState parity, shared useTemplateDeploy hook 2026-04-24 15:15:33 -07:00
ErrorBoundary.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
ExternalConnectModal.tsx canvas(ExternalConnectModal): add Claude Code tab + auto-fill auth_token 2026-04-29 11:39:48 -07:00
Legend.tsx fix(canvas): bundle of UX hardening — modals, position stability, error UX, paste 2026-04-24 19:54:43 -07:00
MemoryInspectorPanel.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
MissingKeysModal.tsx fix(canvas): bundle of UX hardening — modals, position stability, error UX, paste 2026-04-24 19:54:43 -07:00
OnboardingWizard.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
OrgImportPreflightModal.tsx fix(canvas): bundle of UX hardening — modals, position stability, error UX, paste 2026-04-24 19:54:43 -07:00
PricingTable.tsx feat(canvas): /pricing route with plan selector + Stripe checkout 2026-04-15 13:41:44 -07:00
ProvisioningTimeout.tsx refactor(canvas): ProvisioningTimeout uses pruneStaleKeys helper 2026-04-26 14:05:28 -07:00
SearchDialog.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
SidePanel.tsx fix(canvas): plugin install POSTed to /workspaces/undefined/plugins 2026-04-24 22:36:35 -07:00
Spinner.tsx fix(canvas): address all code review findings on PR #482 2026-04-16 07:48:47 -07:00
StatusDot.tsx fix(canvas): a11y fixes + budget_used TypeScript guard + orgs-page test fix (#1367) 2026-04-21 11:08:24 +00:00
TemplatePalette.tsx fix(canvas): suppress stale provisioning banners + add WS-down HTTP fallback poll 2026-04-24 20:22:15 -07:00
TermsGate.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
Toaster.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
Toolbar.tsx fix(canvas/a11y): add type="button" to remaining canvas component buttons (batch 3) 2026-04-24 12:40:52 +00:00
Tooltip.tsx fix: CWE-78 rm scope, go vet failures, delegation idempotency 2026-04-21 18:22:30 +00:00
WorkspaceNode.tsx merge(staging): resolve conflicts + fix 7 test regressions on top of #2061 2026-04-24 13:50:39 -07:00
WorkspaceUsage.tsx fix(canvas): guard undefined lastErrorRate and period dates in metrics (PR #1250) 2026-04-21 03:22:17 +00:00