Conversation
connect() checked only !sock, but sock is set only in the async connect handler, so pending connects could overlap and leave multiple live sockets with active data handlers, relaying app->Chrome traffic twice. Gate new connections on a connecting flag and destroy loser sockets on connect.
Electron uses the binary name to determine app.isPackaged. The consent host lookup path changed in app 7.529.x -- dev builds look for the host at resources/app.asar/native/<arch>/meet-consent-host (a path inside the asar that can never exist on disk), while packaged builds use resources/native-host/meet-consent-host. Renaming the binary makes Electron report isPackaged=true, restoring the correct lookup path without touching app code. - Rename electron to granola in the install script - Update native/meet-consent-host to search for either name - Update uninstall.sh kill pattern - Update README with explanation of the rename
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.
Speaker detection for the Chrome extension
Adds speaker-detection support to Granola on Linux by replacing the macOS-only native messaging host with a Linux one.
The Chrome extension (
com.granola.app) needs a native messaging host to talk to the app, but Granola only registers it on macOS. This adds a JS bridge that reproduces the host's wire protocol: it relays Chrome's length-prefixed JSON to the app's/tmp/granola-meet-consent-*.socksocket and back.What's included
meet-consent-bridge.js) + bash entry point (meet-consent-host),installed to
resources/native/<arch>/where the app expects themmessages, and falls back across both socket candidates
~/.config, snap,and flatpak profiles, with filesystem overrides for sandboxed flatpaks
verifies speaker detection works before reporting success