Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
React Doctor found 2 new issues in 1 file · 2 warnings · score 88 / 100 (Great) · 1 fixed · vs 2 warnings
Reviewed by React Doctor for commit |
| @@ -0,0 +1,29 @@ | |||
| import Editor, { loader } from '@monaco-editor/react'; | |||
There was a problem hiding this comment.
React Doctor · react-doctor/prefer-dynamic-import (warning)
"@monaco-editor/react" ships extra code to your users up front & slows page load. Load it on demand with React.lazy() or next/dynamic.
Fix → Load it only when needed: const Component = dynamic(() => import('library'), { ssr: false }) from next/dynamic, or React.lazy().
| @@ -0,0 +1,29 @@ | |||
| import Editor, { loader } from '@monaco-editor/react'; | |||
| import * as monaco from 'monaco-editor'; | |||
There was a problem hiding this comment.
React Doctor · react-doctor/prefer-dynamic-import (warning)
"monaco-editor" ships extra code to your users up front & slows page load. Load it on demand with React.lazy() or next/dynamic.
Fix → Load it only when needed: const Component = dynamic(() => import('library'), { ssr: false }) from next/dynamic, or React.lazy().
Monaco loaded executable code from its default CDN despite the installed package, and file changes could dispose a model still owned by the React wrapper. Package the installed runtime and its language workers, and give each session/file a wrapper that owns its model through unmount.
The editor now preserves text outside the error boundary, offers one explicit recovery attempt, releases cursor subscriptions when the editor is disposed, and ignores position saves from an outgoing file. Remove the Google Fonts import that could make Vite's production CSS preload fail before the offline renderer started. The editor retains the existing lazy panel boundary and the existing font fallback stack. No dependency or lockfile changes.
Closes #614
Closes #615
Closes #635
Validation:
4ffe8045d2bf70eb61acbf2906db71ac849ae066, including all six wrapper OS/runtime combinations, Windows/macOS main tests, functional browser tests, and the packaged offline Electron check.pnpm lintandpnpm typecheck.file://in Chromium with file access enabled and all external requests blocked: local TypeScript/editor workers, diagnostics, and saving verified.CI now builds the frontend and runs a separate isolated Electron window against the packaged
file://entry. It checks TypeScript diagnostics, local workers, and saving with all external responses blocked, using sandboxed renderer settings and mocked file IPC without starting Pane's database or daemon.Built app with external requests blocked: