gadget/gadget-code/frontend/src/components
Rob Colbert c14c3a235a fix: ACE editor integration crash — React 19 compat, Vite ?url pattern, Error Boundary
Root causes:
- react-ace v12 doesn't support React 19 (project uses ^19.2.5)
- Dynamic import(`ace-builds/src-noconflict/mode-${language}`) broken with Vite
  (template-literal dynamic imports can't be statically analyzed)
- No React Error Boundaries — ACE render crash whitescreens entire app
- ace-builds/react-ace duplicated in backend package.json

Fixes:
1. Upgrade react-ace ^12.0.0 → ^14.0.1 (React 19 support)
2. Upgrade ace-builds ^1.36.0 → ^1.43.6
3. Remove ACE deps from backend package.json (not used by Express)
4. Replace broken dynamic imports with Vite ?url + ace.config.setModuleUrl()
   pattern (canonical Vite solution per ace#4597)
5. Add ErrorBoundary component wrapping EditorPanel
6. Add vite.d.ts type declarations for ?url/?raw/?worker imports
7. Fix worker-typescript import (doesn't exist — TS uses worker-javascript)
8. Register 24 language modes, 4 workers, 1 theme, 2 extensions

Verified: TypeScript clean, production build passes, heartbeat worker intact.
2026-05-12 21:36:22 -04:00
..
ChatTurn.tsx feat: abort controller for work order processing 2026-05-12 12:25:17 -04:00
Clock.tsx Implement dark industrial theme, Project Manager, and JWT authentication 2026-04-28 17:13:49 -04:00
EditorPanel.tsx fix: ACE editor integration crash — React 19 compat, Vite ?url pattern, Error Boundary 2026-05-12 21:36:22 -04:00
ErrorBoundary.tsx fix: ACE editor integration crash — React 19 compat, Vite ?url pattern, Error Boundary 2026-05-12 21:36:22 -04:00
FilesPanel.tsx Fix editor integration: move EditorPanel to ChatSessionView 2026-05-12 19:45:50 -04:00
FileTree.tsx Fix: Proper flexbox scrolling for FILES panel sidebar 2026-05-12 17:40:11 -04:00
FileTreeNode.tsx fix: FileTree scrolling and text selection issues 2026-05-12 16:38:27 -04:00
GadgetGrid.tsx Define missing socket event types and enforce typed events in frontend build 2026-05-12 10:42:31 -04:00
Header.tsx user settings 2026-05-08 14:08:49 -04:00
LogPanel.tsx Define missing socket event types and enforce typed events in frontend build 2026-05-12 10:42:31 -04:00
StatusBar.tsx Define missing socket event types and enforce typed events in frontend build 2026-05-12 10:42:31 -04:00
WorkspaceModeIndicator.tsx Implement workspace mode switching with validation 2026-05-02 18:13:31 -04:00