Skip to content

Commit b73a0cc

Browse files
Merge master into release
2 parents d92d01e + f018062 commit b73a0cc

File tree

106 files changed

+1538
-1191
lines changed

Some content is hidden

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

106 files changed

+1538
-1191
lines changed

.changeset/chilly-moons-play.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/util': patch
3+
---
4+
5+
fix: browser detection (detect either window or web worker)

.changeset/clever-dryers-double.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/app': patch
3+
'firebase': patch
4+
---
5+
6+
Guard the use of `FinalizationRegistry` in `FirebaseServerApp` initialization based on the availability of `FinalizationRegistry` in the runtime.

.changeset/fifty-mayflies-hug.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/app': patch
3+
---
4+
5+
fix: server app should initialize in web workers

.changeset/flat-scissors-suffer.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/firestore': patch
3+
'firebase': patch
4+
---
5+
6+
Fix persistence multi-tab snapshot listener metadata sync issue.

.changeset/light-cheetahs-arrive.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/vertexai-preview': patch
3+
---
4+
5+
Add a publicly exported `VertexAIError` class.

.changeset/orange-rings-own.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/webchannel-wrapper": patch
3+
---
4+
5+
fix: Fix a typo in the webchannel-wrapper's package.json that affected ems5 exports.

.changeset/silver-crews-build.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
'firebase': patch
3+
'@firebase/app': patch
4+
---
5+
6+
The `FirebaseServerAppSettings.name` field inherited from `FirebaseAppSettings` is now omitted
7+
instead of overloading the value as `undefined`. This fixes a TypeScript compilation error. For more
8+
information, see [GitHub Issue #8336](https://github.com/firebase/firebase-js-sdk/issues/8336).

.github/workflows/canary-deploy.yml

-4
Original file line numberDiff line numberDiff line change
@@ -62,18 +62,14 @@ jobs:
6262
NPM_TOKEN_INSTALLATIONS_TYPES: ${{secrets.NPM_TOKEN_INSTALLATIONS_TYPES}}
6363
NPM_TOKEN_LOGGER: ${{secrets.NPM_TOKEN_LOGGER}}
6464
NPM_TOKEN_MESSAGING: ${{secrets.NPM_TOKEN_MESSAGING}}
65-
NPM_TOKEN_MESSAGING_TYPES: ${{secrets.NPM_TOKEN_MESSAGING_TYPES}}
6665
NPM_TOKEN_PERFORMANCE: ${{secrets.NPM_TOKEN_PERFORMANCE}}
6766
NPM_TOKEN_PERFORMANCE_TYPES: ${{secrets.NPM_TOKEN_PERFORMANCE_TYPES}}
68-
NPM_TOKEN_POLYFILL: ${{secrets.NPM_TOKEN_POLYFILL}}
6967
NPM_TOKEN_REMOTE_CONFIG: ${{secrets.NPM_TOKEN_REMOTE_CONFIG}}
7068
NPM_TOKEN_REMOTE_CONFIG_TYPES: ${{secrets.NPM_TOKEN_REMOTE_CONFIG_TYPES}}
7169
NPM_TOKEN_RULES_UNIT_TESTING: ${{secrets.NPM_TOKEN_RULES_UNIT_TESTING}}
7270
NPM_TOKEN_STORAGE: ${{secrets.NPM_TOKEN_STORAGE}}
7371
NPM_TOKEN_STORAGE_TYPES: ${{secrets.NPM_TOKEN_STORAGE_TYPES}}
74-
NPM_TOKEN_TESTING: ${{secrets.NPM_TOKEN_TESTING}}
7572
NPM_TOKEN_UTIL: ${{secrets.NPM_TOKEN_UTIL}}
76-
NPM_TOKEN_VERTEXAI: ${{secrets.NPM_TOKEN_VERTEXAI}}
7773
NPM_TOKEN_VERTEXAI_PREVIEW: ${{secrets.NPM_TOKEN_VERTEXAI_PREVIEW}}
7874
NPM_TOKEN_WEBCHANNEL_WRAPPER: ${{secrets.NPM_TOKEN_WEBCHANNEL_WRAPPER}}
7975
NPM_TOKEN_FIREBASE: ${{secrets.NPM_TOKEN_FIREBASE}}

.github/workflows/check-docs.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
name: Doc Change Check (Run "yarn docgen devsite" if this fails)
15+
name: Doc Change Check (Run "yarn docgen:all" if this fails)
1616

1717
on: pull_request
1818

@@ -33,10 +33,10 @@ jobs:
3333
node-version: 20.x
3434
- name: Yarn install
3535
run: yarn
36-
- name: Run doc generation (devsite docs)
37-
run: yarn docgen devsite
36+
- name: Run doc generation
37+
run: yarn docgen:all
3838
- name: Check for changes in docs-devsite dir (fail if so)
3939
run: git diff --exit-code docs-devsite
4040
- name: Reference documentation needs to be updated. See message below.
4141
if: ${{ failure() }}
42-
run: echo "Changes in this PR affect the reference docs. Run \`yarn docgen devsite\` locally to regenerate docs and add them to this PR."
42+
run: echo "Changes in this PR affect the reference docs. Run \`yarn docgen:all\` locally to regenerate docs and add them to this PR."

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

-4
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,14 @@ jobs:
6565
NPM_TOKEN_INSTALLATIONS_TYPES: ${{secrets.NPM_TOKEN_INSTALLATIONS_TYPES}}
6666
NPM_TOKEN_LOGGER: ${{secrets.NPM_TOKEN_LOGGER}}
6767
NPM_TOKEN_MESSAGING: ${{secrets.NPM_TOKEN_MESSAGING}}
68-
NPM_TOKEN_MESSAGING_TYPES: ${{secrets.NPM_TOKEN_MESSAGING_TYPES}}
6968
NPM_TOKEN_PERFORMANCE: ${{secrets.NPM_TOKEN_PERFORMANCE}}
7069
NPM_TOKEN_PERFORMANCE_TYPES: ${{secrets.NPM_TOKEN_PERFORMANCE_TYPES}}
71-
NPM_TOKEN_POLYFILL: ${{secrets.NPM_TOKEN_POLYFILL}}
7270
NPM_TOKEN_REMOTE_CONFIG: ${{secrets.NPM_TOKEN_REMOTE_CONFIG}}
7371
NPM_TOKEN_REMOTE_CONFIG_TYPES: ${{secrets.NPM_TOKEN_REMOTE_CONFIG_TYPES}}
7472
NPM_TOKEN_RULES_UNIT_TESTING: ${{secrets.NPM_TOKEN_RULES_UNIT_TESTING}}
7573
NPM_TOKEN_STORAGE: ${{secrets.NPM_TOKEN_STORAGE}}
7674
NPM_TOKEN_STORAGE_TYPES: ${{secrets.NPM_TOKEN_STORAGE_TYPES}}
77-
NPM_TOKEN_TESTING: ${{secrets.NPM_TOKEN_TESTING}}
7875
NPM_TOKEN_UTIL: ${{secrets.NPM_TOKEN_UTIL}}
79-
NPM_TOKEN_VERTEXAI: ${{secrets.NPM_TOKEN_VERTEXAI}}
8076
NPM_TOKEN_VERTEXAI_PREVIEW: ${{secrets.NPM_TOKEN_VERTEXAI_PREVIEW}}
8177
NPM_TOKEN_WEBCHANNEL_WRAPPER: ${{secrets.NPM_TOKEN_WEBCHANNEL_WRAPPER}}
8278
NPM_TOKEN_FIREBASE: ${{secrets.NPM_TOKEN_FIREBASE}}

.github/workflows/release-prod.yml

-4
Original file line numberDiff line numberDiff line change
@@ -75,18 +75,14 @@ jobs:
7575
NPM_TOKEN_INSTALLATIONS_TYPES: ${{secrets.NPM_TOKEN_INSTALLATIONS_TYPES}}
7676
NPM_TOKEN_LOGGER: ${{secrets.NPM_TOKEN_LOGGER}}
7777
NPM_TOKEN_MESSAGING: ${{secrets.NPM_TOKEN_MESSAGING}}
78-
NPM_TOKEN_MESSAGING_TYPES: ${{secrets.NPM_TOKEN_MESSAGING_TYPES}}
7978
NPM_TOKEN_PERFORMANCE: ${{secrets.NPM_TOKEN_PERFORMANCE}}
8079
NPM_TOKEN_PERFORMANCE_TYPES: ${{secrets.NPM_TOKEN_PERFORMANCE_TYPES}}
81-
NPM_TOKEN_POLYFILL: ${{secrets.NPM_TOKEN_POLYFILL}}
8280
NPM_TOKEN_REMOTE_CONFIG: ${{secrets.NPM_TOKEN_REMOTE_CONFIG}}
8381
NPM_TOKEN_REMOTE_CONFIG_TYPES: ${{secrets.NPM_TOKEN_REMOTE_CONFIG_TYPES}}
8482
NPM_TOKEN_RULES_UNIT_TESTING: ${{secrets.NPM_TOKEN_RULES_UNIT_TESTING}}
8583
NPM_TOKEN_STORAGE: ${{secrets.NPM_TOKEN_STORAGE}}
8684
NPM_TOKEN_STORAGE_TYPES: ${{secrets.NPM_TOKEN_STORAGE_TYPES}}
87-
NPM_TOKEN_TESTING: ${{secrets.NPM_TOKEN_TESTING}}
8885
NPM_TOKEN_UTIL: ${{secrets.NPM_TOKEN_UTIL}}
89-
NPM_TOKEN_VERTEXAI: ${{secrets.NPM_TOKEN_VERTEXAI}}
9086
NPM_TOKEN_VERTEXAI_PREVIEW: ${{secrets.NPM_TOKEN_VERTEXAI_PREVIEW}}
9187
NPM_TOKEN_WEBCHANNEL_WRAPPER: ${{secrets.NPM_TOKEN_WEBCHANNEL_WRAPPER}}
9288
NPM_TOKEN_FIREBASE: ${{secrets.NPM_TOKEN_FIREBASE}}

.github/workflows/release-staging.yml

-4
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,14 @@ jobs:
101101
NPM_TOKEN_INSTALLATIONS_TYPES: ${{secrets.NPM_TOKEN_INSTALLATIONS_TYPES}}
102102
NPM_TOKEN_LOGGER: ${{secrets.NPM_TOKEN_LOGGER}}
103103
NPM_TOKEN_MESSAGING: ${{secrets.NPM_TOKEN_MESSAGING}}
104-
NPM_TOKEN_MESSAGING_TYPES: ${{secrets.NPM_TOKEN_MESSAGING_TYPES}}
105104
NPM_TOKEN_PERFORMANCE: ${{secrets.NPM_TOKEN_PERFORMANCE}}
106105
NPM_TOKEN_PERFORMANCE_TYPES: ${{secrets.NPM_TOKEN_PERFORMANCE_TYPES}}
107-
NPM_TOKEN_POLYFILL: ${{secrets.NPM_TOKEN_POLYFILL}}
108106
NPM_TOKEN_REMOTE_CONFIG: ${{secrets.NPM_TOKEN_REMOTE_CONFIG}}
109107
NPM_TOKEN_REMOTE_CONFIG_TYPES: ${{secrets.NPM_TOKEN_REMOTE_CONFIG_TYPES}}
110108
NPM_TOKEN_RULES_UNIT_TESTING: ${{secrets.NPM_TOKEN_RULES_UNIT_TESTING}}
111109
NPM_TOKEN_STORAGE: ${{secrets.NPM_TOKEN_STORAGE}}
112110
NPM_TOKEN_STORAGE_TYPES: ${{secrets.NPM_TOKEN_STORAGE_TYPES}}
113-
NPM_TOKEN_TESTING: ${{secrets.NPM_TOKEN_TESTING}}
114111
NPM_TOKEN_UTIL: ${{secrets.NPM_TOKEN_UTIL}}
115-
NPM_TOKEN_VERTEXAI: ${{secrets.NPM_TOKEN_VERTEXAI}}
116112
NPM_TOKEN_VERTEXAI_PREVIEW: ${{secrets.NPM_TOKEN_VERTEXAI_PREVIEW}}
117113
NPM_TOKEN_WEBCHANNEL_WRAPPER: ${{secrets.NPM_TOKEN_WEBCHANNEL_WRAPPER}}
118114
NPM_TOKEN_FIREBASE: ${{secrets.NPM_TOKEN_FIREBASE}}

.github/workflows/test-all.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@
1414

1515
name: Test All Packages
1616

17-
on:
18-
push:
19-
branches: ['**']
17+
on: pull_request
2018

2119
env:
2220
# make chromedriver detect installed Chrome version and download the corresponding driver

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
name: Test Auth
1616

17-
on: [push, pull_request]
17+
on: pull_request
1818

1919
env:
2020
# make chromedriver detect installed Chrome version and download the corresponding driver

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -98,5 +98,6 @@ docs/
9898
*.tfstate
9999
*.tfstate.*
100100

101-
# generated test case text data
101+
# vertexai test data
102+
vertexai-sdk-test-data
102103
mocks-lookup.ts

CONTRIBUTING.md

+3-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ than it is today! Here are the guidelines we'd like you to follow:
66
- [Code of Conduct](#coc)
77
- [Question or Problem?](#question)
88
- [Issues and Bugs](#issue)
9-
- [Feature Requests](#feature)
109
- [Submission Guidelines](#submit)
1110
- [Updating Documentation](#docs)
1211

@@ -16,7 +15,7 @@ As contributors and maintainers of the Firebase JS SDK project, we pledge to res
1615
contributes by posting issues, updating documentation, submitting pull requests, providing feedback
1716
in comments, and any other activities.
1817

19-
Communication through any of Firebase's channels (GitHub, StackOverflow, Google+, Twitter, etc.)
18+
Communication through any of Firebase's channels (GitHub, StackOverflow, X, etc.)
2019
must be constructive and never resort to personal attacks, trolling, public or private harassment,
2120
insults, or other unprofessional conduct.
2221

@@ -228,10 +227,10 @@ root directory to generate the documentation locally:
228227
229228
```
230229
yarn
231-
yarn docgen devsite
230+
yarn docgen:all
232231
```
233232
234-
This will generate reference docs in `docs-devsite/`. Commit and push the generated
233+
This will generate reference docs and the toc in `docs-devsite/`. Commit and push the generated
235234
documentation changes to GitHub following the [PR submission guidelines](#submit). Your push
236235
to the remote repository should force any failing documentation checks to execute again.
237236

common/api-review/app.api.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,8 @@ export interface FirebaseServerApp extends FirebaseApp {
7878
}
7979

8080
// @public
81-
export interface FirebaseServerAppSettings extends FirebaseAppSettings {
81+
export interface FirebaseServerAppSettings extends Omit<FirebaseAppSettings, 'name'> {
8282
authIdToken?: string;
83-
name?: undefined;
8483
releaseOnDeref?: object;
8584
}
8685

common/api-review/util.api.md

+5
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,11 @@ export const isValidFormat: (token: string) => boolean;
329329
// @public
330330
export const isValidTimestamp: (token: string) => boolean;
331331

332+
// Warning: (ae-missing-release-tag) "isWebWorker" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
333+
//
334+
// @public
335+
export function isWebWorker(): boolean;
336+
332337
// Warning: (ae-missing-release-tag) "jsonEval" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
333338
//
334339
// @public

common/api-review/vertexai-preview.api.md

+43
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import { AppCheckTokenResult } from '@firebase/app-check-interop-types';
88
import { FirebaseApp } from '@firebase/app';
99
import { FirebaseAuthTokenData } from '@firebase/auth-interop-types';
10+
import { FirebaseError } from '@firebase/util';
1011

1112
// @public
1213
export interface BaseParams {
@@ -83,6 +84,14 @@ export interface CountTokensResponse {
8384
totalTokens: number;
8485
}
8586

87+
// @public
88+
export interface CustomErrorData {
89+
errorDetails?: ErrorDetails[];
90+
response?: GenerateContentResponse;
91+
status?: number;
92+
statusText?: string;
93+
}
94+
8695
// @public
8796
interface Date_2 {
8897
// (undocumented)
@@ -102,6 +111,16 @@ export interface EnhancedGenerateContentResponse extends GenerateContentResponse
102111
text: () => string;
103112
}
104113

114+
// @public
115+
export interface ErrorDetails {
116+
// (undocumented)
117+
'@type'?: string;
118+
[key: string]: unknown;
119+
domain?: string;
120+
metadata?: Record<string, unknown>;
121+
reason?: string;
122+
}
123+
105124
// @public
106125
export interface FileData {
107126
// (undocumented)
@@ -590,6 +609,30 @@ export interface VertexAI {
590609
location: string;
591610
}
592611

612+
// @public
613+
export class VertexAIError extends FirebaseError {
614+
constructor(code: VertexAIErrorCode, message: string, customErrorData?: CustomErrorData | undefined);
615+
// (undocumented)
616+
readonly code: VertexAIErrorCode;
617+
// (undocumented)
618+
readonly customErrorData?: CustomErrorData | undefined;
619+
// (undocumented)
620+
readonly message: string;
621+
}
622+
623+
// @public
624+
export const enum VertexAIErrorCode {
625+
ERROR = "error",
626+
FETCH_ERROR = "fetch-error",
627+
INVALID_CONTENT = "invalid-content",
628+
NO_API_KEY = "no-api-key",
629+
NO_MODEL = "no-model",
630+
NO_PROJECT_ID = "no-project-id",
631+
PARSE_FAILED = "parse-failed",
632+
REQUEST_ERROR = "request-error",
633+
RESPONSE_ERROR = "response-error"
634+
}
635+
593636
// @public
594637
export interface VertexAIOptions {
595638
// (undocumented)

config/tsconfig.base.json

+6
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@
2525
"target": "es5",
2626
"typeRoots": [
2727
"../node_modules/@types"
28+
],
29+
"plugins": [
30+
{
31+
"name": "tsec",
32+
"reportTsecDiagnosticsOnly": true
33+
}
2834
]
2935
}
3036
}

toc/toc.yaml docs-devsite/_toc.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,8 @@ toc:
468468
path: /docs/reference/js/vertexai-preview.counttokensrequest.md
469469
- title: CountTokensResponse
470470
path: /docs/reference/js/vertexai-preview.counttokensresponse.md
471+
- title: CustomErrorData
472+
path: /docs/reference/js/vertexai-preview.customerrordata.md
471473
- title: Date_2
472474
path: /docs/reference/js/vertexai-preview.date_2.md
473475
- title: EnhancedGenerateContentResponse
@@ -517,8 +519,6 @@ toc:
517519
path: /docs/reference/js/vertexai-preview.groundingattribution.md
518520
- title: GroundingMetadata
519521
path: /docs/reference/js/vertexai-preview.groundingmetadata.md
520-
- title: HTTPErrorDetails
521-
path: /docs/reference/js/vertexai-preview.httperrordetails.md
522522
- title: InlineDataPart
523523
path: /docs/reference/js/vertexai-preview.inlinedatapart.md
524524
- title: ModelParams

docs-devsite/app.firebaseserverappsettings.md

+2-13
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,15 @@ Configuration options given to [initializeServerApp()](./app.md#initializeserver
1515
<b>Signature:</b>
1616

1717
```typescript
18-
export interface FirebaseServerAppSettings extends FirebaseAppSettings
18+
export interface FirebaseServerAppSettings extends Omit<FirebaseAppSettings, 'name'>
1919
```
20-
<b>Extends:</b> [FirebaseAppSettings](./app.firebaseappsettings.md#firebaseappsettings_interface)
20+
<b>Extends:</b> Omit&lt;[FirebaseAppSettings](./app.firebaseappsettings.md#firebaseappsettings_interface)<!-- -->, 'name'&gt;
2121
2222
## Properties
2323
2424
| Property | Type | Description |
2525
| --- | --- | --- |
2626
| [authIdToken](./app.firebaseserverappsettings.md#firebaseserverappsettingsauthidtoken) | string | An optional Auth ID token used to resume a signed in user session from a client runtime environment.<!-- -->Invoking <code>getAuth</code> with a <code>FirebaseServerApp</code> configured with a validated <code>authIdToken</code> causes an automatic attempt to sign in the user that the <code>authIdToken</code> represents. The token needs to have been recently minted for this operation to succeed.<!-- -->If the token fails local verification, or if the Auth service has failed to validate it when the Auth SDK is initialized, then a warning is logged to the console and the Auth SDK will not sign in a user on initialization.<!-- -->If a user is successfully signed in, then the Auth instance's <code>onAuthStateChanged</code> callback is invoked with the <code>User</code> object as per standard Auth flows. However, <code>User</code> objects created via an <code>authIdToken</code> do not have a refresh token. Attempted <code>refreshToken</code> operations fail. |
27-
| [name](./app.firebaseserverappsettings.md#firebaseserverappsettingsname) | undefined | There is no <code>getApp()</code> operation for <code>FirebaseServerApp</code>, so the name is not relevant for applications. However, it may be used internally, and is declared here so that <code>FirebaseServerApp</code> conforms to the <code>FirebaseApp</code> interface. |
2827
| [releaseOnDeref](./app.firebaseserverappsettings.md#firebaseserverappsettingsreleaseonderef) | object | An optional object. If provided, the Firebase SDK uses a <code>FinalizationRegistry</code> object to monitor the garbage collection status of the provided object. The Firebase SDK releases its reference on the <code>FirebaseServerApp</code> instance when the provided <code>releaseOnDeref</code> object is garbage collected.<!-- -->You can use this field to reduce memory management overhead for your application. If provided, an app running in a SSR pass does not need to perform <code>FirebaseServerApp</code> cleanup, so long as the reference object is deleted (by falling out of SSR scope, for instance.)<!-- -->If an object is not provided then the application must clean up the <code>FirebaseServerApp</code> instance by invoking <code>deleteApp</code>.<!-- -->If the application provides an object in this parameter, but the application is executed in a JavaScript engine that predates the support of <code>FinalizationRegistry</code> (introduced in node v14.6.0, for instance), then an error is thrown at <code>FirebaseServerApp</code> initialization. |
2928
3029
## FirebaseServerAppSettings.authIdToken
@@ -43,16 +42,6 @@ If a user is successfully signed in, then the Auth instance's `onAuthStateChange
4342
authIdToken?: string;
4443
```
4544
46-
## FirebaseServerAppSettings.name
47-
48-
There is no `getApp()` operation for `FirebaseServerApp`<!-- -->, so the name is not relevant for applications. However, it may be used internally, and is declared here so that `FirebaseServerApp` conforms to the `FirebaseApp` interface.
49-
50-
<b>Signature:</b>
51-
52-
```typescript
53-
name?: undefined;
54-
```
55-
5645
## FirebaseServerAppSettings.releaseOnDeref
5746
5847
An optional object. If provided, the Firebase SDK uses a `FinalizationRegistry` object to monitor the garbage collection status of the provided object. The Firebase SDK releases its reference on the `FirebaseServerApp` instance when the provided `releaseOnDeref` object is garbage collected.

0 commit comments

Comments
 (0)