Skip to content

Fixed an issue where upstream Electron fails to extract - #3836

Merged
devinbinnie merged 1 commit into
masterfrom
tests_broke
Jun 3, 2026
Merged

Fixed an issue where upstream Electron fails to extract#3836
devinbinnie merged 1 commit into
masterfrom
tests_broke

Conversation

@devinbinnie

@devinbinnie devinbinnie commented Jun 2, 2026

Copy link
Copy Markdown
Member

Summary

An upstream issue with Electron's dependencies (electron/electron#51619) causes Node 24 to fail to extract the binary, causing tests to fail unexpectedly.

This PR adds an override for the library that was failing so that it will work on Node 24.

NOTE

Change Impact: 🟢 Low

Regression Risk: Minimal. This change only adds a dependency override in package.json to force yauzl version 3.3.1, which is a build-time dependency used by Electron for binary extraction. No application code logic is modified, and the override is narrowly scoped to resolve a specific Node 24 compatibility issue with Electron's binary extraction process. The change does not affect runtime behavior, core logic, or shared utilities.

QA Recommendation: Manual QA can be safely skipped for this change. Verification should focus on confirming that the build process completes successfully on Node 24 and that tests pass as expected (which appears to be the original issue being fixed). Automated build and test pipelines should provide sufficient validation.

@devinbinnie
devinbinnie requested review from a team and larkox and removed request for a team June 2, 2026 22:24
@devinbinnie devinbinnie added the 2: Dev Review Requires review by a core committer label Jun 2, 2026
@github-actions github-actions Bot added the E2E/Run Run Desktop E2E Tests label Jun 2, 2026
@coderabbitai

coderabbitai Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 525497f2-66fd-4d1d-a2f8-30033e5f46f2

📥 Commits

Reviewing files that changed from the base of the PR and between 4467ed1 and bdd4d7e.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • package.json

📝 Walkthrough

Walkthrough

This PR adds an overrides section to package.json that pins the yauzl dependency to version 3.3.1. The change ensures a specific version of yauzl is used during dependency resolution across the project.

Changes

Dependency version override

Layer / File(s) Summary
Yauzl version override
package.json
overrides block added to force yauzl to version 3.3.1 during dependency tree resolution.

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main fix: addressing an upstream Electron extraction issue by overriding the problematic yauzl dependency in package.json.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch tests_broke

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot removed the E2E/Run Run Desktop E2E Tests label Jun 2, 2026
@devinbinnie
devinbinnie merged commit 6f075fb into master Jun 3, 2026
43 of 47 checks passed
@devinbinnie
devinbinnie deleted the tests_broke branch June 3, 2026 13:18
@devinbinnie

Copy link
Copy Markdown
Member Author

/cherry-pick release-6.2

@mattermost-build

Copy link
Copy Markdown
Contributor

Cherry pick is scheduled.

@mattermost-build mattermost-build added the CherryPick/Done Successfully cherry-picked to the quality or patch release tracked in the milestone label Jun 3, 2026
devinbinnie added a commit that referenced this pull request Jun 3, 2026
(cherry picked from commit 6f075fb)

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
@devinbinnie

Copy link
Copy Markdown
Member Author

/cherry-pick release-5.13

@mattermost-build

Copy link
Copy Markdown
Contributor

Cherry pick is scheduled.

@mattermost-build

Copy link
Copy Markdown
Contributor

Error trying doing the automated Cherry picking. Please do this manually

+++ Updating remotes...
Fetching upstream
hostfile_replace_entries: mkstemp: Read-only file system
update_known_hosts: hostfile_replace_entries failed for /app/.ssh/known_hosts: Read-only file system
From github.com:mattermost/desktop
   0da9b0cb..a97fbb42  release-5.13 -> upstream/release-5.13
   b757345a..1eb9eca9  release-6.2  -> upstream/release-6.2
Fetching upstream
hostfile_replace_entries: mkstemp: Read-only file system
update_known_hosts: hostfile_replace_entries failed for /app/.ssh/known_hosts: Read-only file system
+++ Updating remotes done...
+++ Creating local branch automated-cherry-pick-of-desktop-#3836-upstream-release-5.13-1780503071
Switched to a new branch 'automated-cherry-pick-of-desktop-#3836-upstream-release-5.13-1780503071'
Branch 'automated-cherry-pick-of-desktop-#3836-upstream-release-5.13-1780503071' set up to track remote branch 'release-5.13' from 'upstream'.

+++ About to attempt cherry pick of PR #3836 with merge commit 6f075fb20f0574e634353fdded7004193449f0c1.

Auto-merging package-lock.json
CONFLICT (content): Merge conflict in package-lock.json
Auto-merging package.json
error: could not apply 6f075fb2... Fixed an issue where upstream Electron fails to extract (#3836)
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".

+++ Conflicts detected:

UU package-lock.json
Aborting.

+++ Aborting in-progress git cherry-pick.

+++ Returning you to the master branch and cleaning up.

devinbinnie added a commit that referenced this pull request Jun 3, 2026
yasserfaraazkhan added a commit that referenced this pull request Jun 4, 2026
…s suites

Addresses @devinbinnie's review: the "Electron failed to install correctly" CI
failure these mocks worked around was fixed upstream in #3836 (already in this
branch), so the mocks are no longer needed. Reverted both suites to master; they
pass against the real electron module.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2: Dev Review Requires review by a core committer CherryPick/Done Successfully cherry-picked to the quality or patch release tracked in the milestone release-note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants