From 600c39d05872e01a0ba7324073cfa24aa7d7a2ed Mon Sep 17 00:00:00 2001 From: Akhil Raveendran Date: Tue, 7 Apr 2026 14:48:09 -0700 Subject: [PATCH] feat: enable fdcrealtime by default and inject clientCache into SDK generation configurations --- src/experiments.ts | 2 +- src/init/features/dataconnect/sdk.spec.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/experiments.ts b/src/experiments.ts index 0fd6b9b39e7..b774e53311c 100644 --- a/src/experiments.ts +++ b/src/experiments.ts @@ -195,7 +195,7 @@ export const ALL_EXPERIMENTS = experiments({ }, fdcrealtime: { shortDescription: "Enable Firebase Data Connect realtime feature.", - default: false, + default: true, public: false, }, }); diff --git a/src/init/features/dataconnect/sdk.spec.ts b/src/init/features/dataconnect/sdk.spec.ts index 17e428614e9..b7055d2898c 100644 --- a/src/init/features/dataconnect/sdk.spec.ts +++ b/src/init/features/dataconnect/sdk.spec.ts @@ -63,6 +63,7 @@ describe("addSdkGenerateToConnectorYaml", () => { packageJsonDir: "../app", react: false, angular: false, + clientCache: {}, }, ]); }); @@ -77,6 +78,7 @@ describe("addSdkGenerateToConnectorYaml", () => { packageJsonDir: "../app", react: true, angular: false, + clientCache: {}, }, ]); }); @@ -88,6 +90,7 @@ describe("addSdkGenerateToConnectorYaml", () => { { outputDir: "../app/lib/dataconnect_generated", package: "dataconnect_generated/generated.dart", + clientCache: {}, }, ]); }); @@ -99,6 +102,7 @@ describe("addSdkGenerateToConnectorYaml", () => { { outputDir: "../app/src/main/kotlin", package: "com.google.firebase.dataconnect.generated", + clientCache: {}, }, ]); }); @@ -110,6 +114,7 @@ describe("addSdkGenerateToConnectorYaml", () => { { outputDir: "../FirebaseDataConnectGenerated", package: "DataConnectGenerated", + clientCache: {}, }, ]); }); @@ -132,6 +137,12 @@ describe("addSdkGenerateToConnectorYaml", () => { expect((connectorYaml.generate?.javascriptSdk as any)[0].clientCache).to.deep.equal({}); }); + it("should NOT inject clientCache if fdcrealtime is disabled", () => { + sinon.stub(experiments, "isEnabled").withArgs("fdcrealtime").returns(false); + addSdkGenerateToConnectorYaml(connectorInfo, connectorYaml, app); + expect((connectorYaml.generate?.javascriptSdk as any)[0].clientCache).to.be.undefined; + }); + it("should NOT overwrite existing clientCache configuration", () => { sinon.stub(experiments, "isEnabled").withArgs("fdcrealtime").returns(true); connectorYaml.generate = {