Skip to content

feat(bundler/cli): Add feature flag to use system certificates#21

Open
tomerqodo wants to merge 2 commits intocursor_combined_20260121_qodo_grep_cursor_copilot_1_base_featbundler_cli_add_feature_flag_to_use_system_certificates_pr172from
cursor_combined_20260121_qodo_grep_cursor_copilot_1_head_featbundler_cli_add_feature_flag_to_use_system_certificates_pr172
Open

feat(bundler/cli): Add feature flag to use system certificates#21
tomerqodo wants to merge 2 commits intocursor_combined_20260121_qodo_grep_cursor_copilot_1_base_featbundler_cli_add_feature_flag_to_use_system_certificates_pr172from
cursor_combined_20260121_qodo_grep_cursor_copilot_1_head_featbundler_cli_add_feature_flag_to_use_system_certificates_pr172

Conversation

@tomerqodo
Copy link
Copy Markdown

@tomerqodo tomerqodo commented Jan 21, 2026

Benchmark PR from qodo-benchmark#172


Note

Introduces platform certificate verification for HTTP requests to improve TLS trust handling across OSes.

  • Add platform-certs feature (enabled by default) to tauri-bundler and tauri-cli; wires ureq/platform-verifier
  • New base_ureq_agent() configures ureq with RootCerts::PlatformVerifier (when feature enabled) and proxy from env
  • cli: crate_latest_version now uses a TLS agent honoring system certs; fix crate_version to populate lock_version when lock entries exist
  • bundler: use shared agent for WebView2 GUID resolution; minor adjustments to download paths
  • Update dependencies to include rustls-platform-verifier (and Android support) and align jni versions across crates

Written by Cursor Bugbot for commit 7b5f451. Configure here.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

let response = ureq::get(url).call().map_err(Box::new)?;
let mut bytes = Vec::new();
response.into_body().into_reader().read_to_end(&mut bytes)?;
std::fs::write(&file_path, bytes)?;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

WebView2 download bypasses platform certificates configuration

High Severity

The download_webview2_offline_installer function was changed to use ureq::get(url) directly instead of the download() helper function. This bypasses the base_ureq_agent() configuration, meaning this download won't use platform certificates (defeating the purpose of this PR) or proxy settings from environment variables. The download function is imported but no longer used here, while webview2_guid_path and download_webview2_bootstrapper correctly use the configured agent.

Fix in Cursor Fix in Web

.ok()
.and_then(|cdn| Url::parse(&cdn).ok())
.map(|mut cdn| {
cdn.set_path(github_url);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

GitHub mirror URL ignores asset path completely

High Severity

The generate_github_mirror_url_from_base function no longer incorporates the github_url parameter into the mirror URL. The old code used cdn.set_path(github_url) to append the GitHub URL path to the mirror base, but this was removed. Now the function returns only the base mirror URL, ignoring which asset is being requested. Users with TAURI_BUNDLER_TOOLS_GITHUB_MIRROR configured will get broken mirror functionality.

Fix in Cursor Fix in Web

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.

1 participant