Skip to content

Commit ae525ce

Browse files
committed
Merge branch 'main' into mila/fix-string-comparison
2 parents cf9d54a + d1c6e31 commit ae525ce

File tree

202 files changed

+5830
-4603
lines changed

Some content is hidden

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

202 files changed

+5830
-4603
lines changed

.changeset/chilled-clocks-remember.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@firebase/database": patch
3+
'firebase': patch
4+
---
5+
6+
Fix a potential for a negative offset when calculating last reconnect times. This could cause lengthy reconnect delays in some scenarios. Fixes #8718.

.changeset/config.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
"baseBranch": "main",
1111
"updateInternalDependencies": "patch",
1212
"ignore": [
13-
"firebase-namespace-integration-test",
1413
"firebase-firestore-integration-test",
1514
"firebase-messaging-integration-test",
1615
"firebase-compat-interop-test",

.changeset/kind-dingos-work.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/performance': minor
3+
'firebase': minor
4+
---
5+
6+
Collect web vital metrics (INP,CLS,LCP) as part of page load event.

.changeset/kind-pets-sin.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
'@firebase/app': minor
3+
'firebase': minor
4+
'@firebase/data-connect': patch
5+
'@firebase/firestore': patch
6+
'@firebase/functions': patch
7+
'@firebase/database': patch
8+
'@firebase/vertexai': patch
9+
'@firebase/storage': patch
10+
'@firebase/auth': patch
11+
---
12+
13+
`FirebaseServerApp` can now be initalized with an App Check token instead of invoking the App Check
14+
`getToken` method. This should unblock the use of App Check enforced products in SSR environments
15+
where the App Check SDK cannot be initialized.

.changeset/yellow-rice-kneel.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/app': patch
3+
---
4+
5+
Discard the earliest heartbeat once a limit of 30 heartbeats in storage has been hit.

.github/CODEOWNERS

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ packages/messaging-interop-types @zwu52 @firebase/jssdk-global-approvers
3737
integration/messaging @zwu52 @firebase/jssdk-global-approvers
3838

3939
# Auth Code
40-
packages/auth @lisajian @Xiaoshouzi-gh @sam-gc @firebase/jssdk-global-approvers
41-
packages/auth-compat @lisajian @Xiaoshouzi-gh @sam-gc @firebase/jssdk-global-approvers
42-
packages/auth-types @lisajian @Xiaoshouzi-gh @sam-gc @firebase/jssdk-global-approvers
43-
packages/auth-interop-types @lisajian @Xiaoshouzi-gh @sam-gc @firebase/jssdk-global-approvers
40+
packages/auth @lisajian @Xiaoshouzi-gh @sam-gc @pashanka @mansisampat @nhienlam @firebase/jssdk-global-approvers
41+
packages/auth-compat @lisajian @Xiaoshouzi-gh @sam-gc @pashanka @mansisampat @nhienlam @firebase/jssdk-global-approvers
42+
packages/auth-types @lisajian @Xiaoshouzi-gh @sam-gc @pashanka @mansisampat @nhienlam @firebase/jssdk-global-approvers
43+
packages/auth-interop-types @lisajian @Xiaoshouzi-gh @sam-gc @pashanka @mansisampat @nhienlam @firebase/jssdk-global-approvers
4444

4545
# Testing Code
4646
packages/rules-unit-testing @avolkovi @sam-gc @yuchenshi @firebase/jssdk-global-approvers
@@ -51,9 +51,9 @@ packages/installations-compat @avolkovi @yoyomyo @firebase/jssdk-global-approver
5151
packages/installations-types @avolkovi @yoyomyo @firebase/jssdk-global-approvers
5252

5353
# Performance Code
54-
packages/performance @jposuna @firebase/jssdk-global-approvers
55-
packages/performance-compat @jposuna @firebase/jssdk-global-approvers
56-
packages/performance-types @jposuna @firebase/jssdk-global-approvers
54+
packages/performance @visumickey @firebase/jssdk-global-approvers
55+
packages/performance-compat @visumickey @firebase/jssdk-global-approvers
56+
packages/performance-types @visumickey @firebase/jssdk-global-approvers
5757

5858
# Analytics Code
5959
packages/analytics @hsubox76 @firebase/jssdk-global-approvers

.github/workflows/canary-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
# Canary release script requires git history and tags.
3333
fetch-depth: 0
3434
- name: Set up Node (20)
35-
uses: actions/setup-node@v3
35+
uses: actions/setup-node@v4
3636
with:
3737
node-version: 22.10.0
3838
- name: Yarn install

.github/workflows/check-changeset.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
# This makes Actions fetch all Git history so check_changeset script can diff properly.
3636
fetch-depth: 0
3737
- name: Set up Node (20)
38-
uses: actions/setup-node@v3
38+
uses: actions/setup-node@v4
3939
with:
4040
node-version: 22.10.0
4141
- name: Yarn install

.github/workflows/check-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
# get all history for the diff
2929
fetch-depth: 0
3030
- name: Set up Node (20)
31-
uses: actions/setup-node@v3
31+
uses: actions/setup-node@v4
3232
with:
3333
node-version: 22.10.0
3434
- name: Yarn install

.github/workflows/check-pkg-paths.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
# This makes Actions fetch all Git history so run-changed script can diff properly.
2929
fetch-depth: 0
3030
- name: Set up Node (20)
31-
uses: actions/setup-node@v3
31+
uses: actions/setup-node@v4
3232
with:
3333
node-version: 22.10.0
3434
- name: Yarn install

.github/workflows/check-vertexai-responses.yml

Lines changed: 41 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -19,36 +19,45 @@ on: pull_request
1919
jobs:
2020
check-version:
2121
runs-on: ubuntu-latest
22+
# Allow GITHUB_TOKEN to have write permissions
23+
permissions:
24+
contents: write
25+
pull-requests: write
2226
steps:
23-
- uses: actions/checkout@v4
24-
- name: Clone mock responses
25-
run: scripts/update_vertexai_responses.sh
26-
- name: Find cloned and latest versions
27-
run: |
28-
CLONED=$(git describe --tags)
29-
LATEST=$(git tag --sort=v:refname | tail -n1)
30-
echo "cloned_tag=$CLONED" >> $GITHUB_ENV
31-
echo "latest_tag=$LATEST" >> $GITHUB_ENV
32-
working-directory: packages/vertexai/test-utils/vertexai-sdk-test-data
33-
- name: Find comment from previous run if exists
34-
uses: peter-evans/find-comment@3eae4d37986fb5a8592848f6a574fdf654e61f9e
35-
id: fc
36-
with:
37-
issue-number: ${{github.event.number}}
38-
body-includes: Vertex AI Mock Responses Check
39-
- name: Comment on PR if newer version is available
40-
if: ${{env.cloned_tag != env.latest_tag && !steps.fc.outputs.comment-id}}
41-
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043
42-
with:
43-
issue-number: ${{github.event.number}}
44-
body: >
45-
### Vertex AI Mock Responses Check :warning:
46-
47-
A newer major version of the mock responses for Vertex AI unit tests is available.
48-
[update_vertexai_responses.sh](https://github.com/firebase/firebase-js-sdk/blob/main/scripts/update_vertexai_responses.sh)
49-
should be updated to clone the latest version of the responses: `${{env.latest_tag}}`
50-
- name: Delete comment when version gets updated
51-
if: ${{env.cloned_tag == env.latest_tag && steps.fc.outputs.comment-id}}
52-
uses: detomarco/delete-comment@850734dd44d8b15fef55b45252613b903ceb06f0
53-
with:
54-
comment-id: ${{ steps.fc.outputs.comment-id }}
27+
- uses: actions/checkout@v4
28+
- name: Clone mock responses
29+
run: scripts/update_vertexai_responses.sh
30+
- name: Find cloned and latest versions
31+
run: |
32+
CLONED=$(git describe --tags)
33+
LATEST=$(git tag --sort=v:refname | tail -n1)
34+
echo "cloned_tag=$CLONED" >> $GITHUB_ENV
35+
echo "latest_tag=$LATEST" >> $GITHUB_ENV
36+
working-directory: packages/vertexai/test-utils/vertexai-sdk-test-data
37+
- name: Find comment from previous run if exists
38+
uses: peter-evans/find-comment@v3
39+
id: fc
40+
with:
41+
issue-number: ${{github.event.number}}
42+
body-includes: Vertex AI Mock Responses Check
43+
- name: Comment on PR if newer version is available
44+
if: ${{env.cloned_tag != env.latest_tag && !steps.fc.outputs.comment-id}}
45+
uses: peter-evans/create-or-update-comment@v4
46+
with:
47+
issue-number: ${{github.event.number}}
48+
body: >
49+
### Vertex AI Mock Responses Check :warning:
50+
51+
A newer major version of the mock responses for Vertex AI unit tests is available.
52+
[update_vertexai_responses.sh](https://github.com/firebase/firebase-js-sdk/blob/main/scripts/update_vertexai_responses.sh)
53+
should be updated to clone the latest version of the responses: `${{env.latest_tag}}`
54+
- name: Delete comment when version gets updated
55+
if: ${{env.cloned_tag == env.latest_tag && steps.fc.outputs.comment-id}}
56+
uses: actions/github-script@v7
57+
with:
58+
script: |
59+
github.rest.issues.deleteComment({
60+
owner: context.repo.owner,
61+
repo: context.repo.repo,
62+
comment_id: ${{ steps.fc.outputs.comment-id }},
63+
})

.github/workflows/deploy-config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
# This makes Actions fetch all Git history so run-changed script can diff properly.
3737
fetch-depth: 0
3838
- name: Set up node (20)
39-
uses: actions/setup-node@v3
39+
uses: actions/setup-node@v4
4040
with:
4141
node-version: 22.10.0
4242
- name: Yarn install

.github/workflows/e2e-test.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ jobs:
5050
TEST_ACCOUNT: ${{ secrets.TEST_ACCOUNT }}
5151
run: |
5252
echo "export const config = $PROJECT_CONFIG; export const testAccount = $TEST_ACCOUNT" > firebase-config.js
53+
- name: Poll npm until version to test is available for install
54+
run: |
55+
echo "Polling npm for firebase@${{ github.event.client_payload.versionOrTag }}"
56+
node ../scripts/release/poll-npm-publish.js
57+
env:
58+
VERSION: ${{ github.event.client_payload.versionOrTag }}
5359
- name: Yarn install
5460
run: |
5561
echo "Installing firebase@${{ github.event.client_payload.versionOrTag }}"

.github/workflows/format.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
# get all history for the diff
3333
fetch-depth: 0
3434
- name: Set up node (20)
35-
uses: actions/setup-node@v3
35+
uses: actions/setup-node@v4
3636
with:
3737
node-version: 22.10.0
3838
- name: Yarn install

.github/workflows/health-metrics-pull-request.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ jobs:
3838
if: (github.event_name == 'push' || !(github.event.pull_request.head.repo.fork)) && (github.actor != 'dependabot[bot]')
3939
runs-on: ubuntu-latest
4040
steps:
41-
- uses: actions/checkout@v3
42-
- uses: actions/setup-node@v3
41+
- uses: actions/checkout@v4
42+
- uses: actions/setup-node@v4
4343
with:
4444
node-version: 22.10.0
4545
- uses: 'google-github-actions/auth@v0'
@@ -55,8 +55,8 @@ jobs:
5555
if: (github.event_name == 'push' || !(github.event.pull_request.head.repo.fork)) && (github.actor != 'dependabot[bot]')
5656
runs-on: ubuntu-latest
5757
steps:
58-
- uses: actions/checkout@v3
59-
- uses: actions/setup-node@v3
58+
- uses: actions/checkout@v4
59+
- uses: actions/setup-node@v4
6060
with:
6161
node-version: 22.10.0
6262
- uses: 'google-github-actions/auth@v0'

.github/workflows/lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ jobs:
2222
runs-on: ubuntu-latest
2323

2424
steps:
25-
- uses: actions/checkout@v3
25+
- uses: actions/checkout@v4
2626
- name: Set up node (20)
27-
uses: actions/setup-node@v3
27+
uses: actions/setup-node@v4
2828
with:
2929
node-version: 22.10.0
3030
- name: yarn install

.github/workflows/merge-release-branch.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
run: |
3838
echo "Merging release ${{ steps.get-version.outputs.RELEASE_VERSION }}"
3939
- name: Merge to main
40-
uses: actions/github-script@v6
40+
uses: actions/github-script@v7
4141
with:
4242
github-token: ${{ secrets.GITHUB_TOKEN }}
4343
script: |

.github/workflows/prerelease-manual-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
# Canary release script requires git history and tags.
3636
fetch-depth: 0
3737
- name: Set up node (20)
38-
uses: actions/setup-node@v3
38+
uses: actions/setup-node@v4
3939
with:
4040
node-version: 22.10.0
4141
- name: Yarn install

.github/workflows/release-prod.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333

3434
steps:
3535
- name: Set up node (20)
36-
uses: actions/setup-node@v3
36+
uses: actions/setup-node@v4
3737
with:
3838
node-version: 22.10.0
3939
- name: Checkout release branch (with history)

.github/workflows/release-staging.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ jobs:
4747
if: github.event.inputs.release-branch == 'release' || endsWith(github.event.inputs.release-branch, '-releasebranch')
4848
steps:
4949
- name: Set up node (20)
50-
uses: actions/setup-node@v3
50+
uses: actions/setup-node@v4
5151
with:
5252
node-version: 22.10.0
5353
- name: Merge main into release
54-
uses: actions/github-script@v6
54+
uses: actions/github-script@v7
5555
with:
5656
github-token: ${{ secrets.OSS_BOT_GITHUB_TOKEN }}
5757
script: |

.github/workflows/test-all.yml

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ env:
2323
# the behavior to use the new URLs.
2424
CHROMEDRIVER_CDNURL: https://googlechromelabs.github.io/
2525
CHROMEDRIVER_CDNBINARIESURL: https://storage.googleapis.com/chrome-for-testing-public
26-
CHROME_VALIDATED_VERSION: linux-120.0.6099.71
27-
CHROME_VERSION_MISMATCH_MESSAGE: "The Chrome version doesn't match the previously validated version. Consider updating CHROME_VALIDATED_VERSION in the GitHub workflow if tests pass."
26+
CHROME_VALIDATED_VERSION: linux-132.0.6834.110
27+
CHROME_VERSION_MISMATCH_MESSAGE: "The Chrome version doesn't match the previously validated version. Consider updating CHROME_VALIDATED_VERSION in the GitHub workflow if tests pass, or rollback the installed Chrome version if tests fail."
2828
artifactRetentionDays: 14
2929
# Bump Node memory limit
3030
NODE_OPTIONS: "--max_old_space_size=4096"
@@ -39,9 +39,9 @@ jobs:
3939
- name: install Chrome stable
4040
run: |
4141
npx @puppeteer/browsers install chrome@stable
42-
- uses: actions/checkout@v3
42+
- uses: actions/checkout@v4
4343
- name: Set up Node (20)
44-
uses: actions/setup-node@v3
44+
uses: actions/setup-node@v4
4545
with:
4646
node-version: 22.10.0
4747
- name: Test setup and yarn install
@@ -57,7 +57,7 @@ jobs:
5757
gzip build.tar
5858
- name: Upload build archive
5959
if: ${{ !cancelled() }}
60-
uses: actions/upload-artifact@v3
60+
uses: actions/upload-artifact@v4
6161
with:
6262
name: build.tar.gz
6363
path: build.tar.gz
@@ -74,13 +74,13 @@ jobs:
7474
run: |
7575
npx @puppeteer/browsers install chrome@stable
7676
- name: Download build archive
77-
uses: actions/download-artifact@v3
77+
uses: actions/download-artifact@v4
7878
with:
7979
name: build.tar.gz
8080
- name: Unzip build artifact
8181
run: tar xf build.tar.gz
8282
- name: Set up Node (20)
83-
uses: actions/setup-node@v3
83+
uses: actions/setup-node@v4
8484
with:
8585
node-version: 22.10.0
8686
- name: Test setup and yarn install
@@ -117,21 +117,17 @@ jobs:
117117
npx @puppeteer/browsers install chrome@stable
118118
chromeVersionString=$(ls chrome)
119119
if [ "$CHROME_VALIDATED_VERSION" != "$chromeVersionString" ]; then
120-
echo "::warning ::The Chrome version doesn't match the previously validated version. Consider updating CHROME_VALIDATED_VERSION in the GitHub workflow if tests pass."
120+
echo "::warning ::${CHROME_VERSION_MISMATCH_MESSAGE}"
121121
echo "::warning ::Previously validated version: ${CHROME_VALIDATED_VERSION} vs. Installed version: $chromeVersionString"
122-
echo "CHROME_VERSION_NOTES=$CHROME_VERSION_MISMATCH_MESSAGE" >> "$GITHUB_ENV"
123122
fi
124-
- name: Test Evn TEMP
125-
run: |
126-
echo $CHROME_VERSION_NOTES=$CHROME_VERSION_MISMATCH_MESSAGE
127123
- name: Download build archive
128-
uses: actions/download-artifact@v3
124+
uses: actions/download-artifact@v4
129125
with:
130126
name: build.tar.gz
131127
- name: Unzip build artifact
132128
run: tar xf build.tar.gz
133129
- name: Set up Node (20)
134-
uses: actions/setup-node@v3
130+
uses: actions/setup-node@v4
135131
with:
136132
node-version: 22.10.0
137133
- name: Test setup and yarn install
@@ -165,13 +161,13 @@ jobs:
165161
run: |
166162
npx @puppeteer/browsers install chrome@stable
167163
- name: Download build archive
168-
uses: actions/download-artifact@v3
164+
uses: actions/download-artifact@v4
169165
with:
170166
name: build.tar.gz
171167
- name: Unzip build artifact
172168
run: tar xf build.tar.gz
173169
- name: Set up Node (20)
174-
uses: actions/setup-node@v3
170+
uses: actions/setup-node@v4
175171
with:
176172
node-version: 22.10.0
177173
- name: Test setup and yarn install
@@ -209,13 +205,13 @@ jobs:
209205
run: |
210206
npx @puppeteer/browsers install chrome@stable
211207
- name: Download build archive
212-
uses: actions/download-artifact@v3
208+
uses: actions/download-artifact@v4
213209
with:
214210
name: build.tar.gz
215211
- name: Unzip build artifact
216212
run: tar xf build.tar.gz
217213
- name: Set up Node (20)
218-
uses: actions/setup-node@v3
214+
uses: actions/setup-node@v4
219215
with:
220216
node-version: 22.10.0
221217
- run: cp config/ci.config.json config/project.json

0 commit comments

Comments
 (0)