The LLMChain has been commented out in the config.yaml file to disable it temporarily. This change was made to prevent the LLMChain from being used until further notice.
🐛 fix(user.py): make last_login_at field nullable to handle cases where user has not logged in yet
🐛 fix(user.py): set default values for optional fields in UserUpdate model to None to avoid unexpected behavior
The export functionality was removed from the ExtraSidebar component as it was not being used. The tooltip content for the button was also updated to "Import" to accurately reflect its purpose.
fix(ConfirmationModal): add top margin to the confirmation button in the ConfirmationModal component to improve spacing
fix(extraSidebarComponent): change the size prop value of the ShareFlowButton component to "small-h-full" for better visual alignment
fix(extraSidebarComponent): add cursor pointer and click event to the text indicating the sharing status in the ShareFlowButton component to toggle the sharePublic state
fix(extraSidebarComponent): reduce the gap between elements in the ConfirmationModal content for better visual alignment
fix(extraSidebarComponent): change the className of the ExportModal button to "extra-side-bar-buttons" and add an onClick event to trigger the uploadFlow function
fix(extraSidebarComponent): change the className of the ExportModal button to "extra-side-bar-buttons" and add an onClick event to trigger the uploadFlow function
fix(extraSidebarComponent): change the className of the Save button in the ExtraSidebar component to "extra-side-bar-buttons" and add an onClick event to trigger the saveFlow function
fix(StorePage): remove console.log statement in the StorePage component
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
fix(applies.css): remove unnecessary padding-bottom from the .main-page-flows-display class
✨ feat(plugins/base.py): add BasePlugin class with initialize, teardown, and get methods to serve as base class for plugins
✨ feat(plugins/factory.py): add PluginServiceFactory class to create PluginService instance and load plugins
✨ feat(plugins/langfuse.py): add LangfusePlugin class with initialize, teardown, and get methods to serve as a plugin for Langfuse
✨ feat(plugins/service.py): add PluginService class to manage plugins, load plugins, register plugins, get plugins, and teardown plugins
✨ feat(schema.py): add PLUGIN_SERVICE to ServiceType enum to support plugin service
🔧 fix(settings/base.py): add PLUGIN_DIR optional setting to support specifying plugin directory
🔧 fix(utils.py): add import statement for plugins_factory in utils.py to fix import error
🔧 fix(service.py): update import statement for SettingsService to match new file structure
🔧 fix(__init__.py): update import statement for service module to match new file structure
🔧 fix(factory.py): update import statement for SettingsService to match new file structure
🔧 fix(factory.py): update import statement for TaskService to match new file structure
🔧 fix(conftest.py): update import statement for DatabaseService to match new file structure
🔧 fix(chat.py): update import statements for ChatService and BaseCacheService in chat.py to match new file structure
🔧 fix(__init__.py): update import statement for InMemoryCache in __init__.py to match new file structure
🔧 fix(factory.py): update import statement for InMemoryCache, RedisCache, and BaseCacheService in factory.py to match new file structure
🔧 fix(service.py): create new file service.py and move InMemoryCache class from base.py to service.py
✨ feat(service.py): add InMemoryCache class to provide a simple in-memory cache implementation
✨ feat(service.py): add RedisCache class to provide a Redis-based cache implementation
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py): update import statements to reflect changes in file structure
🔨 refactor(factory.py):
📦 chore(service.py): add new file `service.py` to implement DatabaseService class
📦 chore(utils.py): add import statement for DatabaseService in `utils.py`
📦 chore(getters.py): add import statement for DatabaseService in `getters.py`
📦 chore(factory.py): add import statement for SessionService in `factory.py`
📦 chore(service.py): add new file `service.py` to implement SessionService class
📦 chore(service.py): add SettingsService and TaskService classes to handle settings and tasks respectively
🔧 refactor(service.py): refactor load_settings_from_yaml method to load settings from a YAML file and convert keys to uppercase for consistency
🔧 refactor(service.py): refactor get_backend method to return the appropriate backend based on USE_CELERY flag
🔧 refactor(service.py): refactor launch_and_await_task method to handle launching and awaiting tasks based on USE_CELERY flag
🔧 refactor(service.py): refactor launch_task method to handle launching tasks based on USE_CELERY flag
🔧 refactor(service.py): refactor get_task method to get a task based on USE_CELERY flag
🔧 refactor(service.py): refactor check_celery_availability method to check if Celery is available and return its status
🔧 refactor(service.py): refactor USE_CELERY flag to check if Celery is available and set it accordingly
fix(StorePage/index.tsx): fix useEffect dependencies and add missing handleChangeTab function
fix(API/index.ts): rename getNumberOfComponents function to getCountComponents to improve semantics
🐛 fix(EditNodeModal): rename import of TabsState to FlowsState to improve semantics
🐛 fix(formModal): rename import of TabsState to FlowsState to improve semantics
🐛 fix(PageComponent): rename import of TabsState to FlowsState to improve semantics
🐛 fix(reactflowUtils): rename import of TabsState to FlowsState to improve semantics
🐛 fix(utils): rename import of TabsState to FlowsState to improve semantics
🚚 chore(server.ts): change port variable case from lowercase port to uppercase PORT to improve semantics
✨ feat(server.ts): add support for process.env.PORT environment variable to be able to run app on a configurable port
🔧 chore(service.py): include 'last_tested_version' field in the list of fields to retrieve from the store API for better tracking of component versions
🐛 fix(FileLoader.py): fix type annotation for loader_import variable to improve code readability and maintainability
🐛 fix(FileLoader.py): handle case when selected_loader_info is not a dict to prevent potential errors
🐛 fix(UrlLoader.py): fix type annotation for build method return value to improve code readability and maintainability
🐛 fix(UrlLoader.py): fix type annotation for loader_instance variables to improve code readability and maintainability
The logic for updating the `likes_count` and `liked_by_user` state variables in the `handleLike` function was incorrect. This commit fixes the logic to correctly update the state variables based on the previous values. Additionally, it adds error handling for the `postLikeComponent` API call and sets the `likes_count` and `liked_by_user` state variables to their previous values in case of an error.
🐛 fix(service.py): fix incorrect variable name in get_component_likes_count method
🐛 fix(service.py): convert likes count to integer to handle unexpected string values
🐛 fix(service.py): convert component_id to string before sending it in the request payload
The changes were made to fix a bug where the likes count and user like status were not being displayed correctly on the market card component in the StorePage. The previous code was using the wrong variable to set the likes count and user like status. The fix updates the code to use the correct response values from the API call to set the likes count and user like status.
✨ feat(schema.py): update UsersLikesResponse model to include likes_count and liked_by_user fields
✨ feat(service.py): add get_component_likes_count method to retrieve the number of likes for a component
fix(market-card.tsx): add handleLike function to handle liking a component and update the liked_by_user and likes_count states accordingly
fix(market-card.tsx): update the Heart icon to be filled and have a destructive color if the component is liked by the user
fix(market-card.tsx): update the number of likes to be the likes_count state
fix(StorePage/index.tsx): set setErrorApiKey to false to clear any previous API key error
feat(types/store/index.ts): add liked_by_user property to storeComponent type to indicate if the component is liked by the user
🐛 fix(service.py): remove unused user_data parameter in get_liked_by_user_components function
🐛 fix(utils.py): rename in_users_collection attribute to in_user_collection for consistency
✨ feat(store.py): add support for user_data_context context manager to fetch and set user data for requests made inside the context
✨ feat(store.py): add support for in_user_collection attribute in ListComponentResponse schema to indicate if a component is in the user's collection
🐛 fix(store.py): fix get_liked_by_user_components function to use user_data_var context variable instead of making the request multiple times
🐛 fix(store.py): fix get_components_in_users_collection function to use user_data_var context variable instead of making the request multiple times
✨ feat(store.py): add update_components_with_user_data function to update components with user data (liked_by_user and in_users_collection attributes)
🐛 fix(schema.py): remove default value for liked_by_user attribute in ListComponentResponse
The indentation issue in `store.py` was causing the code to execute the wrong logic. The unnecessary comments were removed to improve code readability.
In `schema.py`, the default value for the `liked_by_user` attribute in the `ListComponentResponse` class was removed to ensure that it is only set when needed.