Skip to content

Commit 7a536aa

Browse files
Merge branch 'main' into cloud-functions-streaming
2 parents 9617769 + 7df6130 commit 7a536aa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+494
-274
lines changed

.github/workflows/scripts/boot-simulator.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,22 @@ SIM="$(cat .detoxrc.js | grep iPhone | cut -d"'" -f2)"
99
echo "Attempting to boot iOS Simulator $SIM..."
1010

1111
# Clear up any existing attempts in case we are re-trying
12+
echo "...killing any existing Simulator processes..."
1213
killall Simulator || true
1314

1415
# Boot the simulator if not booted, make sure it is in the foreground
16+
echo "...booting $SIM and foregrounding Simulator..."
1517
(xcrun simctl boot "$SIM" || true) && open -a Simulator.app
1618

1719
# Is it booted?
20+
echo "...waiting to make sure $SIM is booted..."
1821
xcrun simctl list |grep -i "$SIM ("|grep -v 'Phone:'|grep -v 'unavailable'|grep -v CoreSimulator|grep Booted
1922

2023
# Are we a Debug or Release build?
2124
BUILDDIR="$( find ios/build/Build/Products -type d |grep 'testing.app$' | head -1)"
2225

2326
# Install our app (glob so Release or Debug works)
24-
xcrun simctl install "$SIM" "$BUILDDIR"
27+
echo "...installing the Test app build on $SIM..."
28+
xcrun simctl install "$SIM" "$BUILDDIR"
29+
30+
echo "Successfully booted $SIM and installed test app."

.github/workflows/stale.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ jobs:
2525
2626
Thank you for your contributions.
2727
stale-pr-message: |
28-
Hello 👋, this PR has been opened for more than 2 months with no activity on it.
28+
Hello 👋, this PR has been opened for more than 14 days with no activity on it.
2929
3030
If you think this is a mistake please comment and ping a maintainer to get this merged ASAP! Thanks for contributing!
3131
32-
You have 15 days until this gets closed automatically
33-
exempt-issue-labels: 'Keep Open,Help: Good First Issue,Workflow: Needs Review'
34-
exempt-pr-labels: 'Keep Open,Help: Good First Issue,Workflow: Needs Review'
32+
You have 7 days until this gets closed automatically
33+
exempt-issue-labels: 'Keep Open,Help: Good First Issue,Workflow: Needs Review,Needs Attention'
34+
exempt-pr-labels: 'Keep Open,Help: Good First Issue,Workflow: Needs Review,Needs Attention'
3535
close-issue-reason: not_planned
36-
days-before-stale: 28
37-
days-before-close: 15
36+
days-before-stale: 14
37+
days-before-close: 21
3838
stale-issue-label: 'Stale'

.github/workflows/tests_e2e_ios.yml

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,17 @@ jobs:
8989
runs-on: macos-15
9090
needs: matrix_prep
9191
# TODO matrix across APIs, at least 11 and 15 (lowest to highest)
92-
timeout-minutes: 70
92+
timeout-minutes: 80
9393
env:
9494
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
9595
CCACHE_SLOPPINESS: clang_index_store,file_stat_matches,include_file_ctime,include_file_mtime,ivfsoverlay,pch_defines,modules,system_headers,time_macros
9696
CCACHE_FILECLONE: true
9797
CCACHE_DEPEND: true
9898
CCACHE_INODECACHE: true
9999
CCACHE_LIMIT_MULTIPLE: 0.95
100+
# pin to 26.0.1 until newer Xcode/Simulators don't have awful performance
101+
# Last tested with 26.2 on 20260130 and performance-based flakes made it unusable
102+
XCODE_VERSION: 26.0.1
100103
strategy:
101104
fail-fast: false
102105
matrix: ${{fromJson(needs.matrix_prep.outputs.matrix)}}
@@ -128,7 +131,24 @@ jobs:
128131

129132
- uses: maxim-lobanov/setup-xcode@v1
130133
with:
131-
xcode-version: '26.2.0' # temporarily pinning version until simulators are defined 'latest-stable'
134+
xcode-version: ${{ env.XCODE_VERSION }}
135+
136+
- name: Workaround Simulator Availability issues
137+
run: |
138+
# If using `latest-stable` xcode-version above, this is likely not needed.
139+
# If you use *anything* but latest-stable, you may inadvertently be using a SimRuntime that is no longer installed.
140+
# This will install the needed SimRuntime if it is missing.
141+
if [[ "$XCODE_VERSION" != "latest-stable" ]] && ! xcrun simctl list | grep "^iOS $XCODE_VERSION"; then
142+
# note if you specify the build version to be exactly same as xcode version
143+
# you may see "iOS <version> is not available for download"
144+
#xcodebuild -downloadPlatform iOS -buildVersion "$XCODE_VERSION"
145+
xcodebuild -downloadPlatform iOS
146+
fi
147+
148+
# Apparently just listing the installed simulators fixes availability inconsistency
149+
# Without this, runs fail *intermittently* with build target not available because simulators not available
150+
# See https://github.com/actions/runner-images/issues/13459#issuecomment-3681674842
151+
xcrun simctl list
132152
133153
- uses: actions/checkout@v4
134154
with:
@@ -263,6 +283,7 @@ jobs:
263283
shell: bash
264284

265285
- name: Metro Bundler Cache Restore
286+
if: contains(matrix.buildmode, 'debug')
266287
uses: actions/cache/restore@v4
267288
id: metro-bundler-cache
268289
continue-on-error: true
@@ -272,6 +293,7 @@ jobs:
272293
restore-keys: ${{ runner.os }}-ios-metro-v1
273294

274295
- name: Pre-fetch Javascript bundle
296+
if: contains(matrix.buildmode, 'debug')
275297
run: |
276298
nohup yarn tests:packager:jet-ci &
277299
printf 'Waiting for packager to come online'
@@ -307,14 +329,14 @@ jobs:
307329
max_attempts: 3
308330
command: ./.github/workflows/scripts/boot-simulator.sh
309331

310-
- name: Detox Test
332+
- name: Detox Test Debug
311333
if: contains(matrix.buildmode, 'debug')
312-
timeout-minutes: 50
334+
timeout-minutes: 55
313335
run: yarn tests:ios:test-cover
314336

315-
- name: Detox Test
337+
- name: Detox Test Release
316338
if: contains(matrix.buildmode, 'release')
317-
timeout-minutes: 50
339+
timeout-minutes: 55
318340
run: yarn tests:ios:test:release
319341

320342
- name: Stop Screen and App Video and System Logging
@@ -391,7 +413,7 @@ jobs:
391413

392414
- name: Metro Bundler Cache Save
393415
uses: actions/cache/save@v4
394-
if: "${{ github.ref == 'refs/heads/main' }}"
416+
if: "${{ contains(matrix.buildmode, 'debug') && github.ref == 'refs/heads/main' }}"
395417
continue-on-error: true
396418
with:
397419
path: ${{ steps.workflow-variables.outputs.metro-cache }}

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
## [23.8.5](https://github.com/invertase/react-native-firebase/compare/v23.8.4...v23.8.5) (2026-01-31)
7+
8+
### Bug Fixes
9+
10+
- **analytics:** verify security_storage consent param is a ConsentStatusString ([#8861](https://github.com/invertase/react-native-firebase/issues/8861)) ([00df346](https://github.com/invertase/react-native-firebase/commit/00df346e6f6249585b752c76e9c3a259045798e9))
11+
- **app-check:** use bridging header instead of Swift module import ([#8867](https://github.com/invertase/react-native-firebase/issues/8867)) ([320ba01](https://github.com/invertase/react-native-firebase/commit/320ba0104f2260a9a1645b70249f3b2e5a2f6358)), closes [#8700](https://github.com/invertase/react-native-firebase/issues/8700) [#8757](https://github.com/invertase/react-native-firebase/issues/8757)
12+
- **messaging, ios:** prioritize delegate call order in willPresentNotification ([#8786](https://github.com/invertase/react-native-firebase/issues/8786)) ([d6f403a](https://github.com/invertase/react-native-firebase/commit/d6f403adcd0333cf9cd8876578aba200be20e8bd))
13+
614
## [23.8.4](https://github.com/invertase/react-native-firebase/compare/v23.8.3...v23.8.4) (2026-01-24)
715

816
### Bug Fixes

codecov.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
codecov:
22
notify:
3-
require_ci_to_pass: yes
3+
require_ci_to_pass: true
44

55
coverage:
6-
precision: 2
76
round: up
8-
range: "40...100"
7+
range: '40...100'
98

109
status:
11-
project: yes
12-
patch: yes
10+
project:
11+
default:
12+
informational: true
13+
patch: true
1314
changes: no
1415

1516
comment:
16-
layout: "header, diff"
17+
layout: 'header, diff'
1718
behavior: default
18-
require_changes: no
19+
require_changes: false
1920
after_n_builds: 3

docs/app-check/usage/index.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,23 @@ For instructions on how to generate required keys and register an app for the de
8989
9090
You must call initialize the AppCheck module prior to calling any firebase back-end services for App Check to function.
9191

92+
#### All react-native >= 0.77 with AppDelegate.swift
93+
94+
The AppCheck pod does not define a module map for integration, so importing it in the Swift file does not work.
95+
You need to alter the bridging header file that should be in `<your project name>/ios/<your project-name>-Bridging-Header.h`
96+
97+
You will need to add the line indicated in the example below:
98+
99+
```diff
100+
//
101+
// Use this file to import your target's public headers that you would like to expose to Swift.
102+
//
103+
104+
+ #import "RNFBAppCheckModule.h" // <-- new for AppCheck to work
105+
```
106+
107+
After doing that, follow the instructions below to add AppCheck initialization to your `AppDelegate.swift` file depending on the react-native version you use.
108+
92109
#### Configure AppCheck with iOS credentials (react-native 0.79+)
93110

94111
To do that, edit your `ios/ProjectName/AppDelegate.swift` and add the following two lines:
@@ -98,7 +115,6 @@ And within your existing `didFinishLaunchingWithOptions` method, add the followi
98115

99116
```diff
100117
import UIKit
101-
+ import RNFBAppCheck // <-- This is the import for AppCheck to work
102118
+ import FirebaseCore // <-- From App/Core integration, no other Firebase items needed
103119
import React
104120
import React_RCTAppDelegate

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,6 @@
7676
"userUrlFormat": "{{host}}/{{user}}"
7777
},
7878
"ignoreChanges": ["**/docs/**", "**/.github/**", "**/e2e/**", "**/tests/**"],
79-
"version": "23.8.4",
79+
"version": "23.8.5",
8080
"$schema": "node_modules/lerna/schemas/lerna-schema.json"
8181
}

packages/ai/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
## [23.8.5](https://github.com/invertase/react-native-firebase/compare/v23.8.4...v23.8.5) (2026-01-31)
7+
8+
**Note:** Version bump only for package @react-native-firebase/ai
9+
610
## [23.8.4](https://github.com/invertase/react-native-firebase/compare/v23.8.3...v23.8.4) (2026-01-24)
711

812
### Bug Fixes

packages/ai/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@react-native-firebase/ai",
3-
"version": "23.8.4",
3+
"version": "23.8.5",
44
"author": "Invertase <oss@invertase.io> (http://invertase.io)",
55
"description": "React Native Firebase - Firebase AI is a fully-managed, unified AI development platform for building and using generative AI",
66
"main": "./dist/module/index.js",
@@ -26,15 +26,15 @@
2626
"generative-ai"
2727
],
2828
"peerDependencies": {
29-
"@react-native-firebase/app": "23.8.4"
29+
"@react-native-firebase/app": "23.8.5"
3030
},
3131
"publishConfig": {
3232
"access": "public",
3333
"provenance": true
3434
},
3535
"devDependencies": {
36-
"@react-native-firebase/app-check": "23.8.4",
37-
"@react-native-firebase/auth": "23.8.4",
36+
"@react-native-firebase/app-check": "23.8.5",
37+
"@react-native-firebase/auth": "23.8.5",
3838
"@types/text-encoding": "^0.0.40",
3939
"react-native-builder-bob": "^0.40.17",
4040
"typescript": "^5.9.3"

packages/analytics/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
## [23.8.5](https://github.com/invertase/react-native-firebase/compare/v23.8.4...v23.8.5) (2026-01-31)
7+
8+
### Bug Fixes
9+
10+
- **analytics:** verify security_storage consent param is a ConsentStatusString ([#8861](https://github.com/invertase/react-native-firebase/issues/8861)) ([00df346](https://github.com/invertase/react-native-firebase/commit/00df346e6f6249585b752c76e9c3a259045798e9))
11+
612
## [23.8.4](https://github.com/invertase/react-native-firebase/compare/v23.8.3...v23.8.4) (2026-01-24)
713

814
### Bug Fixes

0 commit comments

Comments
 (0)