Skip to content

feat: kubo 0.43.0, electron 43 - #3188

Draft
lidel wants to merge 4 commits into
mainfrom
chore/kubo-v0.43.0-rc1
Draft

feat: kubo 0.43.0, electron 43#3188
lidel wants to merge 4 commits into
mainfrom
chore/kubo-v0.43.0-rc1

Conversation

@lidel

@lidel lidel commented Jul 23, 2026

Copy link
Copy Markdown
Member

Problem

Two things users hit. The kubo binary could go missing: it arrived from a postinstall script, so it never landed wherever those are skipped, which npm v12 makes the default. The app then refused to start with "kubo binary not found" (#3031). Separately, Take Screenshot has thrown a TypeError on every use since v0.19.0, when Electron 17 removed desktopCapturer from the renderer and the capture code stayed there (#2306).

Fix

  • kubo 0.43.0-rc1 downloads on first use, so a skipped install script heals itself, and fetches from GitHub releases
  • the macOS universal build follows it off the deprecated distUrl path
  • screenshot capture moves to the main process, dropping the renderer round trip along with getUserMedia, ImageCapture and the canvas hop
  • electron 43.2.0, which carries Chromium two majors forward to 150

macOS still needs a Screen Recording grant before screenshots work. The app now raises an error there instead of failing silently, but does not request the grant yet. Supersedes #3180.

lidel added 4 commits July 23, 2026 23:34
Release candidate, for smoke-testing ahead of the v0.43.0 final.
Brings Chromium 150 and V8 15.0; Node stays on 24.x. None of the
Electron 43 breaking changes reach this app: both showOpenDialog call
sites already pass an explicit defaultPath, showHiddenFiles is unused,
toBitmap is never called, and no window sets titleBarOverlay. The splash
is the only frameless window and its artwork clears the new 8 DIP corner
clip on Linux, so roundedCorners keeps its default.

ensure-electron.js justified its own download path by naming extract-zip,
which electron's install.js no longer uses. Reword around the reason that
still holds, and drop the version-specific framing so it survives the
next bump.
Electron 17 removed desktopCapturer from the renderer, so the preload
has seen it as undefined ever since this app moved to Electron 17 in
v0.19.0, and both the tray item and the global shortcut have thrown a
TypeError on every use. No webPreferences setting brings it back:
sandbox:false and nodeIntegration:true each still leave it undefined.

Capture where the API actually lives instead, asking for thumbnails at
the display's pixel size so they are full-resolution grabs rather than
previews. That drops the renderer round-trip along with getUserMedia,
ImageCapture and the canvas data URL.

- take-screenshot: captureScreens() over desktopCapturer and screen
- webui/screenshot.js and its preload hook are gone
- ipc-main-events: nothing sends SCREENSHOT any more

An empty thumbnail is how a missing macOS screen-recording grant
presents itself, so treat "no usable screen" as an error and raise the
existing notification rather than failing silently.

Closes #2306
kubo 0.43 deprecated distUrl: passing it at all takes the old
dist.ipfs.tech code path and prints a deprecation notice on every build.
The universal binary step was the last caller still doing that, so move
it to releasesUrl, which is where the package already defaults.

Matches #3180, which this branch otherwise supersedes by pinning the
published kubo release rather than a git revision.
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedkubo@​0.42.0 ⏵ 0.43.0-rc168 +1100100 +196 -1100
Updatedelectron@​42.3.3 ⏵ 43.2.010010010098100

View full report

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.

Error: kubo binary not found "Take Screenshot" Command not working

1 participant