Conversation
* feat(RI-7390): promote dev-vectorSet feature flag to vectorSet
Rename the flag end-to-end (backend config, KnownFeatures enum, registry
and strategy registration; frontend enum, slice default, selector and all
consumers; E2E specs). Bump features-config.json to version 3.92. Flag
stays default-off, so E2E specs that exercise Vector Set UI keep their
explicit { vectorSet: true } override.
* feat(RI-7390): enable vectorSet and prodMode for 10% rollout
Flip both flags to flag: true with perc: [[0, 10]] in features-config.json
and bump version to 3.93.
electron-builder 26.15.0 replaced the Go app-builder-bin snap builder with a pure-TS rewrite (#9829) that ships a broken snap: the launcher references $SNAP/desktop-init.sh that is never staged, and even past that the bundled NSS/NSPR libs are unreachable (libnspr4.so: cannot open shared object file) because SNAP_DESKTOP_RUNTIME / LD_LIBRARY_PATH are not wired up. 26.15.1-.3 all carry the regression. The snap Wayland fix that motivated moving off 26.0.12 (#9337/#9320) shipped in 26.2.0 — well before the 26.15.0 rewrite. Pinning to 26.14.0 keeps that fix (DISABLE_WAYLAND / allowNativeWayland handling) and the proven Go-based snap builder, which correctly sets SNAP_DESKTOP_RUNTIME and LD_LIBRARY_PATH. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Linux snap failed to launch on modern systems: native modules built on the ubuntu-24.04 CI runner (glibc 2.39) couldn't load on the core20 base (glibc 2.31) -> "libm.so.6: version GLIBC_2.38 not found" loading better_sqlite3.node. The old gnome-3-28-1804 platform also lacked a working GPU driver for current hardware. Migrate the snap to base core24 via electron-builder's `snapcraft.core24`: - base core24 -> glibc 2.39, matching the build toolchain (fixes the fatal load) - GNOME extension (default) -> gnome-46-2404 + mesa-2404/gpu-2404 (modern GPU) - XDG_SESSION_TYPE=x11 -> forces XWayland, restoring the old allowNativeWayland:false behavior (Electron 40 removed ELECTRON_OZONE_PLATFORM_HINT and snapcraft core24 rejects '=' in an app command, so this env var is the supported mechanism) - plain browser-support plug -> auto-connects on install (snapd only blocks auto-connect for allow-sandbox:true); electron-builder adds --no-sandbox itself - network / home / password-manager-service plugs preserved CI: core24 builds via the snapcraft CLI in an LXD container, so the x64 Linux job installs snapcraft + lxd, grants the LXD socket, and allows iptables FORWARD (the runner's Docker sets it to DROP, blocking the build container's network). Gated to runs where the snap target is actually built. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Why 41 and not 42 Electron 42 ships ABI 146. better-sqlite3@12.10.1 fixed the code paths for Electron 42, but the WiseLibs release does not yet publish prebuilt .node assets for ABI 146 — only ABI 145 (Electron 41) and below. Targeting 42 today would silently force every dev install and CI job into a local C++ build (node-gyp), which is exactly what the prebuilt pipeline is here to avoid. Electron 41 is the highest version with verified prebuilt better-sqlite3 coverage for all our targets (macOS x64/arm64, Linux x64/arm64 glibc + musl, Windows x64). Once WiseLibs publishes the ABI 146 assets, the follow-up to 42 is a one-line bump.
merge release/3.6.0 to latest
🛡️ Jit Security Scan Results✅ No security findings were detected in this PR
Security scan by Jit
|
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Testing
Note
Medium Risk
Electron 41 + snap/LXD CI changes affect desktop packaging; Vector Set and prodMode at 10% rollout change user-visible behavior for a subset of installs.
Overview
This merge brings Linux snap builds onto core24 via electron-builder’s
snapcraftblock (useLXD, explicit plugs,XDG_SESSION_TYPE=x11) and adds a GitHub Actions step on x64 to install snapcraft + LXD, fix LXD socket permissions, and set iptables FORWARD ACCEPT so isolated snap builds can reach the network.Packaging/runtime deps: bumps Electron to ^41.7.2, pins electron-builder to 26.14.0 (with matching lockfile churn), upgrades better-sqlite3 to ^12.10.1, and drops the yauzl yarn resolution.
Vector Set graduation: renames the feature from
dev-vectorSet/devVectorSettovectorSetacross API, UI selectors, config, and Playwright tests; remote config enablesvectorSetandprodModeat 10% (features-config3.93).Reviewed by Cursor Bugbot for commit 98016b6. Bugbot is set up for automated code reviews on this repo. Configure here.