Skip to content

Commit e1d4577

Browse files
committed
Merge branch 'main' into v7
# Conflicts: # CHANGELOG.md # dev-packages/e2e-tests/package.json # dev-packages/type-check/package.json # dev-packages/utils/package.json # lerna.json # packages/core/android/src/main/java/io/sentry/react/RNSentryVersion.java # packages/core/ios/RNSentryVersion.m # packages/core/package.json # packages/core/src/js/version.ts # performance-tests/TestAppPlain/package.json # performance-tests/TestAppSentry/package.json # samples/expo/app.json # samples/expo/package.json # samples/react-native-macos/package.json # samples/react-native/android/app/build.gradle # samples/react-native/ios/sentryreactnativesample/Info.plist # samples/react-native/ios/sentryreactnativesampleTests/Info.plist # samples/react-native/package.json # yarn.lock
2 parents 1667b2b + d18ddb1 commit e1d4577

11 files changed

Lines changed: 646 additions & 69 deletions

File tree

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444

4545
# Initializes the CodeQL tools for scanning.
4646
- name: Initialize CodeQL
47-
uses: github/codeql-action/init@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # pin@v3.29.0
47+
uses: github/codeql-action/init@39edc492dbe16b1465b0cafca41432d857bdb31a # pin@v3.29.1
4848
with:
4949
languages: ${{ matrix.language }}
5050
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -55,7 +55,7 @@ jobs:
5555
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5656
# If this step fails, then you should remove it and run the build manually (see below)
5757
- name: Autobuild
58-
uses: github/codeql-action/autobuild@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # pin@v3.29.0
58+
uses: github/codeql-action/autobuild@39edc492dbe16b1465b0cafca41432d857bdb31a # pin@v3.29.1
5959

6060
# ℹ️ Command-line programs to run using the OS shell.
6161
# 📚 https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
@@ -66,4 +66,4 @@ jobs:
6666
# make bootstrap
6767
# make release
6868
- name: Perform CodeQL Analysis
69-
uses: github/codeql-action/analyze@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # pin@v3.29.0
69+
uses: github/codeql-action/analyze@39edc492dbe16b1465b0cafca41432d857bdb31a # pin@v3.29.1

.github/workflows/e2e-v2.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ concurrency:
1414

1515
env:
1616
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
17-
MAESTRO_VERSION: '1.40.3'
17+
MAESTRO_VERSION: '1.41.0'
1818
IOS_DEVICE: 'iPhone 16'
1919
IOS_VERSION: '18.1'
2020

@@ -141,7 +141,7 @@ jobs:
141141
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
142142
MATCH_USERNAME: ${{ secrets.MATCH_USERNAME }}
143143
- name: Collect apps metrics
144-
uses: getsentry/action-app-sdk-overhead-metrics@v1
144+
uses: getsentry/action-app-sdk-overhead-metrics@c9eca50e02d180ee07a02952c062b2f3f545f735
145145
with:
146146
name: ${{ matrix.name }} (${{ matrix.rn-architecture }})
147147
config: ./performance-tests/metrics-${{ matrix.platform }}.yml
@@ -163,15 +163,15 @@ jobs:
163163
strategy:
164164
fail-fast: false # keeps matrix running if one fails
165165
matrix:
166-
rn-version: ['0.65.3', '0.80.0']
166+
rn-version: ['0.65.3', '0.80.1']
167167
rn-architecture: ['legacy', 'new']
168168
platform: ['android', 'ios']
169169
build-type: ['production']
170170
ios-use-frameworks: ['no', 'static', 'dynamic']
171171
engine: ['hermes', 'jsc']
172172
include:
173173
- platform: ios
174-
rn-version: '0.80.0'
174+
rn-version: '0.80.1'
175175
xcode-version: '16.2'
176176
runs-on: macos-15
177177
- platform: ios
@@ -182,7 +182,7 @@ jobs:
182182
runs-on: ubuntu-latest
183183
exclude:
184184
# exclude JSC for new RN versions (keeping the matrix manageable)
185-
- rn-version: '0.80.0'
185+
- rn-version: '0.80.1'
186186
engine: 'jsc'
187187
# exclude all rn versions lower than 0.70.0 for new architecture
188188
- rn-version: '0.65.3'
@@ -301,15 +301,15 @@ jobs:
301301
strategy:
302302
fail-fast: false # keeps matrix running if one fails
303303
matrix:
304-
rn-version: ['0.65.3', '0.80.0']
304+
rn-version: ['0.65.3', '0.80.1']
305305
rn-architecture: ['legacy', 'new']
306306
platform: ['android', 'ios']
307307
build-type: ['production']
308308
ios-use-frameworks: ['no'] # test only no framworks
309309
engine: ['hermes', 'jsc']
310310
include:
311311
- platform: ios
312-
rn-version: '0.80.0'
312+
rn-version: '0.80.1'
313313
runs-on: macos-15
314314
- platform: ios
315315
rn-version: '0.65.3'
@@ -323,7 +323,7 @@ jobs:
323323
# e2e test only the default combinations
324324
- rn-version: '0.65.3'
325325
engine: 'hermes'
326-
- rn-version: '0.80.0'
326+
- rn-version: '0.80.1'
327327
engine: 'jsc'
328328

329329
steps:

.github/workflows/sample-application.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ concurrency:
1313

1414
env:
1515
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
16-
MAESTRO_VERSION: '1.40.3'
16+
MAESTRO_VERSION: '1.41.0'
1717
RN_SENTRY_POD_NAME: RNSentry
1818
IOS_APP_ARCHIVE_PATH: sentry-react-native-sample.app.zip
1919
ANDROID_APP_ARCHIVE_PATH: sentry-react-native-sample.apk.zip

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,18 @@ Version 7 of the SDK is compatible with Sentry self-hosted versions 24.4.2 or hi
178178
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8132)
179179
- [diff](https://github.com/getsentry/sentry-java/compare/7.20.1...8.13.2)
180180

181+
## 6.16.1
182+
183+
### Fixes
184+
185+
- Fixes Replay Custom Masking issue on Android ([#4957](https://github.com/getsentry/sentry-react-native/pull/4957))
186+
187+
### Dependencies
188+
189+
- Bump Cocoa SDK from v8.52.1 to v8.53.1 ([#4950](https://github.com/getsentry/sentry-react-native/pull/4950))
190+
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8531)
191+
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.52.1...8.53.1)
192+
181193
## 6.16.0
182194

183195
### Features

dev-packages/e2e-tests/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
"@types/node": "^20.9.3",
1919
"@types/react": "^18.2.64",
2020
"appium": "2.4.1",
21-
"appium-uiautomator2-driver": "2.39.0",
22-
"appium-xcuitest-driver": "5.13.0",
21+
"appium-uiautomator2-driver": "2.43.4",
22+
"appium-xcuitest-driver": "5.15.1",
2323
"babel-jest": "^29.7.0",
2424
"jest": "^29.7.0",
2525
"react": "18.3.1",

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
"clean": "lerna run clean",
88
"circularDepCheck": "lerna run circularDepCheck",
99
"test": "lerna run test",
10-
"fix": "run-s fix:lerna fix:android fix:clang fix:swift fix:kotlin",
10+
"fix": "run-s fix:lerna fix:android fix:kotlin fix:clang fix:swift",
1111
"fix:lerna": "lerna run fix",
1212
"fix:android": "run-s 'java:format fix' java:pmd",
1313
"fix:clang": "run-s 'clang:format fix'",
1414
"fix:swift": "run-s 'swift:lint fix'",
1515
"fix:kotlin": "npx ktlint --relative --format '!**/node_modules/**'",
16-
"lint": "run-s lint:lerna lint:android lint:clang lint:swift lint:kotlin",
16+
"lint": "run-s lint:lerna lint:android lint:kotlin lint:clang lint:swift ",
1717
"lint:lerna": "lerna run lint",
1818
"lint:android": "run-s 'java:format lint' java:pmd",
1919
"lint:clang": "run-s 'clang:format lint'",

packages/core/RNSentry.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Pod::Spec.new do |s|
4444

4545
s.compiler_flags = other_cflags
4646

47-
s.dependency 'Sentry/HybridSDK', '8.52.1'
47+
s.dependency 'Sentry/HybridSDK', '8.53.1'
4848

4949
if defined? install_modules_dependencies
5050
# Default React Native dependencies for 0.71 and above (new and legacy architecture)
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package io.sentry.react.replay
2+
3+
import com.facebook.react.module.annotations.ReactModule
4+
import org.junit.Assert.assertEquals
5+
import org.junit.Assert.assertNotNull
6+
import org.junit.Before
7+
import org.junit.Test
8+
import org.junit.runner.RunWith
9+
import org.junit.runners.JUnit4
10+
import org.mockito.MockitoAnnotations
11+
12+
@RunWith(JUnit4::class)
13+
class RNSentryReplayMaskManagerTest {
14+
private val expectedName = RNSentryReplayMaskManagerImpl.REACT_CLASS
15+
16+
private lateinit var manager: RNSentryReplayMaskManager
17+
18+
@Before
19+
fun setUp() {
20+
MockitoAnnotations.openMocks(this)
21+
manager = RNSentryReplayMaskManager()
22+
}
23+
24+
@Test
25+
fun `getName returns correct react class name`() {
26+
assertEquals(expectedName, manager.getName())
27+
}
28+
29+
@Test
30+
fun `module annotation name matches getName result`() {
31+
val annotation = manager.javaClass.getAnnotation(ReactModule::class.java)
32+
assertNotNull("ReactModule annotation should be present", annotation)
33+
assertEquals(
34+
"Annotation name should match getName() result",
35+
expectedName,
36+
annotation?.name,
37+
)
38+
}
39+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package io.sentry.react.replay
2+
3+
import com.facebook.react.module.annotations.ReactModule
4+
import org.junit.Assert.assertEquals
5+
import org.junit.Assert.assertNotNull
6+
import org.junit.Before
7+
import org.junit.Test
8+
import org.junit.runner.RunWith
9+
import org.junit.runners.JUnit4
10+
import org.mockito.MockitoAnnotations
11+
12+
@RunWith(JUnit4::class)
13+
class RNSentryReplayUnmaskManagerTest {
14+
private val expectedName = RNSentryReplayUnmaskManagerImpl.REACT_CLASS
15+
16+
private lateinit var manager: RNSentryReplayUnmaskManager
17+
18+
@Before
19+
fun setUp() {
20+
MockitoAnnotations.openMocks(this)
21+
manager = RNSentryReplayUnmaskManager()
22+
}
23+
24+
@Test
25+
fun `getName returns correct react class name`() {
26+
assertEquals(expectedName, manager.getName())
27+
}
28+
29+
@Test
30+
fun `module annotation name matches getName result`() {
31+
val annotation = manager.javaClass.getAnnotation(ReactModule::class.java)
32+
assertNotNull("ReactModule annotation should be present", annotation)
33+
assertEquals(
34+
"Annotation name should match getName() result",
35+
expectedName,
36+
annotation?.name,
37+
)
38+
}
39+
}

packages/core/android/src/newarch/java/io/sentry/react/replay/RNSentryReplayUnmaskManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import com.facebook.react.viewmanagers.RNSentryReplayUnmaskManagerDelegate;
99
import com.facebook.react.viewmanagers.RNSentryReplayUnmaskManagerInterface;
1010

11-
@ReactModule(name = RNSentryReplayMaskManagerImpl.REACT_CLASS)
11+
@ReactModule(name = RNSentryReplayUnmaskManagerImpl.REACT_CLASS)
1212
public class RNSentryReplayUnmaskManager extends ViewGroupManager<RNSentryReplayUnmask>
1313
implements RNSentryReplayUnmaskManagerInterface<RNSentryReplayUnmask> {
1414
private final RNSentryReplayUnmaskManagerDelegate<
@@ -23,7 +23,7 @@ public ViewManagerDelegate<RNSentryReplayUnmask> getDelegate() {
2323
@NonNull
2424
@Override
2525
public String getName() {
26-
return RNSentryReplayMaskManagerImpl.REACT_CLASS;
26+
return RNSentryReplayUnmaskManagerImpl.REACT_CLASS;
2727
}
2828

2929
@NonNull

0 commit comments

Comments
 (0)