Skip to content

Track connection_error_reason property in diagnostics#2855

Merged
tonidero merged 22 commits into
mainfrom
track-connection-error-reason-property-diagnostics
Nov 20, 2025
Merged

Track connection_error_reason property in diagnostics#2855
tonidero merged 22 commits into
mainfrom
track-connection-error-reason-property-diagnostics

Conversation

@tonidero

Copy link
Copy Markdown
Contributor

Description

This adds a new connection_error_reason to the http_request_performed diagnostics event, with possible values TIMEOUT, NO_NETWORK, OTHER.

@tonidero tonidero marked this pull request as ready for review November 18, 2025 15:54
@tonidero tonidero requested a review from a team as a code owner November 18, 2025 15:54
@tonidero tonidero requested a review from a team November 18, 2025 15:54
@codecov

codecov Bot commented Nov 18, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 46.66667% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 77.98%. Comparing base (6396859) to head (d2ddfb0).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
...rchases/common/networking/ConnectionErrorReason.kt 33.33% 6 Missing ⚠️
...tlin/com/revenuecat/purchases/common/HTTPClient.kt 80.00% 0 Missing and 1 partial ⚠️
...purchases/common/diagnostics/DiagnosticsTracker.kt 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2855      +/-   ##
==========================================
+ Coverage   77.95%   77.98%   +0.03%     
==========================================
  Files         318      320       +2     
  Lines       12465    12520      +55     
  Branches     1712     1727      +15     
==========================================
+ Hits         9717     9764      +47     
- Misses       2022     2028       +6     
- Partials      726      728       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rickvdl rickvdl left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Nice work!

return when (ioException) {
is java.net.SocketTimeoutException -> TIMEOUT
is java.net.ConnectException,
is java.net.UnknownHostException,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I guess this also covers DNS issues, which is fine I guess, I'll see if I can cover the same set of codes here

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah indeed... I tried to get more granularity, but couldn't find a way... I think this is ok for now and we can revisit if needed

Base automatically changed from add-client-side-timeout-logic to main November 18, 2025 16:16
@tonidero tonidero added this pull request to the merge queue Nov 20, 2025
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 20, 2025
@tonidero tonidero merged commit a68c759 into main Nov 20, 2025
23 checks passed
@tonidero tonidero deleted the track-connection-error-reason-property-diagnostics branch November 20, 2025 09:09
github-merge-queue Bot pushed a commit that referenced this pull request Nov 25, 2025
**This is an automatic release.**

> [!WARNING]  
> If you don't have any login system in your app, please make sure your
one-time purchase products have been correctly configured in the
RevenueCat dashboard as either consumable or non-consumable. If they're
incorrectly configured as consumables, RevenueCat will consume these
purchases. This means that users won't be able to restore them from
version 9.0.0 onward.
> Non-consumables are products that are meant to be bought only once,
for example, lifetime subscriptions.


## RevenueCat SDK
### 🐞 Bugfixes
* Restore Purchases config automatically in CustomerCenter (#2867) via
Facundo Menzella (@facumenzella)
* Handle error reading `errorStream` in some devices (#2865) via Toni
Rico (@tonidero)
* [MON-1122] Revert variable rounding logic to not round up (#2857) via
Pol Piella Abadia (@polpielladev)

## RevenueCatUI SDK
### Paywallv2
#### 🐞 Bugfixes
* Select default package on Sheet dismissal (#2861) via Cesar de la Vega
(@vegaro)
### Customer Center
#### ✨ New Features
* CC-581 | Allow for support ticket creation (#2810) via Rosie Watson
(@RosieWatson)

### 🔄 Other Changes
* Bump fastlane-plugin-revenuecat_internal from `7328ea7` to `efca663`
(#2864) via dependabot[bot] (@dependabot[bot])
* Bump fastlane from 2.228.0 to 2.229.0 (#2863) via dependabot[bot]
(@dependabot[bot])
* Bump fastlane-plugin-revenuecat_internal from `083ced9` to `7328ea7`
(#2862) via dependabot[bot] (@dependabot[bot])
* Runs plugin actions from correct directory (#2858) via JayShortway
(@JayShortway)
* Flush multiple event batches (#2842) via Toni Rico (@tonidero)
* Add file size limit to events tracking files (#2841) via Toni Rico
(@tonidero)
* Make events manager be supported in Android < 24 (#2854) via Toni Rico
(@tonidero)
* Add non paid revenue reporting infra (#2728) via Toni Rico (@tonidero)
* Fix backend integration tests (#2860) via Toni Rico (@tonidero)
* Track `connection_error_reason` property in diagnostics (#2855) via
Toni Rico (@tonidero)
* Uses some git+GitHub lanes from Fastlane plugin (#2856) via
JayShortway (@JayShortway)
* Add client side timeout logic for endpoints that support fallback URLs
(#2807) via Toni Rico (@tonidero)
* [EXTERNAL] Fix deprecation warnings in examples module (#2852)
contributed by @gojoel (#2853) via Toni Rico (@tonidero)
* Bump fastlane-plugin-revenuecat_internal from `9f78bb9` to `083ced9`
(#2848) via dependabot[bot] (@dependabot[bot])

Co-authored-by: revenuecat-ops <ops@revenuecat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants