Skip to content

Conversation

@tcamise-gpsw
Copy link
Collaborator

@tcamise-gpsw tcamise-gpsw commented Nov 7, 2025

This PR updates third-party dependencies and adds compatibility for macOS 15+ privacy features that redact WiFi SSID names. The key changes include:

  • Updated multiple third-party dependencies to newer versions (bleak, certifi, pydantic, pyobjc-core, etc.)
  • Modified WiFi connection logic to handle SSID redaction on macOS 15+ by relying on connection state instead of SSID name verification
  • Removed unnecessary type: ignore comments that are no longer needed with updated type checking

@tcamise-gpsw tcamise-gpsw requested a review from Copilot November 7, 2025 19:58
@tcamise-gpsw tcamise-gpsw force-pushed the bump_python_sdk_deps branch 2 times, most recently from 0ab8367 to 221d8b3 Compare November 7, 2025 19:59
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates third-party dependencies and adds compatibility for macOS 15+ privacy features that redact WiFi SSID names. The key changes include:

  • Updated multiple third-party dependencies to newer versions (bleak, certifi, pydantic, pyobjc-core, etc.)
  • Modified WiFi connection logic to handle SSID redaction on macOS 15+ by relying on connection state instead of SSID name verification
  • Removed unnecessary type: ignore comments that are no longer needed with updated type checking

Reviewed Changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
thirdPartyDependencies.csv Updated versions for 25+ third-party dependencies
pyproject.toml Updated dependency version constraints for bleak, wrapt, protobuf, and Pillow; added ignore-paths for pylint
open_gopro/network/wifi/controller.py Added documentation about SSID redaction on macOS 15+
open_gopro/network/wifi/client.py Modified connection check to rely on state instead of SSID name
open_gopro/network/wifi/adapters/wireless.py Added macOS 15+ compatibility by skipping SSID scanning and verification when redacted
open_gopro/network/ble/services.py Removed obsolete type: ignore comments
open_gopro/network/ble/adapters/bleak_wrapper.py Updated type hints to use proper types from bleak library
open_gopro/models/network_scan_responses.py Added pylint disable comments for unused parameters
open_gopro/gopro_wireless.py Added necessary type: ignore comments for override methods
open_gopro/gopro_base.py Removed unnecessary docstring section and added type: ignore comments
open_gopro/features/streaming/stream_feature.py Added type: ignore comment with explanation for arg-type issue

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tcamise-gpsw tcamise-gpsw self-assigned this Nov 7, 2025
@tcamise-gpsw tcamise-gpsw changed the title Python SDK: Bump Deps Python SDK: Fix MacOS Wifi and Bump Deps Nov 7, 2025
- Skip WiFi pre-scan on macOS 15+ where system_profiler redacts SSID names
- Skip current() check before connecting on macOS 15+ to prevent hangs during network transitions
- Use connection state verification instead of SSID string matching on macOS 15+
- Fix current() method to only fallback to system_profiler if ipconfig fails
- Replace bare except with except Exception for better error handling
- Modified NetworksetupWireless.current() to return (None, CONNECTED)
  when SSID is redacted but connection is active
- Updated WifiClient.is_connected to check state only, not SSID
- Removed RuntimeError on redacted SSID detection
- Added documentation about macOS 15+ privacy limitation
@tcamise-gpsw tcamise-gpsw merged commit e1c704a into main Nov 7, 2025
9 checks passed
@tcamise-gpsw tcamise-gpsw deleted the bump_python_sdk_deps branch November 7, 2025 20:09
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