From 9271a648498bc9ea9d5d1dd5c60da7ce209957a5 Mon Sep 17 00:00:00 2001 From: TaduJR Date: Sat, 4 Apr 2026 15:34:34 +0300 Subject: [PATCH 1/6] fix: update phantom ref test from failing to passing --- src/__tests__/index.test.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__tests__/index.test.tsx b/src/__tests__/index.test.tsx index 40d1cf9..1df03d1 100644 --- a/src/__tests__/index.test.tsx +++ b/src/__tests__/index.test.tsx @@ -151,7 +151,7 @@ describe('Reading FS properties on iOS', () => { expect(ref).toHaveBeenLastCalledWith(null); }); - it.failing( + it( 'custom component with FS attributes does not have phantom ref injected into its props', () => { const childRef = React.createRef(); From 333ffa056e13a2b3f743bfb17dd61e5181a82143 Mon Sep 17 00:00:00 2001 From: TaduJR Date: Wed, 8 Apr 2026 17:04:45 +0300 Subject: [PATCH 2/6] fix: resolve lint formatting for phantom ref test case --- src/__tests__/index.test.tsx | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/src/__tests__/index.test.tsx b/src/__tests__/index.test.tsx index 1df03d1..73f9b75 100644 --- a/src/__tests__/index.test.tsx +++ b/src/__tests__/index.test.tsx @@ -151,23 +151,20 @@ describe('Reading FS properties on iOS', () => { expect(ref).toHaveBeenLastCalledWith(null); }); - it( - 'custom component with FS attributes does not have phantom ref injected into its props', - () => { - const childRef = React.createRef(); - - const CustomComponent = (props: { fsClass?: string; children?: React.ReactNode }) => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const { fsClass: _fsClass, ...rest } = props; - return ; - }; - - render(); - - expect(childRef.current).not.toBeNull(); - expect((childRef.current as any)?._reactInternals?.type).toBe(View); - }, - ); + it('custom component with FS attributes does not have phantom ref injected into its props', () => { + const childRef = React.createRef(); + + const CustomComponent = (props: { fsClass?: string; children?: React.ReactNode }) => { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { fsClass: _fsClass, ...rest } = props; + return ; + }; + + render(); + + expect(childRef.current).not.toBeNull(); + expect((childRef.current as any)?._reactInternals?.type).toBe(View); + }); it('component without FS attributes does not trigger setBatchProperties', () => { render(); From 618d53d8ebe8a725a36c4709d324004c9e4db583 Mon Sep 17 00:00:00 2001 From: TaduJR Date: Thu, 9 Apr 2026 13:01:35 +0300 Subject: [PATCH 3/6] chore: point babel plugin to fix branch for CI verification --- package-lock.json | 5 ++--- package.json | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index ad0a8e7..381408a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "@fullstory/babel-plugin-annotate-react": "^2.3.2", - "@fullstory/babel-plugin-react-native": "^1.6.1" + "@fullstory/babel-plugin-react-native": "github:TaduJR/fullstory-babel-plugin-react-native#fix/react-19-non-enumerable-synthetic-refs" }, "devDependencies": { "@babel/core": "^7.22.15", @@ -2867,8 +2867,7 @@ }, "node_modules/@fullstory/babel-plugin-react-native": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@fullstory/babel-plugin-react-native/-/babel-plugin-react-native-1.6.1.tgz", - "integrity": "sha512-bRKzMdYdZlG1RKVNJMv3UXmXvJ2OIdvpwsOxJzCnG0LTINv8bqJ2s/9pXIj1O73ppPDfWRESMChlPjEn5JcLuw==", + "resolved": "git+ssh://git@github.com/TaduJR/fullstory-babel-plugin-react-native.git#eb48ffaf44178707dea50b7bf97d8e285121de06", "license": "MIT", "dependencies": { "@babel/parser": "^7.0.0", diff --git a/package.json b/package.json index 0ed839e..d7fa8df 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ }, "dependencies": { "@fullstory/babel-plugin-annotate-react": "^2.3.2", - "@fullstory/babel-plugin-react-native": "^1.6.1" + "@fullstory/babel-plugin-react-native": "github:TaduJR/fullstory-babel-plugin-react-native#fix/react-19-non-enumerable-synthetic-refs" }, "peerDependencies": { "expo": ">=47.0.0", From 62862ddeb2c32454365530770c52475a0ee2fff1 Mon Sep 17 00:00:00 2001 From: TaduJR Date: Sat, 11 Apr 2026 08:45:04 +0300 Subject: [PATCH 4/6] fix: revert package.json to published dependency --- package-lock.json | 5 +++-- package.json | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 381408a..ad0a8e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "@fullstory/babel-plugin-annotate-react": "^2.3.2", - "@fullstory/babel-plugin-react-native": "github:TaduJR/fullstory-babel-plugin-react-native#fix/react-19-non-enumerable-synthetic-refs" + "@fullstory/babel-plugin-react-native": "^1.6.1" }, "devDependencies": { "@babel/core": "^7.22.15", @@ -2867,7 +2867,8 @@ }, "node_modules/@fullstory/babel-plugin-react-native": { "version": "1.6.1", - "resolved": "git+ssh://git@github.com/TaduJR/fullstory-babel-plugin-react-native.git#eb48ffaf44178707dea50b7bf97d8e285121de06", + "resolved": "https://registry.npmjs.org/@fullstory/babel-plugin-react-native/-/babel-plugin-react-native-1.6.1.tgz", + "integrity": "sha512-bRKzMdYdZlG1RKVNJMv3UXmXvJ2OIdvpwsOxJzCnG0LTINv8bqJ2s/9pXIj1O73ppPDfWRESMChlPjEn5JcLuw==", "license": "MIT", "dependencies": { "@babel/parser": "^7.0.0", diff --git a/package.json b/package.json index d7fa8df..0ed839e 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ }, "dependencies": { "@fullstory/babel-plugin-annotate-react": "^2.3.2", - "@fullstory/babel-plugin-react-native": "github:TaduJR/fullstory-babel-plugin-react-native#fix/react-19-non-enumerable-synthetic-refs" + "@fullstory/babel-plugin-react-native": "^1.6.1" }, "peerDependencies": { "expo": ">=47.0.0", From 382b890c7aa6fe5f4ada8f4a78b58474ea221f7d Mon Sep 17 00:00:00 2001 From: TaduJR Date: Wed, 15 Apr 2026 21:38:51 +0300 Subject: [PATCH 5/6] chore: trigger CI From ac46e485f164fe7e1167393058047b2c141e1201 Mon Sep 17 00:00:00 2001 From: TaduJR Date: Wed, 15 Apr 2026 21:44:20 +0300 Subject: [PATCH 6/6] chore: bump @fullstory/babel-plugin-react-native to ^1.6.3 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index ad0a8e7..9d5dde5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "@fullstory/babel-plugin-annotate-react": "^2.3.2", - "@fullstory/babel-plugin-react-native": "^1.6.1" + "@fullstory/babel-plugin-react-native": "^1.6.3" }, "devDependencies": { "@babel/core": "^7.22.15", @@ -2866,9 +2866,9 @@ } }, "node_modules/@fullstory/babel-plugin-react-native": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@fullstory/babel-plugin-react-native/-/babel-plugin-react-native-1.6.1.tgz", - "integrity": "sha512-bRKzMdYdZlG1RKVNJMv3UXmXvJ2OIdvpwsOxJzCnG0LTINv8bqJ2s/9pXIj1O73ppPDfWRESMChlPjEn5JcLuw==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@fullstory/babel-plugin-react-native/-/babel-plugin-react-native-1.6.3.tgz", + "integrity": "sha512-ucjtEoMB+VihR0jQQRNjIUZsrTW6RZ+S3aJVPiMmTQFEQmYAvv1rDf29ctVyWKPf+7tdK6HA29d9khRYuWvvoA==", "license": "MIT", "dependencies": { "@babel/parser": "^7.0.0", diff --git a/package.json b/package.json index 0ed839e..e6e216d 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ }, "dependencies": { "@fullstory/babel-plugin-annotate-react": "^2.3.2", - "@fullstory/babel-plugin-react-native": "^1.6.1" + "@fullstory/babel-plugin-react-native": "^1.6.3" }, "peerDependencies": { "expo": ">=47.0.0",