* Added loading page
* Removed unused loadings and changed loading to LoadingPage
* Refactored ComponentsComponent to receive info from parent
* refactored headerTabsComponent to receive loading from parent
* Added loading of folders into MyCollectionComponent
* removed unused loading and folderSelected
* updated get config api call to update everything
* Make app wait for autoLogin to be set to execute everything else
* changed API type to not contain params if its undefined
* Updated get autologin to do all logic regarding autologin
* Updated other queries with the new useQueryFunctionType type
* Updated App.tsx with new gets and configurations and added a loader before loading the router
* Made ProtectedRoute refresh on authentication change
* Fixed order of wrappers in order for Auth and API context to have access to router
* Made loading only exist in one place
* 📝 (folders.spec.ts): remove unused test for adding folder by drag and drop to improve test suite cleanliness and maintainability.
* Fixed flow dropping to another folder
* ✨ (folders.spec.ts): add test for adding folder by drag and drop functionality
🔧 (auto-save-off.spec.ts): add click event for "Save And Exit" button
🔧 (dragAndDrop.spec.ts): change dispatchEvent to getByTestId and add assertions for specific text visibility
🔧 (store-shard-3.spec.ts): increase timeout for page.waitForTimeout to improve test reliability
* ✅ (folders.spec.ts): update test description to be more descriptive and accurate
* test: improve timeout for page.waitForSelector in auto-save-off.spec.ts
* feat: add replace button functionality to main page
The code changes include adding the functionality for the replace button on the main page. This allows users to replace a flow or a component. The replace button is now visible on the page, and clicking on it triggers the appropriate action.
Recent user commits:
- test: improve timeout for page.waitForSelector in auto-save-off.spec.ts
- ✅ (folders.spec.ts): update test description to be more descriptive and accurate
- ✨ (folders.spec.ts): add test for adding folder by drag and drop functionality
- 🔧 (auto-save-off.spec.ts): add click event for "Save And Exit" button
- 🔧 (dragAndDrop.spec.ts): change dispatchEvent to getByTestId and add assertions for specific text visibility
- 🔧 (store-shard-3.spec.ts): increase timeout for page.waitForTimeout to improve test reliability
Recent repository commits:
- test: improve timeout for page.waitForSelector in auto-save-off.spec.ts
- ✅ (folders.spec.ts): update test description to be more descriptive and accurate
- ✨ (folders.spec.ts): add test for adding folder by drag and drop functionality
- 🔧 (auto-save-off.spec.ts): add click event for "Save And Exit" button
- 🔧 (dragAndDrop.spec.ts): change dispatchEvent to getByTestId and add assertions for specific text visibility
- 🔧 (store-shard-3.spec.ts): increase timeout for page.waitForTimeout to improve test reliability
- Fixed flow dropping to another folder
- 📝 (folders.spec.ts): remove unused test for adding folder by drag and drop to improve test suite cleanliness and maintainability.
- Made loading only exist in one place
- Fixed order of wrappers in order for Auth and API context to have access to router
- Made ProtectedRoute refresh on authentication change
- Updated App.tsx with new gets and configurations and added a loader before loading the router
- Updated other queries with the new useQueryFunctionType type
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* ✨ (RetrieverTool.py): add "input_types" field to the configuration of the RetrieverToolComponent class
* ✅ (generalBugs-shard-12.spec.ts): add end-to-end test for connecting RetrieverTool to other components in the application.
* ✨ (App.tsx): Add useGetStarterProjectsQuery hook to fetch starter projects data
📝 (constants.ts): Add STARTER_PROJECTS constant to define the endpoint for starter projects API
📝 (use-get-starter-projects.ts): Create useGetStarterProjectsQuery hook to fetch starter projects data
📝 (index.tsx): Add AppWrapperPage test for drag and drop functionality with starter projects data
📝 (starter-projects.spec.ts): Add end-to-end test for drag and drop functionality with starter projects data
* ✨ (starter-projects.spec.ts): update test description to be more descriptive and specific about the test scenario
* ♻️ (App.tsx): remove unused useGetStarterProjectsQuery hook to clean up code and improve readability
* 🔧 (App.tsx): remove unused import useGetStarterProjectsQuery to clean up code and improve readability
* Changed ProtectedRoute to handle refresh token
* Created DashboardWrapperPage to insert header into elements
* Changed routes to be contained by only one ProtectedRoute
* Removed refresh and get version query of App.tsx
* Added loading if user not authenticated in ProtectedAdminRoute
* Changed page layout to not contain header
* Changed AdminPage and FlowPage to not have headers
* Removed unused variables
* Refactored redirectToLastLocation of headerComponent
* Removed unused track last visited path
* changed viewPage to not set onFlowPage since it's used only on header
* Added flow fetching into Playground page
* Fixed back button not working between flows
* Changed duplicate requests to show which request failed
* Refactored useGetBuilds to remove duplicated request
* Re-added get version query and config query
* [autofix.ci] apply automated fixes
* Fix tests that rely on autosave delay
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
✨ (textAreaWrapper/index.tsx): add useEffect hook to focus on input when conditions are met
♻️ (AppWrapperPage/index.tsx): remove unnecessary console.log statement
* Commit to solve Model not loading issue
The issue was that the url of the models: api/tags was not parsed correctly.
It was having a // hence used urlencode to parse it properly.
Th e correct apporach works only if the base_url is correct,i.e a valid ollama URL:
for DS LF this must be a public ollama Server URL.
* updated the component Ollama Component
changed the get model to take in base url and the function will make the expected url for the model names. This makes the function better, than providing the model url as paramter.
Added Pytest, 7 tests, 1 test excluded for future implememtstion: test_build_model_failure
Make lint and Make format had touched multiple files
* removed unwanted print statements
removed unwanted print statements.
make format, formatted a lot of .tsx files also
* removed skipped tests
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: building vertices not working on Safari
* fix: building vertices not working on Safari
* fix: stop build button seems to not work
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Update the border class for the selected node status in the NodeStatus component to "border-2 border-node-selected hover:shadow-node". This change improves the visual representation of the selected node status.
* ✨ (frontend): Add TimeoutErrorComponent to handle timeout errors in API requests
🔧 (frontend): Add healthCheckTimeout state and setHealthCheckTimeout function to utilityStore for managing timeout errors in API requests
* 📝 (constants.ts): add constants for server health check intervals to improve code readability and maintainability
🐛 (use-get-health.ts): fix refetch interval value to use the newly added constant REFETCH_SERVER_HEALTH_INTERVAL for consistency and easier maintenance
* 📝 (api.tsx): Add utilityStore import to improve code organization
📝 (api.tsx): Add createNewError503 function to handle custom 503 errors
📝 (api.tsx): Add AxiosError import for type checking
📝 (api.tsx): Refactor error handling logic for authentication errors
📝 (use-get-health.ts): Add createNewError503 import for custom 503 errors
📝 (use-get-health.ts): Add AxiosError import for type checking
📝 (use-get-health.ts): Refactor error handling logic for server busy status
📝 (index.tsx): Add AxiosError import for type checking
📝 (index.tsx): Add useEffect and useState imports for state management
📝 (index.tsx): Refactor error handling logic for server status and retries
📝 (utilityStore.ts): Add retriesApiRequest state and setRetriesApiRequest function
📝 (axios-error-503.ts): Create function to generate custom 503 error responses
📝 (index.ts): Add retriesApiRequest state and setRetriesApiRequest function to UtilityStoreType
* 🔧 (utilityStore.ts): remove unused retriesApiRequest and setRetriesApiRequest functions to clean up code and improve maintainability
🔧 (index.ts): remove unused retriesApiRequest and setRetriesApiRequest types to keep type definitions consistent and up to date
* ✨ (nginx.conf): add new health endpoint to proxy_pass requests to the backend server for health checks
* ✨ (langflow): Add support for configuring the number of retries for the health check feature. This change introduces a new option `health_check_max_retries` that can be set via environment variable or command line argument to control the maximum number of retries for the health check process.
* check if value is none
🐛 (index.tsx): Fix issue where setEditFolderName was being called with undefined or empty folders array, causing a crash. Added a check to ensure folders array is not empty before setting edit folder names.
* ✅ (dropdownComponent.spec.ts): add missing test case for dropdownComponent to improve test coverage and ensure functionality
🔧 (dropdownComponent.spec.ts): update test case to include additional interactions with the page to simulate user behavior and improve test robustness
* ✅ (dropdownComponent.spec.ts): update mouse wheel scroll distance to 800 to improve test reliability
📝 (dropdownComponent.spec.ts): add additional wait time to ensure stability in test execution
* 🔧 (dropdownComponent.spec.ts): remove unnecessary code related to hovering and scrolling in the dropdown component test to improve test readability and maintainability
* 📝 (langflow): Add support for configuring auto saving interval for Langflow
📝 (langflow): Update ConfigResponse and Settings to include auto_saving_interval
📝 (frontend): Update useGetConfigQuery and useSaveConfig to handle auto_saving_interval
📝 (frontend): Update useAutoSaveFlow and flowsManagerStore to handle auto saving interval
* 📝 (util.py): add support for setting auto_saving_interval in update_settings function to allow customization of auto-saving interval
* 🐛 (users.py): Fix issue where user password was not being updated correctly
📝 (constants.ts, authContext.tsx, index.tsx): Add LANGFLOW_REFRESH_TOKEN constant and update related code to support refresh token functionality
📝 (userManagementModal/index.tsx): Update form reset logic and handle input values correctly
📝 (LoginPage/index.tsx, LoginAdminPage/index.tsx): Update login function to include refresh token parameter
📝 (components/index.ts, auth.ts): Update inputHandlerEventType to support boolean values
✨ (auto-login-off.spec.ts): Add end-to-end test for user login functionality with auto_login set to false, CRUD operations for users, and verification of user flows visibility based on permissions.
* ✨ (auto-login-off.spec.ts): improve test description for better clarity and understanding
📝 (auto-login-off.spec.ts): add comments to clarify the purpose of intercepting requests and performing CRUD operations
* 🐛 (users.py): fix comparison of password to check for None using 'is not None' instead of '!= None' for better accuracy
* Added refresh flows mutation
* Changed places that used refreshFlows to use the mutation
* removed old refreshFlows
* removed readFlowsFromDatabase api call
* Removed unused API calls from API.ts
* Removed getFlowFromDatabase call
* feat: Add NodeIcon component for displaying icons in GenericNode
This commit adds a new component called NodeIcon to the GenericNode module. The NodeIcon component is responsible for displaying icons based on the data type of the node. It uses the nodeIconsLucide object from the styleUtils module to map the data type to the corresponding icon name. The component also handles the display of emojis as icons by checking if the icon is an emoji using the emoji-regex library. The icon color is determined based on the data type using the nodeColors object from the styleUtils module. The NodeIcon component is used in the GenericNode component to render the icon of the node.
* [autofix.ci] apply automated fixes
* feat: Remove useIconNodeRender hook from CustomNodes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Added Validate endpoint
* Added API Code Validate type
* Added post validate code hook
* Used mutation instead of API call to validate code
* Removed validate code api call
* move css class for improve of the UI/UX
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: Add data-testid attribute to main page title
The code changes add a `data-testid` attribute to the main page title in the `PageLayout` component. This attribute can be used for testing purposes.
* refactor: Update page load timeout in end-to-end test
Reduce the page load timeout in the end-to-end test for Basic Prompting to improve test efficiency. The timeout is decreased from 2000ms to 1000ms.
* refactor: Decrease page load timeout in end-to-end test
Reduce the page load timeout in the end-to-end test for Basic Prompting to improve test efficiency. The timeout is decreased from 2000ms to 1000ms.
* refactor: Decrease page load timeout in end-to-end test
* refactor: Update page load timeout in end-to-end test
* refactor: Decrease page load timeout in end-to-end test
* refactor: Decrease page load timeout in end-to-end test
* refactor: Decrease page load timeout in end-to-end test
* refactor: Decrease page load timeout in end-to-end test
* refactor: Decrease page load timeout in end-to-end test
* refactor: Decrease page load timeout in end-to-end test
* refactor: Decrease page load timeout in end-to-end test
Reduce the page load timeout in the end-to-end test for Basic Prompting to improve test efficiency. The timeout is decreased from 2000ms to 1000ms.
* improve tests decreasing and removing time outs
* 🐛 (ComposioAPI.py): Fix issue where build_config was not being updated correctly when api_key is not empty
* 🐛 (GenericNode/index.tsx): Fix potential null pointer exception by adding non-null assertion operator to info property access
✨ (generalBugs-shard-11.spec.ts): Add end-to-end tests to ensure users can use ComposIO without api_key error and connect tools successfully
* ✨ (index.tsx): Add data-testid attribute to the save button for testing purposes
✨ (auto-save-off.spec.ts): Add end-to-end test for manually saving a flow when auto_save is off
* ⬆️ (auto-save-off.spec.ts): decrease wait time from 5000ms to 3000ms for improved test efficiency
* moving auto-save-off test to scheduled folder
* feat: add useGetDownloadFileMutation hook for downloading files
This commit adds a new hook called useGetDownloadFileMutation to handle the downloading of files in the frontend. The hook takes in the path and filename as parameters and uses the fetch API to download the file. It then creates a URL object for the downloaded file and sets it as the href of a dynamically created anchor element. Finally, it triggers a click event on the anchor element to initiate the file download. The URL object is revoked after the download is complete.
* feat: add use-download-files hook for downloading files on chat
This commit adds a new hook called use-download-files to handle the downloading of files in the frontend. The hook takes in the path and filename as parameters and uses the fetch API to download the file. It then creates a URL object for the downloaded file and sets it as the href of a dynamically created anchor element. Finally, it triggers a click event on the anchor element to initiate the file download. The URL object is revoked after the download is complete.
* [autofix.ci] apply automated fixes
* feat: refactor file download handling in chat view
Refactor the file download handling in the chat view by introducing a new hook called `use-download-files`. This hook takes in the path and filename as parameters and uses the fetch API to download the file. It creates a URL object for the downloaded file and sets it as the href of a dynamically created anchor element. Finally, it triggers a click event on the anchor element to initiate the file download. The URL object is revoked after the download is complete.
* remove console.log
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cristhian Zanforlin Lousa <72977554+Cristhianzl@users.noreply.github.com>
* refactor: Update lazy loading imports in routes.tsx
The code changes in `routes.tsx` refactor the lazy loading imports by removing unnecessary code duplication and reorganizing the import statements. This improves the readability and maintainability of the code.
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* ✨ (use-icons-status.tsx): Add data-testid attribute to Loading component for testing purposes
✨ (index.tsx): Add data-testid attribute to stop building button for testing purposes
✨ (stop-building.spec.ts): Add end-to-end test to ensure user can stop a building process
* ✨ (stop-building.spec.ts): Add additional tests to ensure the user can stop a building process successfully and verify the button functionality.
* test(stop-building.spec.ts): Comment out wait timeouts
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* categoring tests
* ✨ (actionsMainPage-shard-1.spec.ts): Add end-to-end tests for selecting and deleting items, searching flows, and searching components on the main page to ensure proper functionality and user experience.
* 📝 (frontend/tsconfig.json): update file paths in include section to match the correct directory structure for scheduled-end-to-end tests.
* 🔧 (typescript_test.yml): update path in the command to change directory to run end-to-end tests in the frontend folder
📝 (typescript_test.yml): improve comments for better readability and understanding of the workflow logic
* add yml configuration to choose folder to run CI
* 🔧 (ci.yml): Fix formatting issues and add support for running tests in a specific folder
📝 (ci.yml): Update job dependencies to improve readability and maintainability of the workflow configuration
* ♻️ (typescript_test.yml): refactor matrix values for shardIndex and shardTotal to reduce redundancy and improve readability
* categoring tests
* ✨ (actionsMainPage-shard-1.spec.ts): Add end-to-end tests for selecting and deleting items, searching flows, and searching components on the main page to ensure proper functionality and user experience.
* 📝 (frontend/tsconfig.json): update file paths in include section to match the correct directory structure for scheduled-end-to-end tests.
* 🔧 (typescript_test.yml): update path in the command to change directory to run end-to-end tests in the frontend folder
📝 (typescript_test.yml): improve comments for better readability and understanding of the workflow logic
* add yml configuration to choose folder to run CI
* 🔧 (ci.yml): Fix formatting issues and add support for running tests in a specific folder
📝 (ci.yml): Update job dependencies to improve readability and maintainability of the workflow configuration
* ♻️ (typescript_test.yml): refactor matrix values for shardIndex and shardTotal to reduce redundancy and improve readability
* 🐛 (fileUploadComponent.spec.ts): fix file path for file upload to correctly locate the test file in the assets folder
* changing test_folder
* ✨ (fileUploadComponent.spec.ts): update file path for file upload test to match new file location in the project structure
* fix input on playwright command
* remove env definition from vite
* add get config query
* add save config hook to add info to autosaving and axios
* Use save config hook to get info
* Create autoSaving variable on flowsManagerStore
* Adds autoSaving from store into every place that used the env variables
* fix wrong url
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* Added new confirmation modal for saving
* Fixed save button
* fixed header classes
* updated docs link
* Added different message to auto saving
* Changed tooltip to appear in saved text, not in button
* Changed tooltip back to previous when auto saving is enabled
* changed auto_save to auto_saving
* Fixed build not appearing and icons
* Changed modal when autosave is enabled
* 🐛 (menuBar/index.tsx): fix condition for disabling save button to include isBuilding flag to prevent saving during build process
* fix current flow not being updated on set nodes and edges and fix modal not letting user leave when flow is empty
* Removed console log
* Fix add flow not adding the flow that comes from the backend
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Cristhian Zanforlin Lousa <72977554+Cristhianzl@users.noreply.github.com>
* feat: Add TableNodeComponent for rendering table data in ParameterRenderComponent
* refactor: Set default formatter type for columns in FormatColumns function
* [autofix.ci] apply automated fixes
* refactor: Improve object rendering in ObjectRender component
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Changed the data type of number field from string to number
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* refactor: add card store component
* refactor: use StoreCardComponent for displaying store cards
* refactor: Remove unused code
* refactor: Update Collection card to fit only to the my collection case
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* add separated component for prompt modal
* refactor: rename promptAreaModal to promptModal and update type import
* refactor: update promptComponent to use PromptModal instead of GenericModal
* refactor: update textarea-primary class in applies.css
* refactor: add ComponentTextModal for displaying and editing text areas
Add a new component, ComponentTextModal, for displaying and editing text areas. This component includes a textarea input, a title, and an icon. It also supports password visibility toggling. The ComponentTextModal is used within a BaseModal component and includes a save button for finishing the editing process. This commit refactors the code to add the ComponentTextModal and its related functionality.
* refactor: Add ComponentTextModal for displaying and editing text areas
* delete genericModal component and their references
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>