Skip to content

chore(deps): upgrade Electron and Node runtimes - #2095

Merged
zerob13 merged 6 commits into
devfrom
chore/electron-41-node-24-18
Aug 6, 2026
Merged

chore(deps): upgrade Electron and Node runtimes#2095
zerob13 merged 6 commits into
devfrom
chore/electron-41-node-24-18

Conversation

@yyhhyyyyyy

@yyhhyyyyyy yyhhyyyyyy commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • upgrade Electron from 40.10.5 to 41.10.4
  • upgrade the development and bundled Node runtimes to 24.18.0
  • upgrade pnpm to 10.34.5 and align mise, package engines, CI workflows, and documentation
  • update Undici and affected transitive dependencies to resolve current Dependabot alerts
  • refresh the generated provider registry

Compatibility Review

  • verified Electron 41 PDF OOPIF changes do not affect the standard iframe-based PDF preview
  • confirmed the project does not depend on the changed cookie event semantics or Linux showHiddenFiles
  • reviewed the Wayland frameless-window behavior change; platform-specific visual verification remains covered by Linux CI/manual testing
  • confirmed @hono/node-server 2.x is supported by the MCP SDK and its breaking changes do not affect DeepChat
  • rebuilt and exercised Electron native dependencies against ABI 145

Validation

  • frozen pnpm install
  • pnpm audit with no known vulnerabilities
  • format, i18n, lint, and typecheck
  • main, renderer, and memory test suites
  • packaged Electron E2E: 27 passed, 5 conditional skips
  • macOS arm64 unpackaged build
  • native module and packaged Light OCR smokes
  • DuckDB VSS and OpenDAL packaged smokes
  • provider registry generation and contract tests

Platform Notes

Local packaging and runtime validation were completed on macOS arm64. Linux and Windows packaging remain covered by their platform workflows.

Summary by CodeRabbit

  • New Features

    • Added and refreshed support for a broad range of AI models, providers, capabilities, and model metadata.
  • Improvements

    • Updated the bundled Node.js runtime to 24.18.0 across supported platforms.
    • Updated pnpm requirements and upgraded Electron and networking components.
    • Improved browser-route smoke test coverage and session cleanup.
  • Documentation

    • Updated development and runtime compatibility requirements, including the new Node.js and pnpm versions.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The change updates Node.js to 24.18.0, updates pnpm and Electron requirements, refreshes provider model metadata, improves browser session cleanup, and aligns workflows, documentation, manifests, and tests.

Changes

Runtime and model catalog updates

Layer / File(s) Summary
Runtime toolchain and workflow configuration
.github/workflows/*, docs/..., mise.toml, package.json, resources/runtime-versions.json
Updates Node.js, pnpm, undici, Electron, runtime checksums, workflows, and documented requirements.
Provider model catalog refresh
resources/model-db/providers.json
Adds, removes, renames, reorders, and updates provider model records and metadata.
Browser route session lifecycle
test/e2e/specs/08-browser-route.smoke.spec.ts
Creates browser sessions through sessions.create, validates generated values, and deletes the session during cleanup.
Runtime and packaging validation fixtures
test/fixtures/light-ocr/*, test/main/**/*, test/renderer/components/OcrSettings.test.ts
Aligns OCR, packaging, workflow, renderer, and Electron test expectations with the updated versions.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the primary Electron and Node.js runtime upgrades in the pull request.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/electron-41-node-24-18

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/features/light-ocr-integration/spec.md`:
- Around line 73-74: Update the runtime manifest link in the standalone-helper
guidance to use ../../../resources/runtime-versions.json so it resolves to the
repository-root manifest, while preserving the requirement to use the bundled
pinned Node version.

In `@resources/model-db/providers.json`:
- Around line 158969-159102: Update the type field for all five Recraft model
records—recraft-v4-pro, recraft-v4.1-utility, recraft-v4, recraft-v4.1, and
recraft-v4.1-pro—from "chat" to "imageGeneration", leaving their other metadata
unchanged.

In `@test/e2e/specs/08-browser-route.smoke.spec.ts`:
- Around line 61-65: Update the cleanup in the test’s finally block to remove
the silent catch handlers and propagate failures from browser.destroy and
sessions.delete. Preserve the existing order, ensuring sessions.delete runs in a
nested finally block even when browser.destroy fails.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a05b3fe1-197a-4824-be12-ce35f9985489

📥 Commits

Reviewing files that changed from the base of the PR and between 4b7b03b and 3b9ae0c.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (27)
  • .github/workflows/_package-linux.yml
  • .github/workflows/_package-macos.yml
  • .github/workflows/_package-windows.yml
  • .github/workflows/package-check.yml
  • .github/workflows/prcheck.yml
  • .github/workflows/release.yml
  • .github/workflows/windows-arm64-e2e.yml
  • docs/architecture/typescript-native-bridge/spec.md
  • docs/features/light-ocr-integration/spec.md
  • docs/guides/getting-started.md
  • mise.toml
  • package.json
  • resources/model-db/providers.json
  • resources/runtime-versions.json
  • test/e2e/specs/08-browser-route.smoke.spec.ts
  • test/fixtures/light-ocr/fake-helper.mjs
  • test/main/ocr/lightOcrProcessHost.test.ts
  • test/main/ocr/routes.test.ts
  • test/main/scripts/afterPack.test.ts
  • test/main/scripts/installRuntime.test.ts
  • test/main/scripts/packageCheckWorkflow.test.ts
  • test/main/scripts/packageContract.test.ts
  • test/main/scripts/packageWorkflow.test.ts
  • test/main/scripts/prcheckWorkflow.test.ts
  • test/main/scripts/releaseAssembly.test.ts
  • test/main/scripts/smokeLightOcr.test.ts
  • test/renderer/components/OcrSettings.test.ts

Comment thread docs/features/light-ocr-integration/spec.md
Comment thread resources/model-db/providers.json
Comment thread test/e2e/specs/08-browser-route.smoke.spec.ts

@zhangmo8 zhangmo8 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

Comment thread docs/features/light-ocr-integration/spec.md
Comment thread package.json
Comment thread test/e2e/specs/08-browser-route.smoke.spec.ts
Comment thread test/e2e/specs/08-browser-route.smoke.spec.ts
@zerob13
zerob13 merged commit 21869dd into dev Aug 6, 2026
21 checks passed
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.

3 participants