cobrowse-sdk-react-native 3.11.0 → 3.12.0

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.
@@ -2,7 +2,13 @@
2
2
  "version": "0.2.0",
3
3
  "configurations": [
4
4
  {
5
- "name": "Attach to Hermes application",
5
+ "name": "Attach to Hermes application (Test-App)",
6
+ "cwd": "${workspaceFolder}/Test-App",
7
+ "type": "reactnativedirect",
8
+ "request": "attach"
9
+ },
10
+ {
11
+ "name": "Attach to Hermes application (Example — legacy)",
6
12
  "cwd": "${workspaceFolder}/Example",
7
13
  "type": "reactnativedirect",
8
14
  "request": "attach"
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [3.12.0](https://github.com/cobrowseio/cobrowse-sdk-react-native/compare/v3.11.0...v3.12.0) (2026-08-27)
6
+
7
+
8
+ ### Features
9
+
10
+ * update Cobrowse iOS SDK to 3.19.1 ([e1eb5e9](https://github.com/cobrowseio/cobrowse-sdk-react-native/commit/e1eb5e9dfe55787a6335f916e0efaf578988866b))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * fix views missing from render when using fabric ([#201](https://github.com/cobrowseio/cobrowse-sdk-react-native/issues/201)) ([0130861](https://github.com/cobrowseio/cobrowse-sdk-react-native/commit/013086179800e588e41fd5dd0d193a16f669dca0))
16
+
5
17
  ## [3.11.0](https://github.com/cobrowseio/cobrowse-sdk-react-native/compare/v3.10.0...v3.11.0) (2026-08-21)
6
18
 
7
19
 
@@ -11,7 +11,7 @@ Pod::Spec.new do |s|
11
11
  s.homepage = package["homepage"]
12
12
  s.source = { :git => 'https://github.com/cobrowseio/cobrowse-sdk-react-native.git' }
13
13
  s.platform = :ios, '15.0'
14
- s.dependency 'CobrowseIO/XCFramework', '3.19.0'
14
+ s.dependency 'CobrowseIO/XCFramework', '3.19.1'
15
15
  s.source_files = 'ios/**/*.{h,m,mm}'
16
16
 
17
17
  if defined?(install_modules_dependencies)
@@ -1,7 +1,5 @@
1
1
  #import <React/RCTViewManager.h>
2
2
 
3
3
  @interface CBIOCobrowseRedactedManager : RCTViewManager
4
-
5
- +(NSMutableSet*) redactedViews;
6
-
4
+ +(NSHashTable<UIView *> *)redactedViews;
7
5
  @end
@@ -10,10 +10,10 @@
10
10
 
11
11
  RCT_EXPORT_MODULE(CBIOCobrowseRedacted)
12
12
 
13
- +(NSMutableSet *)redactedViews {
14
- static NSMutableSet* views;
15
- if (!views) views = [NSMutableSet set];
16
- return views;
13
+ +(NSHashTable<UIView *> *)redactedViews {
14
+ static NSHashTable<UIView *> *weakViews;
15
+ if (!weakViews) weakViews = [NSHashTable weakObjectsHashTable];
16
+ return weakViews;
17
17
  }
18
18
 
19
19
  - (UIView *)view {
@@ -85,7 +85,7 @@ RCT_EXPORT_MODULE();
85
85
  }
86
86
 
87
87
  -(NSArray<UIView *> *)cobrowseRedactedViewsForViewController:(UIViewController *)vc {
88
- NSMutableSet* views = [CBIOCobrowseRedactedManager.redactedViews mutableCopy];
88
+ NSMutableSet *views = [NSMutableSet setWithArray:[CBIOCobrowseRedactedManager.redactedViews allObjects]];
89
89
  if ([RCTCobrowseIO.delegate respondsToSelector:@selector(cobrowseRedactedViewsForViewController:)]) {
90
90
  [views addObjectsFromArray: [RCTCobrowseIO.delegate cobrowseRedactedViewsForViewController:vc]];
91
91
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cobrowse-sdk-react-native",
3
- "version": "3.11.0",
3
+ "version": "3.12.0",
4
4
  "description": "Cobrowse SDK for React Native",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -71,7 +71,9 @@
71
71
  "jest"
72
72
  ],
73
73
  "ignore": [
74
- "lib"
74
+ "lib",
75
+ "Test-App",
76
+ "Test-Scenarios"
75
77
  ]
76
78
  },
77
79
  "react-native-builder-bob": {
@@ -0,0 +1,47 @@
1
+ const path = require('path')
2
+
3
+ /**
4
+ * Autolinking metadata for consumers of this SDK.
5
+ *
6
+ * Read by @react-native-community/cli from *this* package when a host app runs
7
+ * `pod install` or an Android build. It describes where our native code lives so
8
+ * the CLI does not have to go looking for it.
9
+ *
10
+ * This ships in the npm package deliberately: without it the CLI falls back to
11
+ * recursive globs rooted at the package directory, which is both slow for every
12
+ * consumer and, in a monorepo or any layout with nested `node_modules`, able to
13
+ * fail outright.
14
+ */
15
+ module.exports = {
16
+ dependency: {
17
+ platforms: {
18
+ android: {
19
+ // Skips the CLI's findAndroidDir() scan. Relative to this package root.
20
+ sourceDir: 'android',
21
+
22
+ // The CLI's findComponentDescriptors() looks for Fabric component
23
+ // descriptors. It scopes its glob using `codegenConfig.jsSrcsDir` from
24
+ // package.json, and this SDK has no codegenConfig - it is a legacy
25
+ // architecture bridge module and does not participate in codegen - so the
26
+ // glob falls back to `**/*{.js,.jsx,.ts,.tsx}` across the whole package.
27
+ //
28
+ // An empty list is the correct value rather than a workaround: with no
29
+ // codegen there are no component descriptors to find. Revisit if this SDK
30
+ // ever gains a codegenConfig.
31
+ //
32
+ // It also matters for us specifically. Our internal test apps consume this
33
+ // package as `file:..`, so the package root is the whole repo - including
34
+ // git worktrees under `.claude/` / `.worktrees/`, which are full second
35
+ // checkouts whose own node_modules symlink back to a repo root. The
36
+ // unscoped glob follows that cycle until the path exceeds the filesystem
37
+ // limit:
38
+ // ENAMETOOLONG: scandir '.../Example/node_modules/cobrowse-sdk-react-native/
39
+ // Example/node_modules/cobrowse-sdk-react-native/...'
40
+ componentDescriptors: []
41
+ },
42
+ ios: {
43
+ podspecPath: path.join(__dirname, 'cobrowse-sdk-react-native.podspec')
44
+ }
45
+ }
46
+ }
47
+ }
@@ -4,5 +4,15 @@
4
4
  "compilerOptions": {
5
5
  "types": ["react", "react-native"]
6
6
  },
7
- "exclude": ["Example", "test", "**/*.test.ts", "**/*.test.tsx"]
7
+ // NOTE: `exclude` replaces the parent tsconfig's list, it does not merge with it.
8
+ // Every internal app directory has to be repeated here or `bob build` tries to emit
9
+ // declarations for it - which fails the build, and with it `prepack`/`npm publish`.
10
+ "exclude": [
11
+ "Example",
12
+ "Test-App",
13
+ "Test-Scenarios",
14
+ "test",
15
+ "**/*.test.ts",
16
+ "**/*.test.tsx"
17
+ ]
8
18
  }
package/tsconfig.json CHANGED
@@ -26,5 +26,5 @@
26
26
  "target": "esnext",
27
27
  "types": ["react", "react-native", "jest"]
28
28
  },
29
- "exclude": ["Example", "lib", "node_modules"]
29
+ "exclude": ["Example", "Test-App", "Test-Scenarios", "lib", "node_modules"]
30
30
  }