diff --git a/web/modals/threads/thread-settings-general-tab.react.js b/web/modals/threads/thread-settings-general-tab.react.js
--- a/web/modals/threads/thread-settings-general-tab.react.js
+++ b/web/modals/threads/thread-settings-general-tab.react.js
@@ -58,42 +58,42 @@
   const onChangeName = React.useCallback(
     (event: SyntheticEvent<HTMLInputElement>) => {
       const target = event.currentTarget;
-      setQueuedChanges(
+      setQueuedChanges(prevQueuedChanges =>
         Object.freeze({
-          ...queuedChanges,
+          ...prevQueuedChanges,
           name: firstLine(
             target.value !== threadInfo.name ? target.value : undefined,
           ),
         }),
       );
     },
-    [queuedChanges, setQueuedChanges, threadInfo.name],
+    [setQueuedChanges, threadInfo.name],
   );
 
   const onChangeDescription = React.useCallback(
     (event: SyntheticEvent<HTMLTextAreaElement>) => {
       const target = event.currentTarget;
-      setQueuedChanges(
+      setQueuedChanges(prevQueuedChanges =>
         Object.freeze({
-          ...queuedChanges,
+          ...prevQueuedChanges,
           description:
             target.value !== threadInfo.description ? target.value : undefined,
         }),
       );
     },
-    [queuedChanges, setQueuedChanges, threadInfo.description],
+    [setQueuedChanges, threadInfo.description],
   );
 
   const onChangeColor = React.useCallback(
     (color: string) => {
-      setQueuedChanges(
+      setQueuedChanges(prevQueuedChanges =>
         Object.freeze({
-          ...queuedChanges,
+          ...prevQueuedChanges,
           color: color !== threadInfo.color ? color : undefined,
         }),
       );
     },
-    [queuedChanges, setQueuedChanges, threadInfo.color],
+    [setQueuedChanges, threadInfo.color],
   );
 
   const changeThreadSettingsAction = React.useCallback(async () => {
diff --git a/web/modals/threads/thread-settings-privacy-tab.react.js b/web/modals/threads/thread-settings-privacy-tab.react.js
--- a/web/modals/threads/thread-settings-privacy-tab.react.js
+++ b/web/modals/threads/thread-settings-privacy-tab.react.js
@@ -55,14 +55,14 @@
   const onChangeThreadType = React.useCallback(
     (event: SyntheticEvent<HTMLInputElement>) => {
       const uiValue = assertThreadType(parseInt(event.currentTarget.value, 10));
-      setQueuedChanges(
+      setQueuedChanges(prevQueuedChanges =>
         Object.freeze({
-          ...queuedChanges,
+          ...prevQueuedChanges,
           type: uiValue !== threadInfo.type ? uiValue : undefined,
         }),
       );
     },
-    [queuedChanges, setQueuedChanges, threadInfo.type],
+    [setQueuedChanges, threadInfo.type],
   );
 
   const changeThreadSettingsAction = React.useCallback(async () => {