mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-18 00:46:45 +00:00
Trace the root cause to Electron's init order: Ozone platform selection fires in C++ PreEarlyInitialization() and the chosen platform is memoized in ui/ozone/platform_selection.cc's g_selected_platform static. Any app.commandLine.appendSwitch() from main.js runs in PostEarlyInitialization() — after the memoization, so the write is correct but the read has already happened. Primary source: electron PR #48301 diff + Chromium ui/ozone/platform_selection.cc. This confirms the argv wrapper is structurally the only fix available from outside the Electron binary. Also documents why the two lower-friction alternatives don't work: - ELECTRON_OZONE_PLATFORM_HINT env var was removed as dead code in Electron 39 (PR #47983). - Setting XDG_SESSION_TYPE=x11 via snapcraft.yaml environment: would work for Ozone but would fool IdleTimeHandler, silently breaking GNOME Wayland idle detection. Confidence in the mechanism hypothesis is raised from ~40% to ~85%. Residual unknown: whether GPU child-process CommandLine inheritance exposes a late appendSwitch to subsystems other than Ozone. Not verified from source; does not change the shipping recommendation. Related: issue #7270. |
||
|---|---|---|
| .. | ||
| long-term-plans | ||
| plans | ||
| promotion | ||
| research | ||
| screens | ||
| sync-and-op-log | ||
| wiki | ||
| add-new-integration.md | ||
| build-and-publish-notes.md | ||
| ENV_SETUP.md | ||
| github-access-token-instructions.md | ||
| gitlab-access-token-instructions.md | ||
| how-to-rate.md | ||
| howto-refresh-snap-credentials.md | ||
| i18n-script-usage.md | ||
| legacy-webview-analysis.md | ||
| mac-app-store-code-signing-guide.md | ||
| performance-project-tag-report.md | ||
| plugin-development.md | ||
| styling-guide.md | ||
| TRANSLATING.md | ||
| unused-translations-analysis.md | ||
| update-android-app.md | ||
| update-mac-certificates.md | ||