From d05cb31e2e916fba41ba8167030945f427fd811b Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 18 Sep 2025 17:03:16 -0700 Subject: [PATCH] raylib: fix pairing url --- common/api.py | 4 +++- selfdrive/ui/widgets/pairing_dialog.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/common/api.py b/common/api.py index ac231400a4..005655b21d 100644 --- a/common/api.py +++ b/common/api.py @@ -22,7 +22,7 @@ class Api: def request(self, method, endpoint, timeout=None, access_token=None, **params): return api_get(endpoint, method=method, timeout=timeout, access_token=access_token, **params) - def get_token(self, expiry_hours=1): + def get_token(self, payload_extra=None, expiry_hours=1): now = datetime.now(UTC).replace(tzinfo=None) payload = { 'identity': self.dongle_id, @@ -30,6 +30,8 @@ class Api: 'iat': now, 'exp': now + timedelta(hours=expiry_hours) } + if payload_extra is not None: + payload.update(payload_extra) token = jwt.encode(payload, self.private_key, algorithm='RS256') if isinstance(token, bytes): token = token.decode('utf8') diff --git a/selfdrive/ui/widgets/pairing_dialog.py b/selfdrive/ui/widgets/pairing_dialog.py index 63298914ea..79d05eaf42 100644 --- a/selfdrive/ui/widgets/pairing_dialog.py +++ b/selfdrive/ui/widgets/pairing_dialog.py @@ -24,11 +24,11 @@ class PairingDialog: def _get_pairing_url(self) -> str: try: dongle_id = self.params.get("DongleId") or "" - token = Api(dongle_id).get_token() + token = Api(dongle_id).get_token({'pair': True}) except Exception as e: cloudlog.warning(f"Failed to get pairing token: {e}") token = "" - return f"https://connect.comma.ai/setup?token={token}" + return f"https://connect.comma.ai/?pair={token}" def _generate_qr_code(self) -> None: try: