📝 docs(custom_component.py): update docstring for better readability and understanding
🔧 chore(custom_component.py): add new file names.txt for locust tests with a list of names for load testing
✨ feat(process.py): introduce SessionManager to handle loading and updating langchain_object sessions
🐛 fix(process.py): update cache with the updated langchain_object after processing graph
🐛 fix(celeryconfig.py): fix condition to check if BROKER_URL and RESULT_BACKEND are present in os.environ before using them, fallback to langflow_redis_host and langflow_redis_port if not present
🔧 fix(worker.py): refactor process_graph_cached into process_graph_cached_task and update function signature and implementation to use SessionManager for loading and updating the graph
✨ feat(manager.py): add initialization for session manager and its dependencies (cache manager and settings manager) to enable session management functionality
🐛 fix(test_process.py): refactor test_load_langchain_object_with_cached_session to use session_manager
🐛 fix(test_process.py): refactor test_load_langchain_object_with_no_cached_session to use session_manager
🐛 fix(test_process.py): refactor test_load_langchain_object_without_session_id to use session_manager
✨ feat(base.Dockerfile): add healthcheck for queue and celeryworker services to ensure their availability
✨ feat(docker-compose.yml): add healthcheck for queue, celeryworker, and flower services to ensure their availability
🐛 fix(docker-compose.yml): fix the path in the command for backend service startup
🐛 fix(flower.env): add missing double quote at the end of C_FORCE_ROOT value
🐛 fix(startup-backend.sh): remove unnecessary --reload flag from uvicorn command and add --workers -1 flag to utilize all available CPU cores
✨ feat(ApiKeysPage): add tooltip and cursor-default to display the full 'Id' value in the table
🐛 fix(ApiKeysPage): fix typo in ConfirmationModal titleHeader from 'Delete User' to 'Delete Key'
✨ feat(ApiKeysPage): add onCloseModal callback to refresh keys after creating a new secret key
✨ feat(App.tsx): add logout function to useContext and handle page refresh to maintain user login state
🐛 fix(SecretKeyModal/index.tsx): add onCloseModal function to handle closing modal when API key is not available
✨ feat(ApiKeysPage/index.tsx): add onCloseModal prop to SecretKeyModal component to refresh API keys after creating a new key
🐛 fix(ApiKeysPage/index.tsx): replace getIdKeyHidden function with directly accessing api_key property in ApiKey object
✨ feat(types/components/index.ts): add onCloseModal function to ApiKeyType type to handle closing modals
🔧 chore(docker-compose.yml): update Redis image version to 7.2.0 for the queue service
🔧 chore(docker-compose.yml): update command for the flower service to use environment variables for Redis connection details
🔧 chore(flower.env): add LANGFLOW_REDIS_PASSWORD environment variable
✨ feat(manager.py): add support for handling service dependencies when creating services
🔧 chore(manager.py): comment out validation for creating services before the settings service
🔧 chore(utils.py): add get_session_manager() function to retrieve the session manager service
🔀 merge(manager.py): refactor _get method to extract logic into _get_without_lock method for code reuse and readability
🔀 merge(manager.py): refactor set method to use _get_without_lock method for code reuse and readability
🔀 merge(manager.py): add lock acquisition in delete method to ensure thread safety
🔀 merge(utils.py): add update_cache method to Memoize class for updating cache values
- Added `SessionManagerFactory` class in `src/backend/langflow/services/session/factory.py` to create instances of `SessionManager`.
- Added `SessionManager` class in `src/backend/langflow/services/session/manager.py` to manage sessions.
- Added `load_session`, `generate_key`, `update_session`, and `clear_session` methods to `SessionManager` to handle session-related logic.
These changes were made to introduce session management functionality to the application.
🐛 fix(cache/factory.py): change variable name from settings_service to settings_manager for consistency and clarity
🐛 fix(database/factory.py): change variable name from settings_service to settings_manager for consistency and clarity
chore(Makefile): update 'install_frontendc' target to remove existing
node_modules and package-lock.json before running 'npm install' to
ensure a clean installation
🔧 fix(base.py): improve readability by removing commented out code and adding line breaks
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and indentation
🔧 fix(base.py): improve readability by adding line breaks and
✨ feat(worker.py): add import statement for SoftTimeLimitExceeded exception from celery.exceptions module to handle SoftTimeLimitExceeded error in build_vertex task
🔀 refactor(base.py): refactor the build method in Vertex class to improve readability and remove redundant code
✨ feat(base.py): add get_task method to Vertex class to retrieve the task from celery using task_id