Repository navigation
Conversation
Preview 5 (tag 36f5615) ships the features the tutorials still described as development-only; refresh the REMAINING_WORK starting-point table, README qualification summary and regenerated Skill references. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B9mvMLFE4he4Q6KqtoxeHY
Chromium recorded every natively applied insertion in the editor's contenteditable in blink::UndoStack, retaining replaced CodeMirror line DOM while Code stayed mounted (PERF-02). Apply plain committed insertText through a CodeMirror transaction, as paste already is; composition, replacement input and selection mismatches keep the native path. Add npm run test:editor-native-undo: in Electron 44 a native-input control grows ~410 detached nodes per cycle, the managed path none, with text, undo, autocompletion, IME and Unicode input unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B9mvMLFE4he4Q6KqtoxeHY
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B9mvMLFE4he4Q6KqtoxeHY
Add npm run test:pdf-retention: the real PdfPreview in Electron repeats 1/100-page replacements with full scrolling and must keep one worker and blob URL, windowed canvases, no detached growth and a flat collected heap. Run it in source CI. Record that the native-undo check gives identical counts on the hosted macOS 15 runner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B9mvMLFE4he4Q6KqtoxeHY
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B9mvMLFE4he4Q6KqtoxeHY
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Editor memory (PERF-02). PR #42 traced Code-mode detached DOM to
blink::UndoStack/blink::TypingCommand: Chromium records each natively applied insertion into CodeMirror's contenteditable in its own undo history, which Folio never uses (CodeMirror'shistory()is the user's undo).managedTextInputinsrc/editor-state.tsnow applies committed, non-composinginsertTextthrough a CodeMirror transaction (as paste already is). Composition, replacement/autocorrect input, multiple selections and any DOM/editor selection mismatch keep the native path.New
npm run test:editor-native-undo(in source CI) bundles the real editor state into Electron and runs the retention workload against a native-input control. Identical on Linux and the hosted macOS 15 arm64 runner:managedTextInputTyped text, undo, autocompletion, IME commit and Unicode input match in both. A separate comparison with the unchanged editor state matched click-then-type, undo grouping, IME commit/cancel, emoji cursor positions and selection replacement exactly.
Long-PDF viewer (PERF-02 workload). New
npm run test:pdf-retention(in source CI) mounts the realPdfPreviewin Electron and repeats 1-page → 100-page (scrolled fully) → 1-page replacements. Over 20 cycles: one live worker and blob URL, two canvases for 100 sheets, 1 detached node, collected heap 4.37 → 4.51 MiB after warm-up, renderer working set ~165 MiB flat, idle renderer CPU 0–0.2%. The viewer is not a source of the long-session growth or idle spikes.Docs. Preview 5 (tag
36f5615) ships features tutorials and feature pages still called "development only / not in preview 4". Updated tutorials, feature/status pages, README qualification summary and theREMAINING_WORK.mdstarting-point table; regenerated Skill references. Measurements recorded inPROCESS_RESOURCE_PROFILE.md.Not established
Neither check uses the packaged app. PERF-01/PERF-02 stay open until the 120-cycle macOS profile and packaged
test:editor-inputcases are repeated; AI-change, project-switch and long-history workloads need the full app.Checks run
npm run typecheck,npm run build,npm run format:check,npm run website:build,npm run skill:build(no drift)npm test: 553/553 on the macOS CI runner (locally one Linux-only platform guard inruntime-managerfails, unrelated)npm run test:editor-native-undoandnpm run test:pdf-retention: passed locally🤖 Generated with Claude Code
https://claude.ai/code/session_01B9mvMLFE4he4Q6KqtoxeHY