Skip to content

Commit bddc177

Browse files
committed
Merge branch 'master' of github.com:firebase/firebase-js-sdk into markduckworth/sum-avg-3
2 parents 1038b7b + f5aec7b commit bddc177

File tree

266 files changed

+8611
-1063
lines changed

Some content is hidden

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

266 files changed

+8611
-1063
lines changed

.changeset/brown-beers-tease.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.changeset/dry-cats-lick.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/auth': patch
3+
---
4+
5+
Increase the popup poller timeout to 8s to support blocking functions + Firefox

.changeset/friendly-ads-yell.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.changeset/grumpy-bees-shake.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/firestore": patch
3+
---
4+
5+
Fixed stack overflow caused by deeply nested server timestamps.

.changeset/olive-cycles-count.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'firebase': minor
3+
'@firebase/firestore': minor
4+
---
5+
6+
Introduces a new LRU garbage document collector for memory cache.

.changeset/plenty-radios-look.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.changeset/silent-islands-fix.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/analytics': minor
3+
'firebase': minor
4+
---
5+
6+
Add method `getGoogleAnalyticsClientId()` to retrieve an unique identifier for a web client. This allows users to log purchase and other events from their backends using Google Analytics 4 Measurement Protocol and to have those events be connected to actions taken on the client within their Firebase web app. `getGoogleAnalyticsClientId()` will simplify this event recording process.

.changeset/sixty-buckets-repeat.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/strong-ghosts-compare.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/webchannel-wrapper': patch
3+
---
4+
5+
Make webchannel-wrapper exports Node-ESM-friendly.

.changeset/swift-eels-change.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@firebase/webchannel-wrapper': minor
3+
'@firebase/firestore': minor
4+
'firebase': minor
5+
---
6+
7+
Implemented an optimization in the local cache synchronization logic that reduces the number of billed document reads when documents were deleted on the server while the client was not actively listening to the query (e.g. while the client was offline).

.changeset/wicked-tomatoes-smoke.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@firebase/app-check": minor
3+
"firebase": minor
4+
---
5+
6+
Add new limited use token method to App Check

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ packages/app-check-interop-types @hsubox76 @firebase/jssdk-global-approvers
9696
# Documentation Changes
9797
packages/firebase/index.d.ts @egilmorez @firebase/jssdk-global-approvers
9898
scripts/docgen/content-sources/ @egilmorez @firebase/jssdk-global-approvers
99-
docs-devsite/ @egilmorez @markarndt
99+
docs-devsite/ @egilmorez @markarndt @kevinthecheung
100100

101101
# Changeset
102102
.changeset @firebase/jssdk-changeset-approvers @firebase/firestore-js-team @firebase/jssdk-global-approvers

.github/workflows/canary-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
# Canary release script requires git history and tags.
1919
fetch-depth: 0
2020
- name: Set up Node (14)
21-
uses: actions/setup-node@v2
21+
uses: actions/setup-node@v3
2222
with:
2323
node-version: 14.x
2424
- name: Yarn install

.github/workflows/check-changeset.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
# This makes Actions fetch all Git history so check_changeset script can diff properly.
2222
fetch-depth: 0
2323
- name: Set up Node (14)
24-
uses: actions/setup-node@v2
24+
uses: actions/setup-node@v3
2525
with:
2626
node-version: 14.x
2727
- name: Yarn install

.github/workflows/check-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
# get all history for the diff
1515
fetch-depth: 0
1616
- name: Set up Node (14)
17-
uses: actions/setup-node@v2
17+
uses: actions/setup-node@v3
1818
with:
1919
node-version: 14.x
2020
- name: Yarn install

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
# This makes Actions fetch all Git history so run-changed script can diff properly.
1515
fetch-depth: 0
1616
- name: Set up Node (14)
17-
uses: actions/setup-node@v2
17+
uses: actions/setup-node@v3
1818
with:
1919
node-version: 14.x
2020
- name: Yarn install

.github/workflows/deploy-config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
# This makes Actions fetch all Git history so run-changed script can diff properly.
2222
fetch-depth: 0
2323
- name: Set up Node (14)
24-
uses: actions/setup-node@v2
24+
uses: actions/setup-node@v3
2525
with:
2626
node-version: 14.x
2727
- name: Yarn install

.github/workflows/e2e-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- name: Checkout Repo
1919
uses: actions/checkout@master
2020
- name: Set up Node (14)
21-
uses: actions/setup-node@v2
21+
uses: actions/setup-node@master
2222
with:
2323
node-version: 14.x
2424
- name: install Chrome stable

.github/workflows/format.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
# get all history for the diff
1919
fetch-depth: 0
2020
- name: Set up Node (14)
21-
uses: actions/setup-node@v2
21+
uses: actions/setup-node@v3
2222
with:
2323
node-version: 14.x
2424
- name: Yarn install

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ jobs:
2323
if: github.event_name == 'push' || !(github.event.pull_request.head.repo.fork)
2424
runs-on: ubuntu-latest
2525
steps:
26-
- uses: actions/checkout@v2
27-
- uses: actions/setup-node@v2
26+
- uses: actions/checkout@v3
27+
- uses: actions/setup-node@v3
2828
with:
2929
node-version: 14.x
3030
- uses: 'google-github-actions/auth@v0'
@@ -40,8 +40,8 @@ jobs:
4040
if: github.event_name == 'push' || !(github.event.pull_request.head.repo.fork)
4141
runs-on: ubuntu-latest
4242
steps:
43-
- uses: actions/checkout@v2
44-
- uses: actions/setup-node@v2
43+
- uses: actions/checkout@v3
44+
- uses: actions/setup-node@v3
4545
with:
4646
node-version: 14.x
4747
- uses: 'google-github-actions/auth@v0'

.github/workflows/lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ jobs:
88
runs-on: ubuntu-latest
99

1010
steps:
11-
- uses: actions/checkout@v2
11+
- uses: actions/checkout@v3
1212
- name: Set up Node (14)
13-
uses: actions/setup-node@v2
13+
uses: actions/setup-node@v3
1414
with:
1515
node-version: 14.x
1616
- name: yarn install

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
# Canary release script requires git history and tags.
2222
fetch-depth: 0
2323
- name: Set up Node (14)
24-
uses: actions/setup-node@v2
24+
uses: actions/setup-node@v3
2525
with:
2626
node-version: 14.x
2727
- name: Yarn install

.github/workflows/release-prod.yml

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

2020
steps:
2121
- name: Set up Node (14)
22-
uses: actions/setup-node@v2
22+
uses: actions/setup-node@v3
2323
with:
2424
node-version: 14.x
2525
- name: Checkout release branch (with history)

.github/workflows/release-staging.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
if: github.event.inputs.release-branch == 'release' || endsWith(github.event.inputs.release-branch, '-releasebranch')
2626
steps:
2727
- name: Set up Node (14)
28-
uses: actions/setup-node@v2
28+
uses: actions/setup-node@v3
2929
with:
3030
node-version: 14.x
3131
- name: Merge master into release
@@ -132,14 +132,27 @@ jobs:
132132
-H "Authorization:Bearer $OSS_BOT_GITHUB_TOKEN" \
133133
-d "{\"event_type\":\"staging-tests\", \"client_payload\":{\"versionOrTag\":\"$VERSION_OR_TAG\"}}" \
134134
https://api.github.com/repos/firebase/firebase-js-sdk/dispatches
135+
- name: Check for changes requiring a reference doc publish
136+
id: docs-check
137+
run: |
138+
LAST_PUBLISHED_VERSION=$(npm info firebase version)
139+
git diff --exit-code firebase@$LAST_PUBLISHED_VERSION HEAD docs-devsite
140+
- name: No diff, docs not needed
141+
if: ${{ success() }}
142+
run: echo "DOCS_NEEDED=false" >> $GITHUB_STATE
143+
- name: Diff returned something, docs are needed
144+
if: ${{ failure() }}
145+
run: echo "DOCS_NEEDED=true" >> $GITHUB_STATE
135146
- name: Log to release tracker
136147
# Sends release information to cloud functions endpoint of release tracker.
148+
if: ${{ always() }}
137149
run: |
138150
DATE=$(date +'%m/%d/%Y')
139151
BASE_VERSION=${{ steps.get-version.outputs.BASE_VERSION }}
140152
STAGING_VERSION=${{ steps.get-version.outputs.STAGING_VERSION }}
141153
OPERATOR=${{ github.actor }}
142154
RELEASE_TRACKER_URL=${{ secrets.RELEASE_TRACKER_URL }}
155+
DOCS_NEEDED=${{ steps.docs-check.outputs.DOCS_NEEDED }}
143156
curl -X POST -H "Content-Type:application/json" \
144-
-d "{\"version\":\"$BASE_VERSION\",\"tag\":\"$STAGING_VERSION\",\"date\":\"$DATE\",\"operator\":\"$OPERATOR\"}" \
157+
-d "{\"version\":\"$BASE_VERSION\",\"tag\":\"$STAGING_VERSION\",\"date\":\"$DATE\",\"operator\":\"$OPERATOR\",\"docs_needed\":\"$DOCS_NEEDED\"}" \
145158
$RELEASE_TRACKER_URL/logStaging

.github/workflows/test-all.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ jobs:
1919
run: |
2020
sudo apt-get update
2121
sudo apt-get install google-chrome-stable
22-
- uses: actions/checkout@v2
22+
- uses: actions/checkout@v3
2323
- name: Set up Node (16)
24-
uses: actions/setup-node@v2
24+
uses: actions/setup-node@v3
2525
with:
2626
node-version: 16.x
2727
- name: Bump Node memory limit

.github/workflows/test-changed-auth.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,20 @@ jobs:
1414
steps:
1515
# install Chrome first, so the correct version of webdriver can be installed by chromedriver when setting up the repo
1616
- name: install Chrome stable
17+
# Install Chrome version 110.0.5481.177-1 as test starts to fail on version 111.
18+
# We will retry to use the latest, once version 112 becomes stable.
1719
run: |
1820
sudo apt-get update
19-
sudo apt-get install google-chrome-stable
21+
sudo apt-get install wget
22+
sudo wget http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_110.0.5481.177-1_amd64.deb
23+
sudo apt-get install -f ./google-chrome-stable_110.0.5481.177-1_amd64.deb --allow-downgrades
2024
- name: Checkout Repo
2125
uses: actions/checkout@master
2226
with:
2327
# This makes Actions fetch all Git history so run-changed script can diff properly.
2428
fetch-depth: 0
2529
- name: Set up Node (14)
26-
uses: actions/setup-node@v2
30+
uses: actions/setup-node@v3
2731
with:
2832
node-version: 14.x
2933
- name: Bump Node memory limit
@@ -54,7 +58,7 @@ jobs:
5458
# This makes Actions fetch all Git history so run-changed script can diff properly.
5559
fetch-depth: 0
5660
- name: Set up Node (14)
57-
uses: actions/setup-node@v2
61+
uses: actions/setup-node@v3
5862
with:
5963
node-version: 14.x
6064
- name: Bump Node memory limit

.github/workflows/test-changed-fcm-integration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
# This makes Actions fetch all Git history so run-changed script can diff properly.
2424
fetch-depth: 0
2525
- name: Set up Node (14)
26-
uses: actions/setup-node@v2
26+
uses: actions/setup-node@v3
2727
with:
2828
node-version: 14.x
2929
- name: Bump Node memory limit

.github/workflows/test-changed-firestore-integration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
# This makes Actions fetch all Git history so run-changed script can diff properly.
1515
fetch-depth: 0
1616
- name: Set up Node (14)
17-
uses: actions/setup-node@v2
17+
uses: actions/setup-node@v3
1818
with:
1919
node-version: 14.x
2020
- name: install Chrome stable

.github/workflows/test-changed-firestore.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
# This makes Actions fetch all Git history so run-changed script can diff properly.
1515
fetch-depth: 0
1616
- name: Set up Node (14)
17-
uses: actions/setup-node@v2
17+
uses: actions/setup-node@v3
1818
with:
1919
node-version: 14.x
2020
- name: install Chrome stable
@@ -50,7 +50,7 @@ jobs:
5050
# This makes Actions fetch all Git history so run-changed script can diff properly.
5151
fetch-depth: 0
5252
- name: Set up Node (14)
53-
uses: actions/setup-node@v2
53+
uses: actions/setup-node@v3
5454
with:
5555
node-version: 14.x
5656
- name: Bump Node memory limit

.github/workflows/test-changed-misc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
# This makes Actions fetch all Git history so run-changed script can diff properly.
1515
fetch-depth: 0
1616
- name: Set up Node (16)
17-
uses: actions/setup-node@v2
17+
uses: actions/setup-node@v3
1818
with:
1919
node-version: 16.x
2020
- name: install Chrome stable

.github/workflows/test-changed.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
# This makes Actions fetch all Git history so run-changed script can diff properly.
1515
fetch-depth: 0
1616
- name: Set up Node (14)
17-
uses: actions/setup-node@v2
17+
uses: actions/setup-node@v3
1818
with:
1919
node-version: 14.x
2020
- name: install Chrome stable
@@ -45,7 +45,7 @@ jobs:
4545
with:
4646
fetch-depth: 0
4747
- name: Set up Node (14)
48-
uses: actions/setup-node@v2
48+
uses: actions/setup-node@v3
4949
with:
5050
node-version: 14.x
5151
- name: install Firefox stable

.github/workflows/test-firebase-integration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
# This makes Actions fetch all Git history so run-changed script can diff properly.
1515
fetch-depth: 0
1616
- name: Set up Node (14)
17-
uses: actions/setup-node@v2
17+
uses: actions/setup-node@v3
1818
with:
1919
node-version: 14.x
2020
- name: install Chrome stable

.github/workflows/update-api-reports.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
uses: actions/checkout@master
1515
with:
1616
# checkout HEAD commit instead of merge commit
17-
ref: ${{ github.event.pull_request.head.sha }}
17+
ref: ${{ github.event.pull_request.head.ref }}
1818
token: ${{ github.token }}
1919
- name: Set up Node (14)
20-
uses: actions/setup-node@v2
20+
uses: actions/setup-node@v3
2121
with:
2222
node-version: 14.x
2323
- name: Yarn install

common/api-review/analytics.api.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,9 @@ export interface EventParams {
133133
// @public
134134
export function getAnalytics(app?: FirebaseApp): Analytics;
135135

136+
// @public
137+
export function getGoogleAnalyticsClientId(analyticsInstance: Analytics): Promise<string>;
138+
136139
// @public
137140
export interface GtagConfigParams {
138141
// (undocumented)

common/api-review/app-check.api.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ export interface CustomProviderOptions {
6060
getToken: () => Promise<AppCheckToken>;
6161
}
6262

63+
// @public
64+
export function getLimitedUseToken(appCheckInstance: AppCheck): Promise<AppCheckTokenResult>;
65+
6366
// @public
6467
export function getToken(appCheckInstance: AppCheck, forceRefresh?: boolean): Promise<AppCheckTokenResult>;
6568

0 commit comments

Comments
 (0)