This PR is about the transition from PopupContext to the Radix native
way of handling popups, as well as applying a BaseModal to all of the
modals to improve modularity.
✨ 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
✨ feat(endpoints.py): add support for loading custom components from a specified path
🐛 fix(endpoints.py): fix typo in variable name 'custom_components_from_file'
🐛 fix(endpoints.py): fix typo in variable name 'filtered'
🐛 fix(base.py): fix indentation of raise statement to improve code readability
🐛 fix(component.py): fix indentation of if statements to improve code readability
🐛 fix(load_custom_component_from_path.py): fix indentation of base_path comment to improve code readability
🐛 fix(load_custom_component_from_path.py): fix indentation of base_path assignment to improve code readability
🐛 fix(load_custom_component_from_path.py): fix indentation of validate_code method to improve code readability
🐛 fix(load_custom_component_from_path.py): fix indentation of build_component_menu_list method to improve code readability
🐛 fix(types.py): fix indentation of extract_type_from_optional function to improve code readability
✨ feat(types.py): add support for building custom component templates
✨ feat(types.py): add support for building custom component templates with extra fields
✨ feat(types.py): add support for building custom component templates with function arguments
✨ feat(types.py): add support for building custom component templates with base classes
✨ feat(types.py): add support for building custom component templates with return type
✨ feat(types.py): add support for building custom component templates with exception handling
✨ feat(types.py): add support for building custom component templates from a specified path
🐛 fix(settings.py): fix indentation of set_env_variables method to improve code readability
✨ feat(settings.py): add support for specifying component path in settings
🐛 fix(test_custom_component.py): change variable names and attributes in YourComponent class for better readability and consistency
🐛 fix(test_custom_component.py): reformat code to adhere to PEP8 style guide
🐛 fix(test_custom_component.py): fix syntax error in test_component_get_code_tree_syntax_error()
🐛 fix(test_custom_component.py): fix syntax error in test_custom_component_class_template_validation_no_code()
🐛 fix(test_custom_component.py): fix syntax error in test_custom_component_get_main_class_name_no_main_class()
✨ feat(test_custom_component.py): add test_component_get_function_valid() to test the get_function method of the Component class with valid code and function_entrypoint_name
✨ feat(test_custom_component.py): add test_code_parser_parse_assign() to test the parse_assign method of the CodeParser class
✨ feat(test_custom_component.py): add test_custom_component_class_template_validation_no_code() to test the _class_template_validation method of the CustomComponent class when the code is None
✨ feat(test_custom_component.py): add test_custom_component_get_main_class_name_no_main_class() to test the get_main_class_name method of the CustomComponent class when there is no main class
✨ feat(test_custom_component.py): add test_custom_component_get_function_entrypoint_args_no_args() to test the get_function_entrypoint_args method of the CustomComponent class when there are no arguments
✨ feat(test_custom_component.py): add test_custom_component_get_function_entrypoint_return_type_none() to test the get_function_entrypoint_return_type method of the CustomComponent class when the return type is None
🐛 fix(modals): fix typo in comment in CodeAreaModal
🐛 fix(pages): remove unnecessary empty line in MainPage
🐛 fix(utils): remove unnecessary semicolons in utils.ts
🔧 chore(EditFlowSettingsComponent): refactor handleDescriptionChange to update description in flows array and setDesc state variable
🔧 chore(EditFlowSettingsComponent): update value prop of description textarea to use desc state variable instead of description prop
✨ feat(base.py): add session_getter context manager to handle session creation, rollback, and closure in a more robust way
🔧 chore(base.py): update get_session function to use session_getter context manager for session creation
🐛 fix(chat/manager.py): rename exception variable from e to exc for clarity
🐛 fix(load_custom_component_from_path.py): handle case when file_path does not exist and return None
🐛 fix(load_custom_component_from_path.py): raise CustomComponentPathValueError if directory path is invalid
🐛 fix(load_custom_component_from_path.py): handle case when file_content is None and return error message
✨ feat(endpoints.py): add new endpoint to load custom components from a specified path
📦 feat(load_custom_component_from_path.py): add new module to load custom components from a directory path
🔧 chore(types.py): add function to build and validate custom components from a directory path