From fa4c8f369967eb3b202bce2093c148cd1687884c Mon Sep 17 00:00:00 2001 From: svc-devrev Date: Fri, 16 Oct 2026 14:02:43 +0000 Subject: [PATCH] Release v2.3.3 This PR contains the automated release updates for version 2.3.3. Changes: - Updated sample app - Updated documentation - Updated README, CHANGELOG, and MIGRATION guide --- CHANGELOG.md | 32 ++++++++++++++++++++ README.md | 27 +++++++++++++++-- devrev-sdk-cordova-2.3.3.tgz | Bin 0 -> 25220 bytes sample/package.json | 4 +-- sample/www/js/feature.js | 55 +++++++++++++++++++++++++++++++++++ 5 files changed, 113 insertions(+), 5 deletions(-) create mode 100644 devrev-sdk-cordova-2.3.3.tgz diff --git a/CHANGELOG.md b/CHANGELOG.md index b3a2d3b..b355bee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,38 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.3.3] - 2026-09-23 + +### Added +- [Android] Added support for session recording on Android 17. +- [iOS] Session Replay now masks the on-screen keyboard area to avoid capturing sensitive input. + +### Fixed +- [Android] A user whose account was deleted on the backend is now re-identified automatically instead of failing subsequent requests. +- [iOS] Fixed a crash related to flushing of log entries. + +## [2.3.2] - 2026-09-04 + +### Added +- Optional prefilled message support when creating support conversations. +- SDK version filter for session replay from the dashboard. +- Added support for UI-based rate limiting. + +### Changed +- Improved session recording stability and reduced startup jank. + +### Fixed +- Fixed crashes and ANRs related to session recording and WebView masking. +- [iOS] Fixed support chat clearing on transient modal dismiss and landscape replay issues. + +## [2.3.1] - 2026-06-03 + +### Fixed +- Fixed session recordings associating events with the wrong DevRev workspace. +- [iOS] Fixed crashes from thread-unsafe access. +- [Android] Fixed masking issues on rapid scrolls. +- [Android] Fixed an issue with missing crash types. + ## [2.3.0] - 2026-04-28 ### Changed diff --git a/README.md b/README.md index cfd2d70..5ff33d5 100644 --- a/README.md +++ b/README.md @@ -367,6 +367,12 @@ You can initiate a new support conversation directly from your app. This method DevRev.createSupportConversation(successCallback, errorCallback) ``` +You can optionally pass a plain-text message to pre-fill the conversation input field: + +```javascript +DevRev.createSupportConversation('I need help with billing for order #12345', successCallback, errorCallback) +``` + ### In-app link handling The DevRev SDK provides a mechanism to handle links opened from within any screen that is part of the DevRev SDK. @@ -627,10 +633,25 @@ DevRev.processPushNotification(messageJson, function() { ##### iOS -On iOS devices, you must pass the received push notification payload to the DevRev SDK for processing. The SDK handles the notification and executes the necessary actions. +On iOS devices, you must update the `AppDelegate` to intercept notification clicks and forward the payload to the SDK. -```javascript -DevRev.processPushNotification(payload, successCallback, errorCallback) +In `didFinishLaunchingWithOptions`, set the `UNUserNotificationCenter` delegate: + +```swift +UNUserNotificationCenter.current().delegate = self +``` + +Implement `userNotificationCenter(_:didReceive:)` to pass the notification payload to the SDK: + +```swift +func userNotificationCenter( + _ center: UNUserNotificationCenter, + didReceive response: UNNotificationResponse +) async { + await DevRev.processPushNotification( + response.notification.request.content.userInfo + ) +} ``` For example: diff --git a/devrev-sdk-cordova-2.3.3.tgz b/devrev-sdk-cordova-2.3.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d3423e95541098909ae3a3f51caa9c5063073a39 GIT binary patch literal 25220 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 Pjeq|?U(K}V00sg89e@~s literal 0 HcmV?d00001 diff --git a/sample/package.json b/sample/package.json index dde73f5..e4ff8b3 100644 --- a/sample/package.json +++ b/sample/package.json @@ -1,7 +1,7 @@ { "name": "ai.devrev.sdk.bridge.cordova.sample", "displayName": "DevRevSDK (Cordova)", - "version": "2.3.0", + "version": "2.3.3", "description": "DevRev SDK for Cordova sample app.", "main": "index.js", "scripts": { @@ -27,7 +27,7 @@ "platforms": [] }, "devDependencies": { - "@devrev/sdk-cordova": "2.3.0", + "@devrev/sdk-cordova": "2.3.3", "cordova-plugin-device": "^3.0.0", "cordova-plugin-firebase-messaging": "^8.0.1", "cordova-support-android-plugin": "~2.0.4" diff --git a/sample/www/js/feature.js b/sample/www/js/feature.js index 3860342..0660ede 100644 --- a/sample/www/js/feature.js +++ b/sample/www/js/feature.js @@ -178,6 +178,7 @@ const featureData = { { title: 'Support', list: [ { text: 'Support Chat', action: () => DevRev.createSupportConversation() }, + { text: 'Support Chat with Prefill', action: () => DevRev.createSupportConversation('Hi, I need help with my account') }, { text: 'Support View', action: () => DevRev.showSupport() } ] } @@ -289,6 +290,60 @@ const featureData = { } ] }, + { + title: 'Feature Configuration', + list: [ + { + text: 'Enable Frame Capture', + action: () => { + DevRev.updateFeatureConfiguration( + { + enableFrameCapture: true, + autoStartRecording: true, + prefersDialogMode: false, + alwaysUseRemoteConfig: true, + supportWidgetTheme: { prefersSystemTheme: true } + }, + () => alert('Frame capture enabled'), + (error) => alert('Failed to update feature configuration: ' + error) + ); + } + }, + { + text: 'Disable Frame Capture', + action: () => { + DevRev.updateFeatureConfiguration( + { + enableFrameCapture: false, + autoStartRecording: true, + prefersDialogMode: false, + alwaysUseRemoteConfig: true, + supportWidgetTheme: { prefersSystemTheme: true } + }, + () => alert('Frame capture disabled'), + (error) => alert('Failed to update feature configuration: ' + error) + ); + } + } + ] + }, + { + title: 'Error Capture', + list: [ + { + text: 'Capture Error', + action: () => { + const error = new Error('Simulated handled error for testing'); + DevRev.captureError( + error, + 'test-error', + () => alert('Error captured successfully'), + (err) => alert('Failed to capture error: ' + err) + ); + } + } + ] + }, { title: 'On-Demand Session', list: [