- Added `invalidName` and `setInvalidName` props to `EditFlowSettings` component to handle validation for duplicate flow names.
- Added `nameLists` useRef to store the list of flow names fetched from the database.
- Added `useEffect` to fetch the flow names from the database and populate `nameLists` useRef.
- Modified `handleNameChange` function to check if the entered name already exists in `nameLists` useRef and set `invalidName` accordingly.
- Added a new span element to display an error message if the name is already in use.
fix(flowSettingsModal): disable save button when the flow name is invalid
- Added `invalidName` and `setInvalidName` states to `FlowSettingsModal` component to handle the validation for invalid flow names.
- Passed `invalidName` and `setInvalidName` props to `EditFlowSettings` component.
- Disabled the save button when `invalidName` is true.
✨ feat(utils.py): add merge_nested_dicts function to merge nested dictionaries recursively
🐛 fix(endpoints.py): import merge_nested_dicts function from the correct module
✨ feat(endpoints.py): use merge_nested_dicts function to merge dictionaries in build_langchain_custom_component_list_from_path function
🐛 fix(types.py): import merge_nested_dicts function from the correct module
✨ feat(types.py): use merge_nested_dicts function to merge dictionaries in build_langchain_custom_component_list_from_path function
🐛 fix(types.py): import merge_nested_dicts function from the correct module
✨ feat(types.py): use merge_nested_dicts function to merge valid and invalid menus in build_langchain_custom_component_list_from_path function
🐛 fix(tools.py): import Optional from typing module
✨ feat(tools.py): add CustomComponentEmptyNode class to represent an empty custom component template
🔨 refactor(types.py): change usage of CustomComponentNode to CustomComponentFrontendNode to align with updated module structure
🔨 refactor(frontend_node/base.py): add beta flag to FrontendNode class to indicate if a node is in beta stage
🔨 refactor(custom_components.py): add beta flag to CustomComponentFrontendNode class to indicate it is in beta stage
🔨 refactor(tools.py): remove unused import of DEFAULT_CUSTOM_COMPONENT_CODE
🔨 refactor(tools.py): remove CustomComponentNode class as it is no longer used
🐛 fix(custom_component.py): fix return value of list_flows method to return the actual flow objects instead of just their names
🔥 chore(custom_component.py): remove unused build method as it is not implemented
✨ feat(endpoints.py): add support for clear_cache parameter in process_flow endpoint to allow clearing the cache before processing the flow
🐛 fix(process.py): add logic to clear cache if clear_cache parameter is True in process_graph_cached function to fix caching issue
✨ feat(__main__.py): add support for loading settings from a specified config file
✨ feat(__main__.py): add support for setting remove_api_keys flag
✨ feat(__main__.py): add support for setting cache flag
✨ feat(__main__.py): add support for adding component path
🐛 fix(utils): remove unnecessary if condition and code block
✨ feat(parameterComponent): add fallback logic to display a custom component when no grouped objects are found
✨ feat(__main__.py): add component_path option to serve command to specify the directory containing custom components
🐛 fix(settings.py): modify update_settings function to handle list attributes correctly
✨ feat(parameterComponent): add support for custom components in groupByFamily function
✨ feat(utils): add groupByFamilyCustom function to handle custom components in groupByFamily function
🔧 fix(parameterComponent): add 'flows' to the list of destructured variables from TabsContext to fix missing reference error
🔧 fix(parameterComponent): remove unused console.log statements to clean up code
🐛 fix(inputListComponent): import set from lodash to fix missing import error
✨ feat(inputListComponent): add PopUpContext import to use closeEdit function
🐛 fix(inputListComponent): add useEffect to update inputList state when value prop changes
🐛 fix(EditNodeModal): import getRandomKeyByssmm from utils to fix missing import error
✨ feat(EditNodeModal): add PopUpContext import to use setCloseEdit function
🐛 fix(EditNodeModal): add useEffect to reset myData state when modalOpen prop changes
🔧 fix(__main__.py): change default value of workers option to -1 to indicate automatic calculation of number of workers
🔧 fix(__main__.py): remove unused import of cpu_count from multiprocess module
🔧 fix(__main__.py): remove unused import of time module
🔧 fix(__main__.py): remove unused import of httpx module
🔧 fix(__main__.py): remove unused import of sys module
🔧 fix(__main__.py): remove unused import of os module
🔧 fix(__main__.py): remove unused import of Path class from pathlib module
🔧 fix(__main__.py): remove unused import of load_dotenv function from dotenv module
🔧 fix(__main__.py): remove unused import of typer module
🔧 fix(__main__.py): remove unused import of app object from typer module
🔧 fix(__main__.py): remove unused import of Optional type from typing module
🔧 fix(__main__.py): remove unused import of Process class from multiprocess module
🔧 fix(__main__.py): remove unused import of platform module
🔧 fix(__main__.py): remove unused import of update_settings function
🔧 fix(__main__.py): remove unused import of run_langflow function
🔧 fix(util.py): import logger from langflow.utils.logger module to fix NameError
🔧 fix(util.py): import cpu_count from multiprocess module to fix NameError
🔧 fix(util.py): add default value of None to workers parameter in get_number_of_workers function to fix TypeError