From b9c3f67c4ff9d61298dbb00a3c470ded29fcaa36 Mon Sep 17 00:00:00 2001
From: Kevin Pagtakhan <kevinp@amplitude.com>
Date: Tue, 25 Oct 2022 11:01:07 -0700
Subject: [PATCH 1/2] fix: nested object in options are shared across multiple
 instances

---
 src/amplitude-client.js | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/amplitude-client.js b/src/amplitude-client.js
index 38dca861..f7b453f8 100644
--- a/src/amplitude-client.js
+++ b/src/amplitude-client.js
@@ -39,7 +39,13 @@ var AmplitudeClient = function AmplitudeClient(instanceName) {
   this._instanceName = utils.isEmptyString(instanceName) ? Constants.DEFAULT_INSTANCE : instanceName.toLowerCase();
   this._unsentEvents = [];
   this._unsentIdentifys = [];
-  this.options = { ...DEFAULT_OPTIONS, trackingOptions: { ...DEFAULT_OPTIONS.trackingOptions } };
+  this.options = {
+    ...DEFAULT_OPTIONS,
+    headers: { ...DEFAULT_OPTIONS.headers },
+    library: { ...DEFAULT_OPTIONS.library },
+    plan: { ...DEFAULT_OPTIONS.plan },
+    trackingOptions: { ...DEFAULT_OPTIONS.trackingOptions },
+  };
   this.cookieStorage = new cookieStorage().getStorage();
   this._q = []; // queue for proxied functions before script load
   this._sending = false;

From 1c5a2d35ce0ff9977f7c657df20c24162291d36e Mon Sep 17 00:00:00 2001
From: Kevin Pagtakhan <kevinp@amplitude.com>
Date: Tue, 25 Oct 2022 11:16:45 -0700
Subject: [PATCH 2/2] fix: nested object in options are shared across multiple
 instances

---
 src/amplitude-client.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/amplitude-client.js b/src/amplitude-client.js
index f7b453f8..93069559 100644
--- a/src/amplitude-client.js
+++ b/src/amplitude-client.js
@@ -42,6 +42,7 @@ var AmplitudeClient = function AmplitudeClient(instanceName) {
   this.options = {
     ...DEFAULT_OPTIONS,
     headers: { ...DEFAULT_OPTIONS.headers },
+    ingestionMetadata: { ...DEFAULT_OPTIONS.ingestionMetadata },
     library: { ...DEFAULT_OPTIONS.library },
     plan: { ...DEFAULT_OPTIONS.plan },
     trackingOptions: { ...DEFAULT_OPTIONS.trackingOptions },