From 30196b5e73aedbe63a5a3e60275ac8fe6ed80640 Mon Sep 17 00:00:00 2001 From: Chris Tierney Date: Wed, 30 Jul 2025 15:20:27 -0400 Subject: [PATCH] fix: skip starlette check when server version is hidden Fixes #695 --- docs/CHANGELOG.md | 4 ++++ rsconnect/main.py | 20 ++++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index b23e1f51..51b31145 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] - ?? +### Fixed + +- Python Shiny apps can be deployed when Connect server version is hidden. (#695) + ## [1.27.0] - 2025-07-10 ### Added diff --git a/rsconnect/main.py b/rsconnect/main.py index bec4604f..357d2b9a 100644 --- a/rsconnect/main.py +++ b/rsconnect/main.py @@ -1694,12 +1694,20 @@ def deploy_app( if isinstance(ce.client, RSConnectClient): # Update the starlette version if needed. After all users are on Connect - # 2024.01.1 or later, this can be removed. - environment = fix_starlette_requirements( - environment=environment, - app_mode=app_mode, - connect_version_string=ce.client.server_settings()["version"], - ) + # 2024.01.1 or later, this can be removed. Requires access to the + # Connect server version, which may be hidden. + connect_version_string = ce.client.server_settings().get("version", "") + if connect_version_string: + environment = fix_starlette_requirements( + environment=environment, + app_mode=app_mode, + connect_version_string=connect_version_string, + ) + else: + click.secho( + " Warning: Connect server version is hidden. Skipping starlette requirements check.", + fg="yellow", + ) ce.validate_server() ce.validate_app_mode(app_mode=app_mode)