Skip to content

Upgrade to Electron 43 - #1765

Merged
sandboxcoder merged 16 commits into
stagingfrom
rno/upgrade-electron43
Aug 27, 2026
Merged

Upgrade to Electron 43#1765
sandboxcoder merged 16 commits into
stagingfrom
rno/upgrade-electron43

Conversation

@sandboxcoder

@sandboxcoder sandboxcoder commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Description

Upgrade to Electron 43 to be consistent with Streamlabs Desktop Electron 43 upgrade. Upgrade project to C++ 20 to resolve compile errors with Electron 43.

Motivation and Context

How Has This Been Tested?

Types of changes

  • Tweak (non-breaking change to improve existing functionality)

Checklist:

  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

Copilot AI 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.

Pull request overview

Upgrades the repository’s Electron runtime to v43 to align obs-studio-node’s build/test environment with Streamlabs Desktop’s Electron 43 baseline.

Changes:

  • Bump electron devDependency to 43.2.0.
  • Update native build configuration to use Electron 43 headers/runtime version.
  • Update CI to use Node.js 24.x and Electron 43.2.0.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
package.json Updates the Electron devDependency to 43.2.0.
obs-studio-client/CMakeLists.txt Updates the cached Electron/headers version used by the native client build.
ci/configure-osn-osx.sh Changes how the macOS deployment target is passed to CMake (now via env var).
.github/workflows/main.yml Updates CI environment Electron version and moves CI Node.js to 24.x across jobs.
.github/workflows/check-js-generated.yml Updates CI Node.js version to 24.x.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread ci/configure-osn-osx.sh Outdated
fix CI build error:
D:\a\obs-studio-node\obs-studio-node\streamlabs-build.app\obs-studio-client\iojs\v43.2.0\include\v8config.h(13,1): error C1189: #error:  "C++20 or later required." [D:\a\obs-studio-node\obs-studio-node\streamlabs-build.app\obs-studio-client\obs_studio_client.vcxproj]
  (compiling source file '../../obs-studio-client/source/callback-manager.cpp')

Copilot AI 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.

Pull request overview

Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.

Comment thread cmake/NodeJS.cmake
Resolve issue:
ERROR: TypeScript import equals declaration is not supported in strip-only mode
(node:26607) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///Users/rosbo/projects/streamlabs/obs-studio-node/tests/osn-tests/src/test_audio_encoder.ts is not specified and it doesn't parse as CommonJS.
Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
To eliminate this warning, add "type": "module" to /Users/rosbo/projects/streamlabs/obs-studio-node/package.json.
(Use `Electron --trace-warnings ...` to show where the warning was created)

Copilot AI 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.

Pull request overview

Copilot reviewed 24 out of 25 changed files in this pull request and generated no new comments.

Copilot AI 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.

Pull request overview

Copilot reviewed 24 out of 25 changed files in this pull request and generated no new comments.

Suppressed comments (1)

Previously missed (1) — in code that hasn't changed since the last review.

tests/osn-tests/src/test_osn_service.ts:12

  • chai-subset is a CommonJS export = plugin; importing it via import * as chaiSubset from 'chai-subset' compiles to a namespace object (via __importStar) rather than the callable plugin function. This will typically break chai.use(chaiSubset) at runtime and can also fail type-checking with the current tsconfig.json (no esModuleInterop).
import * as chai from 'chai';
import * as chaiSubset from 'chai-subset'
chai.use(chaiSubset);

Copilot AI 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.

Pull request overview

Copilot reviewed 24 out of 25 changed files in this pull request and generated no new comments.

@sandboxcoder
sandboxcoder merged commit 2852122 into staging Aug 27, 2026
20 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.

5 participants