Skip to content

Conversation

@jjeff
Copy link
Collaborator

@jjeff jjeff commented Jan 27, 2026

Summary

  • Upgrade Electron from 24.3.1 to 35.7.5 (major version upgrade)
  • Fix TypeScript compatibility issues introduced by the new Electron types
  • Update playground example to use the same Electron version

Changes

  • package.json: Update electron to ^35.7.5
  • examples/playground/package.json: Update electron to ^35.7.5
  • src/ProgressWindow/preload.ts:
    • Use Electron's native IpcRendererEvent type instead of custom interface
    • Simplify removeListener call by removing unnecessary casts
  • examples/playground/tsconfig.json: Add skipLibCheck: true to resolve type conflicts between @types/node and Electron's bundled types

Why these changes were needed

The Electron 35 types changed the IpcRendererEvent interface. The previous custom interface required a senderId property that doesn't exist on the renderer-side event. Using Electron's own exported type ensures forward compatibility.

Test plan

  • TypeScript build passes (npm run build)
  • Unit tests pass (npm test)
  • E2E tests pass (npm run test:e2e) - CI will verify

🤖 Generated with Claude Code

- Update electron to ^35.7.5 in root package and playground example
- Fix TypeScript compatibility: use Electron's IpcRendererEvent type
  instead of custom interface (removes senderId requirement)
- Simplify removeListener call by removing unnecessary cast
- Add skipLibCheck to playground tsconfig to resolve @types/node
  conflicts with Electron's bundled types

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR upgrades Electron from version 24.3.1 to 35.7.5, a major version jump spanning 11 major releases. The upgrade requires TypeScript compatibility fixes to address breaking changes in Electron's type definitions, particularly around IPC event handling.

Changes:

  • Upgrade Electron dependency from ^24.3.1 to ^35.7.5 in both main package and playground example
  • Replace custom IpcRendererEvent interface with Electron's native type
  • Simplify removeListener implementation to use a cleaner type cast instead of casting the entire ipcRenderer object
  • Add skipLibCheck to playground tsconfig.json to resolve type conflicts between @types/node and Electron's bundled types

Reviewed changes

Copilot reviewed 4 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
package.json Updates Electron dev dependency to ^35.7.5
src/ProgressWindow/preload.ts Adopts Electron's native IpcRendererEvent type and simplifies removeListener with cleaner type casting
examples/playground/package.json Updates Electron dev dependency to match main package version
examples/playground/tsconfig.json Adds skipLibCheck to handle type conflicts in example code
examples/playground/package-lock.json Updates dependency tree for Electron 35.7.5, including @types/node upgrade to v22 and lockfile format v3
Files not reviewed (1)
  • examples/playground/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jjeff jjeff merged commit c3a9b37 into main Jan 27, 2026
10 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.

1 participant