Skip to content

@W-21981288: OkHttp 5 upgrade — fix deprecated API usages#2878

Open
wmathurin wants to merge 1 commit intoforcedotcom:devfrom
wmathurin:feature/W-21981288-okhttp5-upgrade
Open

@W-21981288: OkHttp 5 upgrade — fix deprecated API usages#2878
wmathurin wants to merge 1 commit intoforcedotcom:devfrom
wmathurin:feature/W-21981288-okhttp5-upgrade

Conversation

@wmathurin
Copy link
Copy Markdown
Contributor

Summary

Changes

  • HttpAccess.java: Removed TlsVersion.TLS_1_1 from ConnectionSpec — TLS 1.1 was deprecated by RFC 8996 in 2021 and unsupported on modern Android
  • RestRequest.java: Switched MediaType.parse()MediaType.get() for hardcoded strings; flipped RequestBody.create(MediaType, content) to create(content, MediaType)
  • AILTNPublisher.java: Flipped RequestBody.create() arg order
  • FileRequests.java: Flipped RequestBody.create() arg order (2 occurrences)
  • SalesforceNetworkPlugin.java: Flipped RequestBody.create() arg order (2 occurrences)
  • SalesforceNetReactBridge.java: Flipped RequestBody.create() arg order (2 occurrences)

Notes

  • MediaType.parse(mimeType) calls that take runtime user-supplied MIME type strings were intentionally left as parse() (returns null on invalid) rather than changed to get() (throws)
  • The old RequestBody.create(MediaType, content) form is still present in OkHttp 5 for Java backward compat but is deprecated

Test plan

  • Build SalesforceSDK, SalesforceHybrid, and SalesforceReact libraries
  • Run SalesforceSDKTest suite (REST client, file upload, analytics publishing)
  • Verify login and REST calls work end-to-end in a hybrid and React Native app

- Remove TLS 1.1 from ConnectionSpec in HttpAccess (obsolete per RFC 8996)
- Flip RequestBody.create() arg order from (MediaType, content) to (content, MediaType)
  in RestRequest, AILTNPublisher, FileRequests, SalesforceNetworkPlugin,
  and SalesforceNetReactBridge
- Use MediaType.get() instead of MediaType.parse() for known-valid hardcoded strings
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

1 Error
🚫 libs/SalesforceSDK/src/com/salesforce/androidsdk/auth/HttpAccess.java#L157 - Missing permissions required by ConnectivityManager.getActiveNetworkInfo: android.permission.ACCESS_NETWORK_STATE

Generated by 🚫 Danger

@codecov
Copy link
Copy Markdown

codecov Bot commented May 7, 2026

Codecov Report

❌ Patch coverage is 66.66667% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.59%. Comparing base (0897347) to head (2f4d3e6).
⚠️ Report is 2 commits behind head on dev.

Files with missing lines Patch % Lines
...idsdk/phonegap/plugin/SalesforceNetworkPlugin.java 50.00% 1 Missing ⚠️
...k/reactnative/bridge/SalesforceNetReactBridge.java 50.00% 1 Missing ⚠️
...alesforce/androidsdk/analytics/AILTNPublisher.java 0.00% 1 Missing ⚠️
...salesforce/androidsdk/rest/files/FileRequests.java 50.00% 1 Missing ⚠️

❌ Your patch check has failed because the patch coverage (75.00%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@             Coverage Diff              @@
##                dev    #2878      +/-   ##
============================================
+ Coverage     64.87%   65.59%   +0.71%     
- Complexity     2979     3024      +45     
============================================
  Files           223      223              
  Lines         17507    17629     +122     
  Branches       2497     2300     -197     
============================================
+ Hits          11358    11563     +205     
- Misses         4937     4988      +51     
+ Partials       1212     1078     -134     
Components Coverage Δ
Analytics 48.71% <ø> (ø)
SalesforceSDK 61.19% <72.72%> (+1.42%) ⬆️
Hybrid 59.30% <50.00%> (+0.24%) ⬆️
SmartStore 78.20% <ø> (ø)
MobileSync 81.68% <ø> (ø)
React 50.54% <50.00%> (-0.96%) ⬇️
Files with missing lines Coverage Δ
...src/com/salesforce/androidsdk/auth/HttpAccess.java 73.17% <100.00%> (ø)
...rc/com/salesforce/androidsdk/rest/RestRequest.java 93.90% <100.00%> (ø)
...idsdk/phonegap/plugin/SalesforceNetworkPlugin.java 47.65% <50.00%> (ø)
...k/reactnative/bridge/SalesforceNetReactBridge.java 50.00% <50.00%> (ø)
...alesforce/androidsdk/analytics/AILTNPublisher.java 1.63% <0.00%> (+0.02%) ⬆️
...salesforce/androidsdk/rest/files/FileRequests.java 61.76% <50.00%> (ø)

... and 41 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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