diff --git a/docs/en_US/release_notes_9_7.rst b/docs/en_US/release_notes_9_7.rst index c3447ade4..9510bf11b 100644 --- a/docs/en_US/release_notes_9_7.rst +++ b/docs/en_US/release_notes_9_7.rst @@ -46,4 +46,5 @@ Bug fixes | `Issue #8982 `_ - Fixed an issue where adding breakpoints caused errors, and stepping out of a nested function removed breakpoints from the parent function. | `Issue #9007 `_ - Ensure the scratch pad in the Query Tool is not restored after it is closed. | `Issue #9008 `_ - Update the documentation for parameters that require file paths. - | `Issue #9047 `_ - Fixed an issue where downloading images on the ERD tool was not working in desktop mode. \ No newline at end of file + | `Issue #9047 `_ - Fixed an issue where downloading images on the ERD tool was not working in desktop mode. + | `Issue #9067 `_ - Ensure that disabling "Save Application State" in Preferences prevents tool data from being saved and stops it from being restored on application restart. \ No newline at end of file diff --git a/web/pgadmin/misc/workspaces/static/js/AdHocConnection.jsx b/web/pgadmin/misc/workspaces/static/js/AdHocConnection.jsx index 4df84a351..3373caeb9 100644 --- a/web/pgadmin/misc/workspaces/static/js/AdHocConnection.jsx +++ b/web/pgadmin/misc/workspaces/static/js/AdHocConnection.jsx @@ -215,11 +215,11 @@ class AdHocConnectionSchema extends BaseUISchema { disabled: (state) => state.sid, },{ id: 'did', label: gettext('Database'), deps: ['sid', 'connected'], - controlProps: {creatable: true}, type: (state) => { if (state?.sid) { return { type: 'select', + controlProps: {creatable: true}, options: () => this.getOtherOptions( state.sid, 'get_new_connection_database' ), @@ -238,11 +238,11 @@ class AdHocConnectionSchema extends BaseUISchema { } }, { id: 'user', label: gettext('User'), deps: ['sid', 'connected'], - controlProps: {creatable: true}, type: (state) => { if (state?.sid) { return { type: 'select', + controlProps: {creatable: true}, options: () => this.getOtherOptions( state.sid, 'get_new_connection_user' ), @@ -266,9 +266,9 @@ class AdHocConnectionSchema extends BaseUISchema { } },{ id: 'role', label: gettext('Role'), deps: ['sid', 'connected'], - controlProps: {creatable: true}, type: (state)=>({ type: 'select', + controlProps: {creatable: true}, options: () => this.getOtherOptions( state.sid, 'get_new_connection_role' ), diff --git a/web/pgadmin/static/js/helpers/Layout/index.jsx b/web/pgadmin/static/js/helpers/Layout/index.jsx index 6c425ead6..468b49a32 100644 --- a/web/pgadmin/static/js/helpers/Layout/index.jsx +++ b/web/pgadmin/static/js/helpers/Layout/index.jsx @@ -428,9 +428,9 @@ export default function Layout({groups, noContextGroups, getLayoutInstance, layo } if(!saveAppState && saveAppStateRef.current){ - saveAppStateRef.current = saveAppState; layoutDockerObj.saveLayout(); } + saveAppStateRef.current = saveAppState; }, [prefStore]); @@ -479,8 +479,8 @@ export default function Layout({groups, noContextGroups, getLayoutInstance, layo const saveTab = (tab) => { // 'tab' here is the full TabData object, potentially with 'title', 'content', etc. // We only want to save the 'id' and any custom properties needed by loadTab. - const saveAppState = prefStore?.getPreferencesForModule('misc')?.save_app_state; - if (saveAppState && tab.metaData && !BROWSER_PANELS.DEBUGGER_TOOL.includes(tab.id.split('_')[0])) { + const savedTab = { id: tab.id }; + if (saveAppStateRef.current && tab.metaData && !BROWSER_PANELS.DEBUGGER_TOOL.includes(tab.id.split('_')[0])) { // add custom properties that were part of the original TabBase const updatedMetaData = { ...tab.metaData, @@ -492,13 +492,9 @@ export default function Layout({groups, noContextGroups, getLayoutInstance, layo }, restore: true, }; - return { - id: tab.id, - metaData: updatedMetaData - }; - }else{ - return {id: tab.id}; + savedTab.metaData = updatedMetaData; } + return savedTab; }; const flatDefaultLayout = useMemo(()=>{