Skip to content

perf: use GIO for Browser::IsDefaultProtocolClient() on Linux#51316

Merged
jkleinsc merged 2 commits into
mainfrom
perf/faster-app.isDefaultProtocolClient-on-Linux
Apr 27, 2026
Merged

perf: use GIO for Browser::IsDefaultProtocolClient() on Linux#51316
jkleinsc merged 2 commits into
mainfrom
perf/faster-app.isDefaultProtocolClient-on-Linux

Conversation

@ckerr

@ckerr ckerr commented Apr 25, 2026

Copy link
Copy Markdown
Member

Description of Change

perf: use GIO for Browser::SetAsDefaultProtocolClient() on Linux

Similar to 7d6227a, this speeds up app.isDefaultProtocolClient() by using the GIO library instead of spawning a shell command to get the info.

Checklist

Release Notes

Notes: Improved performance of app.isDefaultProtocolClient() and app.setAsDefaultProtocolClient() on Linux.

@ckerr ckerr added performance 🏁 target/42-x-y PR should also be added to the "42-x-y" branch. labels Apr 25, 2026
@electron-cation electron-cation Bot added the new-pr 🌱 PR opened recently label Apr 25, 2026
@ckerr ckerr added the semver/patch backwards-compatible bug fixes label Apr 26, 2026
@electron-cation electron-cation Bot removed the new-pr 🌱 PR opened recently label Apr 26, 2026
Comment thread shell/browser/browser_linux.cc
ckerr added 2 commits April 27, 2026 11:39
perf: use GIO for Browser::SetAsDefaultProtocolClient() on Linux

Similar to 7d6227a, this speeds up app.isDefaultProtocolClient()
by using the GIO library instead of spawning a shell command to
get the info.
@ckerr ckerr force-pushed the perf/faster-app.isDefaultProtocolClient-on-Linux branch from 3657e75 to f8f83c6 Compare April 27, 2026 16:46
@jkleinsc jkleinsc merged commit 126a422 into main Apr 27, 2026
117 of 120 checks passed
@jkleinsc jkleinsc deleted the perf/faster-app.isDefaultProtocolClient-on-Linux branch April 27, 2026 20:31
@release-clerk

release-clerk Bot commented Apr 27, 2026

Copy link
Copy Markdown

Release Notes Persisted

Improved performance of app.isDefaultProtocolClient() and app.setAsDefaultProtocolClient() on Linux.

@trop

trop Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

I was unable to backport this PR to "42-x-y" cleanly;
you will need to perform this backport manually.

@trop

trop Bot commented May 14, 2026

Copy link
Copy Markdown
Contributor

@ckerr has manually backported this PR to "42-x-y", please check out #51627

ckerr added a commit that referenced this pull request May 19, 2026
* perf: use GIO for Browser::IsDefaultProtocolClient() on Linux

perf: use GIO for Browser::SetAsDefaultProtocolClient() on Linux

Similar to 7d6227a, this speeds up app.isDefaultProtocolClient()
by using the GIO library instead of spawning a shell command to
get the info.

* feat: log errors if g_app_info_set_as_default_for_type() fails
ckerr added a commit that referenced this pull request May 20, 2026
* perf: use GIO for Browser::IsDefaultProtocolClient() on Linux

perf: use GIO for Browser::SetAsDefaultProtocolClient() on Linux

Similar to 7d6227a, this speeds up app.isDefaultProtocolClient()
by using the GIO library instead of spawning a shell command to
get the info.

* feat: log errors if g_app_info_set_as_default_for_type() fails
samuelmaddock pushed a commit that referenced this pull request May 27, 2026
* perf: use GIO for Browser::IsDefaultProtocolClient() on Linux

perf: use GIO for Browser::SetAsDefaultProtocolClient() on Linux

Similar to 7d6227a, this speeds up app.isDefaultProtocolClient()
by using the GIO library instead of spawning a shell command to
get the info.

* feat: log errors if g_app_info_set_as_default_for_type() fails
samuelmaddock added a commit that referenced this pull request May 28, 2026
#51627)

* perf: use GIO for Browser::IsDefaultProtocolClient() on Linux (#51316)

* perf: use GIO for Browser::IsDefaultProtocolClient() on Linux

perf: use GIO for Browser::SetAsDefaultProtocolClient() on Linux

Similar to 7d6227a, this speeds up app.isDefaultProtocolClient()
by using the GIO library instead of spawning a shell command to
get the info.

* feat: log errors if g_app_info_set_as_default_for_type() fails

* fix: import os

---------

Co-authored-by: Samuel Maddock <samuelmaddock@electronjs.org>
@trop trop Bot added merged/42-x-y PR was merged to the "42-x-y" branch. and removed in-flight/42-x-y labels May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged/42-x-y PR was merged to the "42-x-y" branch. performance 🏁 semver/patch backwards-compatible bug fixes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants