From 8619eaceaf5f269e70894a5ddfbc3cc6ff1b6906 Mon Sep 17 00:00:00 2001 From: Brian Chen Date: Wed, 19 May 2021 16:39:14 -0500 Subject: [PATCH 1/2] Add warning when developer overrides host without specifying merge --- packages/firestore/src/api/database.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/firestore/src/api/database.ts b/packages/firestore/src/api/database.ts index 9b389d51bed..26e479cea1c 100644 --- a/packages/firestore/src/api/database.ts +++ b/packages/firestore/src/api/database.ts @@ -117,7 +117,7 @@ import { validateIsNotUsedTogether, validateSetOptions } from '../util/input_validation'; -import { setLogLevel as setClientLogLevel } from '../util/log'; +import { logWarn, setLogLevel as setClientLogLevel } from '../util/log'; import { Blob } from './blob'; import { @@ -216,14 +216,26 @@ export class Firestore } settings(settingsLiteral: PublicSettings): void { + const currentSettings = this._delegate._getSettings(); + if ( + !settingsLiteral.merge && + currentSettings.host !== settingsLiteral.host + ) { + logWarn( + 'The original host is being overridden. If you did not intend ' + + 'to override your settings, use {merge: true}.' + ); + } + if (settingsLiteral.merge) { settingsLiteral = { - ...this._delegate._getSettings(), + ...currentSettings, ...settingsLiteral }; // Remove the property from the settings once the merge is completed delete settingsLiteral.merge; } + this._delegate._setSettings(settingsLiteral); } From e92d8447f16781a186f30bac4336090833ca07dd Mon Sep 17 00:00:00 2001 From: Brian Chen Date: Thu, 20 May 2021 10:03:39 -0500 Subject: [PATCH 2/2] update message and add changeset --- packages/firestore/src/api/database.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firestore/src/api/database.ts b/packages/firestore/src/api/database.ts index 26e479cea1c..4be6d7bb4fb 100644 --- a/packages/firestore/src/api/database.ts +++ b/packages/firestore/src/api/database.ts @@ -222,7 +222,7 @@ export class Firestore currentSettings.host !== settingsLiteral.host ) { logWarn( - 'The original host is being overridden. If you did not intend ' + + 'You are overriding the original host. If you did not intend ' + 'to override your settings, use {merge: true}.' ); }