From 8766bfa37e686441ae1761b3abdfbb2613bd0ab2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicol=C3=B2=20Pretto?= <info@npretto.com>
Date: Wed, 6 Nov 2024 15:25:18 +0100
Subject: [PATCH] fix type errors that appear on the mantine branch (#49590)

Co-Authored-by: Poom poom@poom.dev
---
 .../src/embedding-sdk/store/reducer.ts        | 71 +++++++++----------
 1 file changed, 33 insertions(+), 38 deletions(-)

diff --git a/enterprise/frontend/src/embedding-sdk/store/reducer.ts b/enterprise/frontend/src/embedding-sdk/store/reducer.ts
index f0840630ae5..3b0c612bc78 100644
--- a/enterprise/frontend/src/embedding-sdk/store/reducer.ts
+++ b/enterprise/frontend/src/embedding-sdk/store/reducer.ts
@@ -80,10 +80,9 @@ const initialState: SdkState = {
 };
 
 export const sdk = createReducer(initialState, builder => {
-  builder.addCase(refreshTokenAsync.pending, state => ({
-    ...state,
-    token: { ...state.token, loading: true },
-  }));
+  builder.addCase(refreshTokenAsync.pending, state => {
+    state.token = { ...state.token, loading: true };
+  });
 
   builder.addCase(refreshTokenAsync.fulfilled, (state, action) => {
     state.token = {
@@ -111,38 +110,34 @@ export const sdk = createReducer(initialState, builder => {
     state.loginStatus = { status: "error", error };
   });
 
-  builder.addCase(setLoaderComponent, (state, action) => ({
-    ...state,
-    loaderComponent: action.payload,
-  }));
-
-  builder.addCase(setPlugins, (state, action) => ({
-    ...state,
-    plugins: action.payload,
-  }));
-
-  builder.addCase(setEventHandlers, (state, action) => ({
-    ...state,
-    eventHandlers: action.payload,
-  }));
-
-  builder.addCase(setErrorComponent, (state, action) => ({
-    ...state,
-    errorComponent: action.payload,
-  }));
-
-  builder.addCase(setMetabaseClientUrl, (state, action) => ({
-    ...state,
-    metabaseInstanceUrl: action.payload,
-  }));
-
-  builder.addCase(setFetchRefreshTokenFn, (state, action) => ({
-    ...state,
-    fetchRefreshTokenFn: action.payload,
-  }));
-
-  builder.addCase(setUsageProblem, (state, action) => ({
-    ...state,
-    usageProblem: action.payload,
-  }));
+  builder.addCase(setLoaderComponent, (state, action) => {
+    state.loaderComponent = action.payload;
+  });
+
+  builder.addCase(setPlugins, (state, action) => {
+    // At the time of writing, doing `this.state.plugins = action.payload` causes
+    // `Type instantiation is excessively deep and possibly infinite.` for
+    // this specific action, but it fixes the others.
+    return { ...state, plugins: action.payload };
+  });
+
+  builder.addCase(setEventHandlers, (state, action) => {
+    state.eventHandlers = action.payload;
+  });
+
+  builder.addCase(setErrorComponent, (state, action) => {
+    state.errorComponent = action.payload;
+  });
+
+  builder.addCase(setMetabaseClientUrl, (state, action) => {
+    state.metabaseInstanceUrl = action.payload;
+  });
+
+  builder.addCase(setFetchRefreshTokenFn, (state, action) => {
+    state.fetchRefreshTokenFn = action.payload;
+  });
+
+  builder.addCase(setUsageProblem, (state, action) => {
+    state.usageProblem = action.payload;
+  });
 });
-- 
GitLab