Skip to content

Commit cc4a7b9

Browse files
Merge master into release
2 parents b58a617 + 3f3f536 commit cc4a7b9

37 files changed

+782
-414
lines changed

.changeset/eighty-roses-appear.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/firestore": patch
3+
---
4+
5+
Fixed issue where count and lite API queries did not work with named databases.

.changeset/new-bananas-decide.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@firebase/firestore": minor
3+
"firebase": minor
4+
---
5+
6+
Update the grpc dependency to the latest version.

.changeset/odd-bats-hug.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/auth': patch
3+
---
4+
5+
Unpin `@react-native-async-storage/async-storage` dependency to give users more control over the exact version.

.changeset/pretty-donkeys-brush.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@firebase/database-compat": patch
3+
"@firebase/database": patch
4+
---
5+
6+
Included `initStandalone` as an internal method to RTDB.

.github/workflows/test-all.yml

+36-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ jobs:
172172
run: echo "FIREBASE_CI_TEST_START_TIME=$(date +%s)" >> $GITHUB_ENV
173173
- name: Run unit tests
174174
run: |
175-
xvfb-run yarn lerna run --concurrency 4 test:ci --scope '{@firebase/firestore*,firebase-firestore-integration-test}'
175+
xvfb-run yarn lerna run --concurrency 4 test:ci --scope '@firebase/firestore*'
176176
node scripts/print_test_logs.js
177177
env:
178178
FIREBASE_TOKEN: ${{ secrets.FIREBASE_CLI_TOKEN }}
@@ -184,3 +184,38 @@ jobs:
184184
github-token: ${{ secrets.GITHUB_TOKEN }}
185185
path-to-lcov: ./lcov-all.info
186186
continue-on-error: true
187+
188+
test-firestore-integration:
189+
name: Firestore Integration Tests
190+
needs: build
191+
runs-on: ubuntu-latest
192+
steps:
193+
# install Chrome so the correct version of webdriver can be installed by chromedriver when setting up the repo
194+
- name: install Chrome stable
195+
run: |
196+
sudo apt-get update
197+
sudo apt-get install google-chrome-stable
198+
- name: Download build archive
199+
uses: actions/download-artifact@v3
200+
with:
201+
name: build.tar.gz
202+
- name: Unzip build artifact
203+
run: tar xf build.tar.gz
204+
- name: Set up Node (16)
205+
uses: actions/setup-node@v3
206+
with:
207+
node-version: 16.x
208+
- name: Bump Node memory limit
209+
run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV
210+
- name: Test setup and yarn install
211+
run: |
212+
cp config/ci.config.json config/project.json
213+
yarn
214+
- name: Set start timestamp env var
215+
run: echo "FIREBASE_CI_TEST_START_TIME=$(date +%s)" >> $GITHUB_ENV
216+
- name: Run unit tests
217+
run: |
218+
xvfb-run yarn lerna run --concurrency 4 test:ci --scope firebase-firestore-integration-test
219+
node scripts/print_test_logs.js
220+
env:
221+
FIREBASE_TOKEN: ${{ secrets.FIREBASE_CLI_TOKEN }}

config/functions/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"description": "Cloud Functions for Firebase",
44
"dependencies": {
55
"cors": "2.8.5",
6-
"firebase-admin": "11.6.0",
6+
"firebase-admin": "11.9.0",
77
"firebase-functions": "3.24.1"
88
},
99
"private": true,

docs-devsite/messaging_.fcmoptions.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ https://github.com/firebase/firebase-js-sdk
1010
{% endcomment %}
1111

1212
# FcmOptions interface
13-
Options for features provided by the FCM SDK for Web. See [WebpushFcmOptions](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#webpushfcmoptions)
13+
Options for features provided by the FCM SDK for Web. See [WebpushFcmOptions](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#webpushfcmoptions)<!-- -->.
1414

1515
<b>Signature:</b>
1616

docs-devsite/messaging_.gettokenoptions.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ https://github.com/firebase/firebase-js-sdk
1010
{% endcomment %}
1111

1212
# GetTokenOptions interface
13-
Options for [getToken()](./messaging_.md#gettoken)
13+
Options for [getToken()](./messaging_.md#gettoken)<!-- -->.
1414

1515
<b>Signature:</b>
1616

@@ -22,12 +22,12 @@ export interface GetTokenOptions
2222

2323
| Property | Type | Description |
2424
| --- | --- | --- |
25-
| [serviceWorkerRegistration](./messaging_.gettokenoptions.md#gettokenoptionsserviceworkerregistration) | ServiceWorkerRegistration | The service worker registration for receiving push messaging. If the registration is not provided explicitly, you need to have a <code>firebase-messaging-sw.js</code> at your root location. See [Retrieve the current registration token](https://firebase.google.com/docs/cloud-messaging/js/client#retrieve-the-current-registration-token) for more details. |
26-
| [vapidKey](./messaging_.gettokenoptions.md#gettokenoptionsvapidkey) | string | The public server key provided to push services. It is used to authenticate the push subscribers to receive push messages only from sending servers that hold the corresponding private key. If it is not provided, a default VAPID key is used. Note that some push services (Chrome Push Service) require a non-default VAPID key. Therefore, it is recommended to generate and import a VAPID key for your project with [Configure Web Credentials with FCM](https://firebase.google.com/docs/cloud-messaging/js/client#configure_web_credentials_with_fcm)<!-- -->. See [The Web Push Protocol](https://developers.google.com/web/fundamentals/push-notifications/web-push-protocol) for details on web push services. |
25+
| [serviceWorkerRegistration](./messaging_.gettokenoptions.md#gettokenoptionsserviceworkerregistration) | ServiceWorkerRegistration | The service worker registration for receiving push messaging. If the registration is not provided explicitly, you need to have a <code>firebase-messaging-sw.js</code> at your root location. See [Access the registration token](https://firebase.google.com/docs/cloud-messaging/js/client#access_the_registration_token) for more details. |
26+
| [vapidKey](./messaging_.gettokenoptions.md#gettokenoptionsvapidkey) | string | The public server key provided to push services. The key is used to authenticate push subscribers to receive push messages only from sending servers that hold the corresponding private key. If it is not provided, a default VAPID key is used. Note that some push services (Chrome Push Service) require a non-default VAPID key. Therefore, it is recommended to generate and import a VAPID key for your project with [Configure Web Credentials with FCM](https://firebase.google.com/docs/cloud-messaging/js/client#configure_web_credentials_in_your_app)<!-- -->. See [The Web Push Protocol](https://developers.google.com/web/fundamentals/push-notifications/web-push-protocol) for details on web push services. |
2727

2828
## GetTokenOptions.serviceWorkerRegistration
2929

30-
The service worker registration for receiving push messaging. If the registration is not provided explicitly, you need to have a `firebase-messaging-sw.js` at your root location. See [Retrieve the current registration token](https://firebase.google.com/docs/cloud-messaging/js/client#retrieve-the-current-registration-token) for more details.
30+
The service worker registration for receiving push messaging. If the registration is not provided explicitly, you need to have a `firebase-messaging-sw.js` at your root location. See [Access the registration token](https://firebase.google.com/docs/cloud-messaging/js/client#access_the_registration_token) for more details.
3131

3232
<b>Signature:</b>
3333

@@ -37,7 +37,7 @@ serviceWorkerRegistration?: ServiceWorkerRegistration;
3737

3838
## GetTokenOptions.vapidKey
3939

40-
The public server key provided to push services. It is used to authenticate the push subscribers to receive push messages only from sending servers that hold the corresponding private key. If it is not provided, a default VAPID key is used. Note that some push services (Chrome Push Service) require a non-default VAPID key. Therefore, it is recommended to generate and import a VAPID key for your project with [Configure Web Credentials with FCM](https://firebase.google.com/docs/cloud-messaging/js/client#configure_web_credentials_with_fcm)<!-- -->. See [The Web Push Protocol](https://developers.google.com/web/fundamentals/push-notifications/web-push-protocol) for details on web push services.
40+
The public server key provided to push services. The key is used to authenticate push subscribers to receive push messages only from sending servers that hold the corresponding private key. If it is not provided, a default VAPID key is used. Note that some push services (Chrome Push Service) require a non-default VAPID key. Therefore, it is recommended to generate and import a VAPID key for your project with [Configure Web Credentials with FCM](https://firebase.google.com/docs/cloud-messaging/js/client#configure_web_credentials_in_your_app)<!-- -->. See [The Web Push Protocol](https://developers.google.com/web/fundamentals/push-notifications/web-push-protocol) for details on web push services.
4141

4242
<b>Signature:</b>
4343

docs-devsite/messaging_.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ https://github.com/firebase/firebase-js-sdk
1919
| [getMessaging(app)](./messaging_.md#getmessaging) | Retrieves a Firebase Cloud Messaging instance. |
2020
| <b>function(messaging...)</b> |
2121
| [deleteToken(messaging)](./messaging_.md#deletetoken) | Deletes the registration token associated with this [Messaging](./messaging_.messaging.md#messaging_interface) instance and unsubscribes the [Messaging](./messaging_.messaging.md#messaging_interface) instance from the push subscription. |
22-
| [getToken(messaging, options)](./messaging_.md#gettoken) | Subscribes the [Messaging](./messaging_.messaging.md#messaging_interface) instance to push notifications. Returns an Firebase Cloud Messaging registration token that can be used to send push messages to that [Messaging](./messaging_.messaging.md#messaging_interface) instance.<!-- -->If a notification permission isn't already granted, this method asks the user for permission. The returned promise rejects if the user does not allow the app to show notifications. |
22+
| [getToken(messaging, options)](./messaging_.md#gettoken) | Subscribes the [Messaging](./messaging_.messaging.md#messaging_interface) instance to push notifications. Returns a Firebase Cloud Messaging registration token that can be used to send push messages to that [Messaging](./messaging_.messaging.md#messaging_interface) instance.<!-- -->If notification permission isn't already granted, this method asks the user for permission. The returned promise rejects if the user does not allow the app to show notifications. |
2323
| [onMessage(messaging, nextOrObserver)](./messaging_.md#onmessage) | When a push message is received and the user is currently on a page for your origin, the message is passed to the page and an <code>onMessage()</code> event is dispatched with the payload of the push message. |
2424
| <b>function()</b> |
2525
| [isSupported()](./messaging_.md#issupported) | Checks if all required APIs exist in the browser. |
@@ -28,11 +28,11 @@ https://github.com/firebase/firebase-js-sdk
2828

2929
| Interface | Description |
3030
| --- | --- |
31-
| [FcmOptions](./messaging_.fcmoptions.md#fcmoptions_interface) | Options for features provided by the FCM SDK for Web. See [WebpushFcmOptions](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#webpushfcmoptions) |
32-
| [GetTokenOptions](./messaging_.gettokenoptions.md#gettokenoptions_interface) | Options for [getToken()](./messaging_.md#gettoken) |
33-
| [MessagePayload](./messaging_.messagepayload.md#messagepayload_interface) | Message payload that contains the notification payload that is represented with [NotificationPayload](./messaging_.notificationpayload.md#notificationpayload_interface) and the data payload that contains an arbitrary number of key-value pairs sent by developers through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification) |
31+
| [FcmOptions](./messaging_.fcmoptions.md#fcmoptions_interface) | Options for features provided by the FCM SDK for Web. See [WebpushFcmOptions](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#webpushfcmoptions)<!-- -->. |
32+
| [GetTokenOptions](./messaging_.gettokenoptions.md#gettokenoptions_interface) | Options for [getToken()](./messaging_.md#gettoken)<!-- -->. |
33+
| [MessagePayload](./messaging_.messagepayload.md#messagepayload_interface) | Message payload that contains the notification payload that is represented with [NotificationPayload](./messaging_.notificationpayload.md#notificationpayload_interface) and the data payload that contains an arbitrary number of key-value pairs sent by developers through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification)<!-- -->. |
3434
| [Messaging](./messaging_.messaging.md#messaging_interface) | Public interface of the Firebase Cloud Messaging SDK. |
35-
| [NotificationPayload](./messaging_.notificationpayload.md#notificationpayload_interface) | Display notification details. They are sent through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification) |
35+
| [NotificationPayload](./messaging_.notificationpayload.md#notificationpayload_interface) | Display notification details. Details are sent through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification)<!-- -->. |
3636

3737
## getMessaging()
3838

@@ -80,9 +80,9 @@ The promise resolves when the token has been successfully deleted.
8080

8181
## getToken()
8282

83-
Subscribes the [Messaging](./messaging_.messaging.md#messaging_interface) instance to push notifications. Returns an Firebase Cloud Messaging registration token that can be used to send push messages to that [Messaging](./messaging_.messaging.md#messaging_interface) instance.
83+
Subscribes the [Messaging](./messaging_.messaging.md#messaging_interface) instance to push notifications. Returns a Firebase Cloud Messaging registration token that can be used to send push messages to that [Messaging](./messaging_.messaging.md#messaging_interface) instance.
8484

85-
If a notification permission isn't already granted, this method asks the user for permission. The returned promise rejects if the user does not allow the app to show notifications.
85+
If notification permission isn't already granted, this method asks the user for permission. The returned promise rejects if the user does not allow the app to show notifications.
8686

8787
<b>Signature:</b>
8888

@@ -95,7 +95,7 @@ export declare function getToken(messaging: Messaging, options?: GetTokenOptions
9595
| Parameter | Type | Description |
9696
| --- | --- | --- |
9797
| messaging | [Messaging](./messaging_.messaging.md#messaging_interface) | The [Messaging](./messaging_.messaging.md#messaging_interface) instance. |
98-
| options | [GetTokenOptions](./messaging_.gettokenoptions.md#gettokenoptions_interface) | Provides an optional vapid key and an optinoal service worker registration |
98+
| options | [GetTokenOptions](./messaging_.gettokenoptions.md#gettokenoptions_interface) | Provides an optional vapid key and an optional service worker registration. |
9999

100100
<b>Returns:</b>
101101

docs-devsite/messaging_.messagepayload.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ https://github.com/firebase/firebase-js-sdk
1010
{% endcomment %}
1111

1212
# MessagePayload interface
13-
Message payload that contains the notification payload that is represented with [NotificationPayload](./messaging_.notificationpayload.md#notificationpayload_interface) and the data payload that contains an arbitrary number of key-value pairs sent by developers through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification)
13+
Message payload that contains the notification payload that is represented with [NotificationPayload](./messaging_.notificationpayload.md#notificationpayload_interface) and the data payload that contains an arbitrary number of key-value pairs sent by developers through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification)<!-- -->.
1414

1515
<b>Signature:</b>
1616

@@ -24,10 +24,10 @@ export interface MessagePayload
2424
| --- | --- | --- |
2525
| [collapseKey](./messaging_.messagepayload.md#messagepayloadcollapsekey) | string | The collapse key of the message. See [Non-collapsible and collapsible messages](https://firebase.google.com/docs/cloud-messaging/concept-options#collapsible_and_non-collapsible_messages) |
2626
| [data](./messaging_.messagepayload.md#messagepayloaddata) | { \[key: string\]: string; } | Arbitrary key/value payload. |
27-
| [fcmOptions](./messaging_.messagepayload.md#messagepayloadfcmoptions) | [FcmOptions](./messaging_.fcmoptions.md#fcmoptions_interface) | Options for features provided by the FCM SDK for Web. See [WebpushFcmOptions](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#webpushfcmoptions) |
27+
| [fcmOptions](./messaging_.messagepayload.md#messagepayloadfcmoptions) | [FcmOptions](./messaging_.fcmoptions.md#fcmoptions_interface) | Options for features provided by the FCM SDK for Web. See [WebpushFcmOptions](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#webpushfcmoptions)<!-- -->. |
2828
| [from](./messaging_.messagepayload.md#messagepayloadfrom) | string | The sender of this message. |
29-
| [messageId](./messaging_.messagepayload.md#messagepayloadmessageid) | string | The message id of a message. |
30-
| [notification](./messaging_.messagepayload.md#messagepayloadnotification) | [NotificationPayload](./messaging_.notificationpayload.md#notificationpayload_interface) | Display notification details. They are sent through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification) |
29+
| [messageId](./messaging_.messagepayload.md#messagepayloadmessageid) | string | The message ID of a message. |
30+
| [notification](./messaging_.messagepayload.md#messagepayloadnotification) | [NotificationPayload](./messaging_.notificationpayload.md#notificationpayload_interface) | Display notification details. Details are sent through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification)<!-- -->. |
3131

3232
## MessagePayload.collapseKey
3333

@@ -53,7 +53,7 @@ data?: {
5353

5454
## MessagePayload.fcmOptions
5555

56-
Options for features provided by the FCM SDK for Web. See [WebpushFcmOptions](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#webpushfcmoptions)
56+
Options for features provided by the FCM SDK for Web. See [WebpushFcmOptions](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#webpushfcmoptions)<!-- -->.
5757

5858
<b>Signature:</b>
5959

@@ -73,7 +73,7 @@ from: string;
7373

7474
## MessagePayload.messageId
7575

76-
The message id of a message.
76+
The message ID of a message.
7777

7878
<b>Signature:</b>
7979

@@ -83,7 +83,7 @@ messageId: string;
8383

8484
## MessagePayload.notification
8585

86-
Display notification details. They are sent through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification)
86+
Display notification details. Details are sent through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification)<!-- -->.
8787

8888
<b>Signature:</b>
8989

docs-devsite/messaging_.notificationpayload.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ https://github.com/firebase/firebase-js-sdk
1010
{% endcomment %}
1111

1212
# NotificationPayload interface
13-
Display notification details. They are sent through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification)
13+
Display notification details. Details are sent through the [Send API](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#notification)<!-- -->.
1414

1515
<b>Signature:</b>
1616

docs-devsite/messaging_sw.fcmoptions.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ https://github.com/firebase/firebase-js-sdk
1010
{% endcomment %}
1111

1212
# FcmOptions interface
13-
Options for features provided by the FCM SDK for Web. See [WebpushFcmOptions](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#webpushfcmoptions)
13+
Options for features provided by the FCM SDK for Web. See [WebpushFcmOptions](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#webpushfcmoptions)<!-- -->.
1414

1515
<b>Signature:</b>
1616

0 commit comments

Comments
 (0)