react-native-iinstall 0.2.17 → 0.2.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,20 +49,22 @@ yarn add react-native-iinstall
49
49
  Install required native peer dependencies at app root:
50
50
 
51
51
  ```bash
52
- npm install react-native-sensors react-native-view-shot react-native-device-info react-native-audio-recorder-player react-native-record-screen
52
+ npm install react-native-sensors@7.3.0 react-native-view-shot@3.1.2 react-native-device-info@10.0.0 react-native-audio-recorder-player@3.6.4 react-native-record-screen@0.6.2
53
53
  ```
54
54
 
55
- ### Updating to Latest Version (v0.2.14)
55
+ Use `react-native-audio-recorder-player@3.6.4` unless you explicitly need v4+. Version 4.x requires `react-native-nitro-modules`.
56
+
57
+ ### Updating to Latest Version
56
58
 
57
59
  If you're using an older version, update to get the latest audio/video improvements:
58
60
 
59
61
  ```bash
60
- npm install react-native-iinstall@0.2.14
62
+ npm install react-native-iinstall@latest
61
63
  # OR
62
- yarn add react-native-iinstall@0.2.14
64
+ yarn add react-native-iinstall@latest
63
65
  ```
64
66
 
65
- **Key improvements in v0.2.7:**
67
+ **Key improvements (current line):**
66
68
  - Fixed audio codec compatibility (AAC instead of ALAC)
67
69
  - Enhanced screen recording reliability
68
70
  - Improved modal state management
@@ -73,6 +75,51 @@ If you are on iOS and not using Expo Go, remember to install pods:
73
75
  cd ios && pod install
74
76
  ```
75
77
 
78
+ ### Android build compatibility (RN 0.84+ / AGP 8+)
79
+
80
+ If your Android build fails due to old repositories or Kotlin/JVM targets, align your app config to Java 17:
81
+
82
+ `android/build.gradle`
83
+ ```gradle
84
+ allprojects {
85
+ repositories {
86
+ google()
87
+ mavenCentral()
88
+ }
89
+ }
90
+ ```
91
+
92
+ `android/app/build.gradle`
93
+ ```gradle
94
+ android {
95
+ compileOptions {
96
+ sourceCompatibility JavaVersion.VERSION_17
97
+ targetCompatibility JavaVersion.VERSION_17
98
+ }
99
+ }
100
+
101
+ kotlinOptions {
102
+ jvmTarget = "17"
103
+ }
104
+ ```
105
+
106
+ No `android/gradlew` script changes are needed.
107
+
108
+ Temporary workaround for third-party modules that still ship incompatible Gradle files:
109
+
110
+ ```bash
111
+ npm install -D patch-package
112
+ ```
113
+
114
+ `package.json`
115
+ ```json
116
+ {
117
+ "scripts": {
118
+ "postinstall": "patch-package"
119
+ }
120
+ }
121
+ ```
122
+
76
123
  ---
77
124
 
78
125
  ## 4. Configure the SDK
@@ -146,11 +193,11 @@ import { registerPushToken, unregisterPushToken } from 'react-native-iinstall';
146
193
 
147
194
  ---
148
195
 
149
- ## 6. Audio & Video Feedback (v0.2.14+)
196
+ ## 6. Audio & Video Feedback (recommended on v0.2.18+)
150
197
 
151
198
  The SDK now supports **Audio Feedback** (Voice Notes) and **Screen Recording** with enhanced compatibility and reliability.
152
199
 
153
- ### Key Improvements in v0.2.7
200
+ ### Key Improvements
154
201
 
155
202
  1. **Audio Codec Fix**: Audio recordings now use AAC codec instead of ALAC, ensuring compatibility with dashboard audio players
156
203
  2. **Modal State Management**: Improved handling of audio state to prevent stale data between feedback sessions
@@ -161,7 +208,7 @@ The SDK now supports **Audio Feedback** (Voice Notes) and **Screen Recording** w
161
208
  These features require native modules. If you haven't already, run:
162
209
 
163
210
  ```bash
164
- npm install react-native-sensors react-native-view-shot react-native-device-info react-native-audio-recorder-player react-native-record-screen
211
+ npm install react-native-sensors@7.3.0 react-native-view-shot@3.1.2 react-native-device-info@10.0.0 react-native-audio-recorder-player@3.6.4 react-native-record-screen@0.6.2
165
212
  cd ios && pod install
166
213
  ```
167
214
 
@@ -230,7 +277,7 @@ A: The app will work fine, but features like "Shake to Report" and automatic ses
230
277
  A: Ensure your project icon URL is valid. If the image fails to load, the dashboard now automatically falls back to showing the project's initial letter on a styled background.
231
278
 
232
279
  **Q: Audio feedback shows 0:00 duration in dashboard?**
233
- A: Update to SDK v0.2.14+ which includes the audio codec compatibility fixes. Audio files are encoded as AAC for browser playback.
280
+ A: Update to SDK v0.2.18+ and rebuild after installing the pinned peer dependencies. Audio files are encoded as AAC for browser playback.
234
281
 
235
282
  **Q: Screen recording sometimes doesn't capture?**
236
- A: Update to SDK v0.2.14+ which includes enhanced URI extraction and better error handling for screen recordings across different devices.
283
+ A: Update to SDK v0.2.18+ which includes enhanced URI extraction and better error handling for screen recordings across different devices.
package/README.md CHANGED
@@ -36,14 +36,62 @@ Transform your app's feedback collection with our powerful shake-to-report SDK.
36
36
 
37
37
  2. Install required native peer dependencies in your app root:
38
38
  ```bash
39
- npm install react-native-sensors react-native-view-shot react-native-device-info react-native-audio-recorder-player react-native-record-screen
39
+ npm install react-native-sensors@7.3.0 react-native-view-shot@3.1.2 react-native-device-info@10.0.0 react-native-audio-recorder-player@3.6.4 react-native-record-screen@0.6.2
40
40
  ```
41
41
 
42
+ We recommend `react-native-audio-recorder-player@3.6.4`. If you install v4+, you must also install `react-native-nitro-modules`.
43
+
42
44
  3. Link native modules (iOS only, non-Expo):
43
45
  ```bash
44
46
  cd ios && pod install
45
47
  ```
46
48
 
49
+ ## Android Build Compatibility (RN 0.84+)
50
+
51
+ If your app is on React Native 0.84+ / modern Android Gradle Plugin, use JDK 17 and modern repositories.
52
+
53
+ `android/build.gradle`:
54
+
55
+ ```gradle
56
+ allprojects {
57
+ repositories {
58
+ google()
59
+ mavenCentral()
60
+ }
61
+ }
62
+ ```
63
+
64
+ `android/app/build.gradle`:
65
+
66
+ ```gradle
67
+ android {
68
+ compileOptions {
69
+ sourceCompatibility JavaVersion.VERSION_17
70
+ targetCompatibility JavaVersion.VERSION_17
71
+ }
72
+ }
73
+
74
+ kotlinOptions {
75
+ jvmTarget = "17"
76
+ }
77
+ ```
78
+
79
+ No `android/gradlew` script changes are required.
80
+
81
+ Temporary fallback when third-party modules still ship old Gradle/Kotlin config:
82
+
83
+ ```bash
84
+ npm install -D patch-package
85
+ ```
86
+
87
+ ```json
88
+ {
89
+ "scripts": {
90
+ "postinstall": "patch-package"
91
+ }
92
+ }
93
+ ```
94
+
47
95
  ## Usage
48
96
 
49
97
  Wrap your main app component with the `<IInstall>` provider.
@@ -185,8 +233,10 @@ await unregisterPushToken({
185
233
  - **Shake not working?** Test on real device or enable "Shake" in simulator
186
234
  - **Network errors?** Verify `apiEndpoint` is base URL only (not `/api/sdk/issue`)
187
235
  - **Permissions denied?** Check platform-specific setup in integration guide
188
- - **Audio issues?** Ensure SDK v0.2.14+ and rebuild after native peer install
236
+ - **Audio issues?** Ensure SDK v0.2.18+ and rebuild after native peer install
189
237
  - **Native module is null/undefined?** Reinstall peer deps in app root, run `cd ios && pod install`, then rebuild the app
238
+ - **Android error `Project with path ':react-native-nitro-modules' could not be found`?** Downgrade to `react-native-audio-recorder-player@3.6.4` (or install `react-native-nitro-modules` when using audio-recorder-player v4+)
239
+ - **Android build fails on `jcenter()` or Kotlin JVM target mismatch?** Use `mavenCentral()` and set Java/Kotlin target to `17`; if dependency scripts are old, patch with `patch-package`
190
240
 
191
241
  ### Getting Help
192
242
  - 📖 [Complete Integration Guide](INTEGRATION_GUIDE.md)
@@ -1,8 +1,8 @@
1
1
  {
2
- "version": "0.2.17",
2
+ "version": "0.2.18",
3
3
  "highlights": [
4
- "Native modules now declared as peer dependencies for reliable app-root autolinking",
5
- "SDK now lazy-loads native modules and degrades gracefully instead of hard crashing",
6
- "Updated integration docs with explicit peer dependency install commands"
4
+ "Pinned native peer install guidance to avoid Android dependency drift",
5
+ "Added RN 0.84+ compatibility notes (JDK 17, mavenCentral, Kotlin JVM target 17)",
6
+ "Documented patch-package fallback for incompatible third-party native modules"
7
7
  ]
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-iinstall",
3
- "version": "0.2.17",
3
+ "version": "0.2.18",
4
4
  "description": "🎯 IInstall React Native SDK - The ultimate beta testing & QA feedback tool. Shake-to-report with voice recordings, screen recordings, and screenshots. Zero-config setup with TypeScript support. Perfect for beta testing, QA teams, and user feedback collection.",
5
5
  "author": "TesterFlow Team",
6
6
  "license": "MIT",
@@ -49,7 +49,7 @@
49
49
  "peerDependencies": {
50
50
  "react": ">=16.8.0",
51
51
  "react-native": ">=0.60.0",
52
- "react-native-audio-recorder-player": "^3.6.4",
52
+ "react-native-audio-recorder-player": ">=3.6.4 <4",
53
53
  "react-native-device-info": "^10.0.0",
54
54
  "react-native-record-screen": "^0.6.2",
55
55
  "react-native-sensors": "^7.3.0",