This is an automated email from the ASF dual-hosted git repository.

rusackas pushed a commit to branch live-edits
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 215b305e1c739f53ee5501903385659868f94b6a
Author: Evan Rusackas <[email protected]>
AuthorDate: Thu Jan 8 16:30:49 2026 -0800

    fix(dashboard): fix persistence for chart title and description toggle
    
    - Fix EditableTitle useEffect dependency array (first click wasn't working)
    - Add hasUnsavedChanges: true to TOGGLE_EXPAND_SLICE reducer
      (description toggle state wasn't being persisted)
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude Opus 4.5 <[email protected]>
---
 .../superset-ui-core/src/components/EditableTitle/index.tsx         | 2 +-
 superset-frontend/src/dashboard/reducers/dashboardState.js          | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/superset-frontend/packages/superset-ui-core/src/components/EditableTitle/index.tsx
 
b/superset-frontend/packages/superset-ui-core/src/components/EditableTitle/index.tsx
index 82ce1ccf7eb..c82bcef0d15 100644
--- 
a/superset-frontend/packages/superset-ui-core/src/components/EditableTitle/index.tsx
+++ 
b/superset-frontend/packages/superset-ui-core/src/components/EditableTitle/index.tsx
@@ -127,7 +127,7 @@ export function EditableTitle({
     if (editing && !isEditing) {
       setIsEditing(true);
     }
-  }, [editing]);
+  }, [editing, isEditing]);
 
   useEffect(() => {
     if (isEditing && contentRef.current) {
diff --git a/superset-frontend/src/dashboard/reducers/dashboardState.js 
b/superset-frontend/src/dashboard/reducers/dashboardState.js
index 70b5b6ab19d..ae2cd3b3c91 100644
--- a/superset-frontend/src/dashboard/reducers/dashboardState.js
+++ b/superset-frontend/src/dashboard/reducers/dashboardState.js
@@ -148,7 +148,11 @@ export default function dashboardStateReducer(state = {}, 
action) {
       } else {
         updatedExpandedSlices[sliceId] = true;
       }
-      return { ...state, expandedSlices: updatedExpandedSlices };
+      return {
+        ...state,
+        expandedSlices: updatedExpandedSlices,
+        hasUnsavedChanges: true,
+      };
     },
     [ON_CHANGE]() {
       return { ...state, hasUnsavedChanges: true };

Reply via email to