Skip to content

Fix ChromeDriver detection and handle cleanup errors#87

Open
jleinenbach wants to merge 7 commits intoleonboe1:mainfrom
jleinenbach:main
Open

Fix ChromeDriver detection and handle cleanup errors#87
jleinenbach wants to merge 7 commits intoleonboe1:mainfrom
jleinenbach:main

Conversation

@jleinenbach
Copy link

Fixed with Claude.ai
Please review.


Fix ChromeDriver detection and handle cleanup errors

  • Improve Chrome executable detection with expanded paths for Windows,
    Linux, and macOS including per-user installations
  • Add Chrome version detection from Windows registry and command line
  • Implement multiple fallback strategies for driver creation
  • Add webdriver-manager as fallback for standard Selenium
  • Add safe_quit_driver() to handle WinError 6 (invalid handle) errors
  • Update requirements.txt to include webdriver-manager>=4.0.2

claude and others added 7 commits January 23, 2026 20:56
- Improve Chrome executable detection with expanded paths for Windows,
  Linux, and macOS including per-user installations
- Add Chrome version detection from Windows registry and command line
- Implement multiple fallback strategies for driver creation
- Add webdriver-manager as fallback for standard Selenium
- Add safe_quit_driver() to handle WinError 6 (invalid handle) errors
- Update requirements.txt to include webdriver-manager>=4.0.2
…fLj82

Fix ChromeDriver detection and handle cleanup errors
Google now enforces API key restrictions on Firebase Installations,
requiring X-Android-Package and X-Android-Cert headers. Without them
the androidPackage appears as <empty> and requests are blocked with
API_KEY_ANDROID_APP_BLOCKED (403).

Add android_cert_sha1 field to FcmRegisterConfig and inject both
headers into fcm_install(), fcm_refresh_install_token(), and
fcm_register() when configured. Uses the SHA1 fingerprint from the
Google Find My Device APK (com.google.android.apps.adm).

Fixes upstream issue leonboe1#90.

https://claude.ai/code/session_01M7PXiBP5Tf4KhQjZfXcd2N
…g-tETeJ

fix: add X-Android-Package/Cert headers to Firebase API calls
When the Chrome browser-flow fails (user aborts, closeView called, or
exception), request_shared_key_flow() returns None. Previously this None
was written to secrets.json, causing unhexlify(None) to crash on the
next call. Now raises RuntimeError with a clear message instead.

https://claude.ai/code/session_019b4LMrZEn5WVeBvZ3A9SpM
Call get_shared_key() in list_devices() immediately after fetching the
device list, so secrets.json is complete (including shared_key) before
the user exports it. Previously shared_key was only obtained on-demand
when locating a device, causing incomplete secrets.json exports.

https://claude.ai/code/session_019b4LMrZEn5WVeBvZ3A9SpM
…155-1G6V2

fix: Prevent None shared_key from being cached to secrets.json, Auto-retrieve shared_key during device listing
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.

2 participants